PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RP6 und Funk



-Lookup-
05.07.2011, 22:18
Hallo,

bevor jetzt wieder die Stimmen laut werden und sagen benutz die suche, das stand hier schon xx mal.
Ich habe die suche benutzt und bin leider nicht schlauer geworden.

Ich möchte nun seit langem wieder mal mit meinem RP6 arbeiten, und möchte ihn per Funk vom PC aus steuern bzw. ihn mit Hilfe eines Programms fahren lassen.

Dazu benötige ich ja 2 Funkboards eins am PC und eins am RP6. Nun stellt sich für mich schon die erste Frage wo her nehmen?

Ich hab hier oft von den RN-Funkboards gelesen das wäre dann ja dieses -> LINK (http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=76&products_id=67)

1. Dort ist ja noch kein Funkchip drin welchen könnte ich denn dafür nehmen, die im Text angeführten finde ich leider nicht(bis auf denn einen aber der ist recht teuer finde ich)

2. Bin ich da überhaupt am richtigen Board für meinen Ansatz?

Wenn ich das schon mal weiß kann ich abschätzen was der Spaß kosten würde.


Wie ich es am Ende mit PC und RP6 verbinde kommt dann ja später....
Als Info am Rande von Beruf bin ich Programmierer also in der Hinsicht kein Problem nur das löten wurde mir nicht in die Wiege gelegt.
Vielen Dank schon einmal für eure Hilfe.

Che Guevara
05.07.2011, 22:25
Hallo,

wie wärs mit dem BTM222? Auf dem RP6 bräuchtest du nur eine 3V3 Quelle und einen Pegelumsetzer (CD4093 o.ä.). Auf der PC-Seite eine 3V3-Quelle und einen Pegelwandler (Max232 z.b.). Diese Module finde ich sehr günstig; ich habe mir vor kurzer Zeit auch 2 Stck. bei e++y geordert, funktionieren tadellos :D

Gruß
Chris

-Lookup-
05.07.2011, 22:42
Danke für deine Antwort.

Wenn ich das richtig verstanden habe ist das BTM222 Bluetoothmodul oder ?
Kannst du mir kurz erklären wie das ganze nun zusammen arbeitet ?
Meldest sich das dann als COM Port am PC an ?

Fehlen würde mir da aber auch ein Board wo das ganze drin stecken würde...

Fabian E.
06.07.2011, 18:59
Hey,
ich hatte genau das selbe Problem wie du, bin selbst Programmierer, habe aber nicht so super viel Ahnung von Elektrotechnik.
Wenn du wirklich die fertige Lösung zum zusammenstecken haben willst, dann gibt etwas mehr Geld aus und nimm die RN-Funk-Platinen.
Liefen bei mir auf Anhieb.

Du würdest allerdings *wesentlich* billiger wegkommen, wenn du dir den ganzen Kram selbst zusammenbaust (wie z.B. die BTM's).

RN-Funk kostest ein fertiges Modul(mit Funk-Chip) je nach Chipart zwischen 63€ und 75 €. Mit richtigen Antennen noch mal 20€ mehr je Modul.
Ich habe das zum Glück wesentlich billiger von einem Privatmann bekommen, da hat mich im Endeffekt ein Modul nur etwa 40€ gekostet (statt 95€)

Musst du dir halt überlegen, was du willst :)

-Lookup-
06.07.2011, 19:04
Der nachteil dort wäre aber auch das ich nicht einfach mein android smartphone nehmen kann und damit meinen robby steuern kann. ich finde die idee mit dem bluethooth eigentlich besser. kennt nicht jemand einen shop oder jemand der für mich löten würde ? natürlich würde ich dafür auch etwas bezahlen.


Ich hab gerade bei eDoof was gefunden und weiß nicht genau ob das jetzt schon ein ganzes Board ist ?

LINK (http://cgi.ebay.de/BX-BTM-222-BTM222-Bluetooth-Modul-SPP-CLASS1-100m-/170662404127?pt=Wissenschaftliche_Geräte&hash=item27bc45a01f)

Wäre das etwas ?

Fabian E.
06.07.2011, 19:39
Nein, das sieht so aus, als ob du das Teil nur an deinen PC anschließen kannst (von den Interface-Spannungen her, +-12)

-Lookup-
06.07.2011, 19:45
Du kannst sie aber laut anleitung Link (http://www.bexpro.de/ebay/artikel/bx-btm222/BX-BTM222-manual.pdf) auch auf 5 V stellen was ja perfekt wäre oder ?

Ausgänge bzw. Ports sind alle doch da oder ?

Fabian E.
06.07.2011, 19:50
Du kannst sie aber laut anleitung Link (http://www.bexpro.de/ebay/artikel/bx-btm222/BX-BTM222-manual.pdf) auch auf 5 V stellen was ja perfekt wäre oder ?

Ausgänge bzw. Ports sind alle doch da oder ?

Nein, es geht nicht um die Eingangsspannung, sondern um die Datenports. Die laufen mit +-12V du brauchst aber auch hier 5V :)

Fabian E.
06.07.2011, 19:54
Ach übrigens... Wie viel Erfahrung im Programmieren hast du denn? Wie siehts mit Android aus? Schonmal was mit .NET gemacht?
Android Fernsteuerung fände ich genial, da ich aber leider nur .NET programmiere und kein Java kann ich das nicht selbst.
Hast du schon meine Fernsteuerung für Windows gesehen? (-->Signatur)

-Lookup-
06.07.2011, 20:03
Ja habe ich schon bemerkt. Programmier seit dem es C# gibt eigentlich nur damit und habe bei Android 1.5 mit dem guten alten G1 angefangen und besitze mitlerweile eine kleine sammlung an Android geräten ( neustes mitglied ist ein Tablet mit Android 3.1).

Wenn du lust hast und ich finde die richtige hardware können wir gerne gemeinsam eine App entwickeln.

Back to Topic:

Ich brauche halt ein Board das mir die möglichkeit gibt per Bluetooth zu senden bzw. zu empfangen und mein großes problem ist ganz einfach das löten ^^
Ich habe es zwar in der schule gelernt aber habe selbst nie so einen draht dazu gehabt :D

Zu diesem Ebay fund :

Muss ich also weiter suchen ... naja schade dachte ich hätte glück.

Fabian E.
06.07.2011, 20:07
Okay pass auf, mein Angebot :)
Wir basteln zusammen auf jeden Fall eine Android app. Und zwar basierend auf meinem oder einen Ähnlichen Protokoll (Remotrol)
Da Remotrol in C# geschrieben ist, kannst du mir dort gerne auch helfen (komplett in WPF im Moment, hat kaum noch was mit dem Remotrol hier aus dem Forum zu tun ;) )

Damit hätten wir dann Software für Windows und Android. :) Die Software für den RP6 habe ich ja schon.
Da können wir natürlich jenachdem was du da vorhast auch was anpassen :)

-Lookup-
06.07.2011, 20:09
Bleibt aber noch das Hardware Problem ^^

Wie willst du das lösen ?

Fabian E.
06.07.2011, 20:11
Das klappt schon ;) Die BTM's sind ja ziemlich billig, ich werde mich mal schlau machen.
Hast du irgendwas, was du für Android gemacht hast? So zum zeigen? :)

-Lookup-
06.07.2011, 20:16
Nichts was öffentlich zugänglich ist, halt nur programme für den intern betrieb. Da kann ich dir auch nix von geben.

Aber ich kann dir jetzt schon mal sagen das wen du OOP verstanden hast und mit C# gut klar kommst sollte Java und android nicht so das problem sein^^

Einzelheiten sollten wir vllt. wo andes klären e-mail oder co.

Mich beschäftigt halt die sache mit der hardware, wenn jemand mir das löten könnte oder halt wüsste woher ich es beziehen kann wäre das echt super ;)

Fabian E.
06.07.2011, 20:18
http://support.diamondback-development.de/index.php
Melde dich an :)
Achso: Welches Handy hast du denn? :P

-Lookup-
06.07.2011, 20:22
Also hier liegt ein HTC Dream alias G1 rum ein motorola milestone ein HTC Desire Z aka G2 und halt ein Iconia a 500 Tab.

Kann aber dank meiner bekannt auf eine reihe mehr handys zurückgreifen.

Melde mich gleich mal an ...

Hast du denn auch ein Android Handy ?

Fabian E.
06.07.2011, 20:23
Desire HD ;)
Und zur Not noch ein normales Desire zum Testen :)

-Lookup-
06.07.2011, 20:27
Root ? Customrom ?

Nur mal so als info am rande für mich.


@All

Wenn noch jemand etwas zu tehma hardware beitragen kann würde ich mich darüber freuen :)

Fabian E.
06.07.2011, 20:28
Mit-Entwickler von Virtuous Unity. Falls es dir nichts sagt, nimm Google :P

-Lookup-
06.07.2011, 20:30
Doch sagt mir was bin aber ehr für das reines Android :P Also bleib mir weg mit Sense

Fabian E.
06.07.2011, 20:32
Sense 3 ist super :) Aber damit kommen wir vom Thema ab ;)
Und deshalb hier hoffentlich meine hardware Lösung: http://plischka.at/Funk_Bluetooth.html
Ich habe dem Inhaber der Website mal geschrieben, lies die Seite, dann weißt du warum :)

-Lookup-
06.07.2011, 20:41
Okay der Herr von der Webseite verschickt auch platinen allerdings ist die beschreibung auf dder seite für mich noch etwas undurchsichtig was genau am ende bei ihm rauskommt, muss noch mal genau nach lesen

Fabian E.
06.07.2011, 20:43
Deswegen habe ich ihm eine Email geschrieben :)
1:Wie teuer.
2. Welche Spannungen. Da die Eingangsspannung 5V ist sollte der Rest das auch sein.

-Lookup-
06.07.2011, 20:56
Dann gib mir mal bescheid wenn du die Infos hast am besten einfach hier per pm oder im thread bin jetzt ers ma off hab das forum aber im Blick ;)

Fabian E.
06.07.2011, 21:27
Okay, hier noch eine Möglichkeit: http://www.bluecontroller.com/index.php?option=com_content&view=article&id=21:pin-configuration&catid=6:bca8-btm&Itemid=18
Das Teil wäre zwar voll der Overkill wegen dem eigenen Prozessor, kostet aber etwa 25 € und dürfte unsere Zwecke auch erfüllen.

Hier noch ein Shop-Link: http://rf-store.com/index.php?page=shop.product_details&product_id=61947&flypage=flypage-ask.tpl&pop=0&option=com_virtuemart&Itemid=2&lang=de

EDIT: In der Bucht sogar nur 16€ http://cgi.ebay.de/ATMEGA88PA-AVR-Bluetooth-virt-COM-BTM-222-100m-/140516264019

-Lookup-
06.07.2011, 21:36
Da musste ich doch glat noch mla on kommen das Eb** angebit ließt sich echt gut , ist die frage in wie weit der Prozessor dort noch stört oder was man mit ihm noch anstellen könnte ?


Wie gesagt mit Hardware kenn ich mich nicht soooo gut aus, das müsstest du mehr oder weniger entscheiden ....

Fabian E.
06.07.2011, 21:42
Laut Pinbeschreibung sieht es so aus, als ob man die RX/TX Pins auch ohne den Prozessor nutzen könnte.
Für 16€ ist mir ein brach liegender Prozessor ziemlich egal :)
For allem weil man den dann wahrscheinlich per ISP programmieren müsste. (wofür ich kein Kabel besitze)

EDIT: Jap, sieht so aus als wären die RX/TX-Pins direkt auch nach außen verlegt. Und programmiert wird das Ding (Controller) per ISP.
Sollte also kein Problem sein, den Controller einfach zu ignorieren.

Che Guevara
06.07.2011, 21:59
Hallo,

falls interresse besteht, könnte ich dir 2 Platinen als Adapter für die BTMs zum Selbstkostenpreis ätzen? Die eine nur mit Pegelwandler für den RP6 und die andere mit MAX232, um sie an den PC anschließen zu können.. Nur so als Angebot ;)

Gruß
Chris

Fabian E.
09.07.2011, 15:49
Okay, ich denke, dass die Platine von Lynx-Dev die bessere Wahl ist.
Mit 22€ auch durchaus bezahlbar.

http://rf-store.com/index.php?page=shop.product_details&flypage=flypage-ask.tpl&product_id=61947&category_id=0&option=com_virtuemart&Itemid=2&lang=de

Ich mag diese Platine aus einem einfachen Grund lieber.
Sie hat CTS und RTS. Damit wäre es also auch möglich den RP6 über Bluetooth zu flashen. Das geht mit meiner jetzigen Funk-Lösung nämlich nicht. Auch mit der anderen Platine wäre das nicht so einfach möglich. CTS und RTS sind dort gar nicht erst angeschlossen.
Der freundliche Support von Lynx-Dev sagte mir, dass diese Adapterplatine (ohne AVR) ab Montag wieder zu haben sei. Ich werde mir einfach mal eine bestellen und testen :) Dazu dann noch einen netten CLass I USB Dongle und das sollte laufen :)

AsuroPhilip
09.07.2011, 17:16
Hi

habe auch das Btm222 von der Seite! Nur wie muss ich es anschließen, um den RP6 damit zu flashen :confused:

mfG
Philip ;)

Ingo1988
10.07.2011, 14:38
Hey,
ich bin jetzt seit kurzem auch wieder mit dem BTM222 beschäftigt.
Allerdings weiß ich nicht wie ich die Baudraten von BTM222 und RP6 auf eineinander anpasse. Den Adapter um die Baudrate des Bluetoothmodul einzustellen habe ich leider nichts, so dass ich nach Möglichkeit den RP6 auf 19200 einstellen möchte.

Also habe ich in der Main folgenden Code eingefügt


initRP6Control();

#define BAUD_19200 19200
#define UBRR_BAUD_19200 ((F_CPU/(16*BAUD_LOW))-1)

UBRRH = UBRR_BAUD_19200 >> 8;
UBRRL = (uint8_t) UBRR_BAUD_19200;

Ich habe allerdings das Gefühl das die Baudrate nach wie vor auf 38400 steht. Kann mir jemand sagen woher das kommt?
Da das Terminal weiterhin die Daten korrekt anzeigt. Und auch die Fernbedienung von Fabian kann nur verbinden wenn die Baudrate auf 38400 steht... wenn ich mit Baud 19200 verbinden möchte sagt er das die Daten falsch sind..!!

Ich hoffe einer von euch kann mir helfen!

Lieben Gruß

radbruch
10.07.2011, 15:26
Hallo

Die 38400 Baud stehen im Bootloader des Mega32 und werden nach jedem Reset vor dem Verbindungsaufbau gesetzt. Wenn man dann ein neues Programm übertragen will, wird die Baudrate sogar noch auf 500000 Baud erhöht. Nur wenn dein BT-Modul das auch kann ist ein Flashen über BT möglich.

BAUD_LOW ist in der Formel nicht richtig:
#define UBRR_BAUD_19200 ((F_CPU/(16*BAUD_LOW))-1)

weil es so definiert ist:

#define BAUD_LOW 38400 //Low speed - 38.4 kBaud

Richtig wäre deshalb
#define UBRR_BAUD_19200 ((F_CPU/(16*BAUD_19200))-1)

Gruß

mic

P.S.: BT-Module kann man häufig mit AT-Befehlen parametrieren:
http://www.google.de/search?q=at-befehle+bluetooth

Fabian E.
10.07.2011, 17:04
Hallo

Die 38400 Baud stehen im Bootloader des Mega32 und werden nach jedem Reset vor dem Verbindungsaufbau gesetzt. Wenn man dann ein neues Programm übertragen will, wird die Baudrate sogar noch auf 500000 Baud erhöht. Nur wenn dein BT-Modul das auch kann ist ein Flashen über BT möglich.

Naja, sowohl in meinem eigenen, als auch im originalen Loader kann man den langsamen Flash aktivieren. Damit kann man auch über 38400 Baud flashen. So langsam ist das auch gar nicht :)

radbruch
10.07.2011, 17:46
...kann man den langsamen Flash aktivierenAch ja, den Parameter habe ich vergessen (weil nie genutzt). Bitte entschuldigt die Fehlinformation.

Fabian E.
10.07.2011, 17:50
Habe ich auch nur durch Zufall gefunden :) Lässt sich zur Not aber echt mit arbeiten, ob es jetzt 0,5 Sekunden oder 2 dauert macht nicht wirklich einen Unterschied :)

Ingo1988
10.07.2011, 18:04
hey,
danke für die schnelle antowrt! das habe ich jetzt eingebunden, mit dem ergebnis dass ich weder mit 19200 noch mit 38400 baud die korrekten Zeichen angezeigt bekomme. auch wenn ich die Daten die der RP6 sendet mit dem mitgelieferten Adapter und HTerm auslese kommen nur Hieroglyphen...

Kann man die Baudrate des RP6 vllt nicht einfach so umstellen? oder gibt es vllt sonst noch was zu beachten??

Ich danke euch für eure Unterstützung!

Lieben Gruß Ingo

radbruch
10.07.2011, 18:23
Ich kann den Fehler grad nicht erkennen. Grundsätzlich kann man natürlich jede beliebige Baudrate einstellen. Hier ein Beispiel für 2400 Baud:
https://www.roboternetz.de/community/showthread.php?29313-gel%F6st-Einfache-IR-Kommunikation-f%FCr-den-RP6

Da mache ich eigentlich auch nichts anderes als du oben, oder?

Fabian E.
10.07.2011, 18:30
hey,
danke für die schnelle antowrt! das habe ich jetzt eingebunden, mit dem ergebnis dass ich weder mit 19200 noch mit 38400 baud die korrekten Zeichen angezeigt bekomme. auch wenn ich die Daten die der RP6 sendet mit dem mitgelieferten Adapter und HTerm auslese kommen nur Hieroglyphen...

Kann man die Baudrate des RP6 vllt nicht einfach so umstellen? oder gibt es vllt sonst noch was zu beachten??

Ich danke euch für eure Unterstützung!

Lieben Gruß Ingo

Warum änderst du die Baud-Einstellung nicht einfach in der Lib? Dort wird sie ja auch eigentlich festgelegt :)

Ingo1988
10.07.2011, 18:56
ich habe auch keinen unterschied festgestellt... was ich besonders merkwürdig finde, dass wenn ich die baudrate auf 19200 stelle und das mitgelieferte verbindungskabel usb-rp6 verwende bekommt er mit HTerm nicht einmal die korrekten Daten, wenn ich im Programm nur die 19200 durch 38400 ersetze und in Hterm die gleiche Änderung vornehme funktioniert es einwandfrei...

Wo kann ich direkt in der Lib die Baud ändern?

Danke für eure Hilfe

radbruch
10.07.2011, 19:01
In der Datei RP6Control.h (bzw. RP6RobotBase.h) ziemlich am Ende:


// Standard Baudrates for RP6:

#define BAUD_LOW 38400UL // Low speed - 38.4 kBaud
#define UBRR_BAUD_LOW ((F_CPU/(16*BAUD_LOW))-1)

#define BAUD_HIGH 500000UL // High speed - 500 kBaud
#define UBRR_BAUD_HIGH ((F_CPU/(16*BAUD_HIGH))-1)

Ingo1988
10.07.2011, 19:49
Hey,
ich habe jetzt hinter die baudrate einfach noch UL angehängt wie in dem Beispiel von radbruch und jetzt läufts.
Kann mir zufällig jemand sagen wofür das steht?
Und mich würde interessieren, ob ihr sagen würdet, dass eine Datenübertragung von 19200baud reicht oder ob man die erhöhen sollte.

@fabian: liegt es an der zu geringen datenrate oder das ich eine zu alte version deiner fernbedienung habe, dass das Programm im Fahrbetrieb nicht immer auf meine befehle hört?

Lieben Gruß

Fabian E.
10.07.2011, 20:12
Hey,
ich habe jetzt hinter die baudrate einfach noch UL angehängt wie in dem Beispiel von radbruch und jetzt läufts.
Kann mir zufällig jemand sagen wofür das steht?
Und mich würde interessieren, ob ihr sagen würdet, dass eine Datenübertragung von 19200baud reicht oder ob man die erhöhen sollte.

@fabian: liegt es an der zu geringen datenrate oder das ich eine zu alte version deiner fernbedienung habe, dass das Programm im Fahrbetrieb nicht immer auf meine befehle hört?

Lieben Gruß

Das liegt an vielem... Vor allem aber an der unzureichenden Softwarekorrektur ;)
Wenn ich bloß Zeit finden würde die nächste Version fertig zu machen... Da ist das alles schon behoben...

Ingo1988
11.07.2011, 13:27
Hey,
das klingt aber ja grundsätzlich schonmal sehr gut!
somit liegt es nicht an der Bluetooth Verbindung und der geringen Baudrate sondern an dem Programm.

Vielen Dank für deine Hilfe...

PS.: Ich wäre auch gerne bereit an der Fernbedienung mitzuarbeiten...;) sofern du Aufgaben zu verteilen hast. da ich jetzt grad Praxissemester habe hab ich auch mehr als genug Zeit;)

Lieben Gruß

Fabian E.
11.07.2011, 15:55
gerne :) ich suche händerigend nach Leuten die Lust haben mir zu helfen.
Wie siehts denn so aus mit C# und WPF? Schon mal gehört? Schon mit gearbeitet? Selbst erfunden? :D

Ingo1988
11.07.2011, 17:00
Hey,
leider noch nicht benutzt;) aber immer nur sachen zu machen die man schon kann ist auch ziemlich langweilig;)
aber wenn man weiß womit man es zu tun hat sollte das rein arbeiten ja nicht soo lange dauern...;)

Lieben Gruß

Fabian E.
11.07.2011, 17:07
Okay, C# an sich ist recht einfach, WPF allerdings erfordert ziemliches Umdenken ;) Je nachdem was man vorher gemacht hat.
Aber in der Tat kann man die Arbeit im Moment super gut aufteilen. Es fehlen nämlich noch mehr oder weniger alle 'Zusatz-Fenster' für die neue Version.
Da kann man sicherlich auch als Anfänger ein bisschen herumbasteln.

Geh doch einfach mal in meinen Thread und lade dir den Sourcecode von Sourceforge herunter ;)

Ingo1988
11.07.2011, 17:19
runtergeladen habe ich die dateien im ordner RP6 Remotrol 1.3, wie kann ich dich denn unterstützen...bzw. welche weise empfiehlst du zum einarbeiten in das thema?

Lieben Gruß

AsuroPhilip
11.07.2011, 19:48
Wenns möglich wäre, wurde ich auch gerne mitmachen :cool:

Habe schon viel Erfahrung mit C# und WPF ist lernbar :p


mfG
Philip ;)

Fabian E.
12.07.2011, 16:31
Also, das Modul ist bestellt. Sollte vielleicht schon morgen da sein :)
Ob und wie wir hier ein kleines Team bilden besprechen wir wenn das Thema hier erledigt ist :)

Fabian E.
14.07.2011, 17:53
Okay, also das Modul klappt soweit :)
Die Pinbelegung ist zwar scheinbar etwas komisch, aber es geht jetzt.
Werde mir dann jetzt wohl mal ein paar Kabel basteln um das ganze an den RP6 zu hängen.

AsuroPhilip
14.07.2011, 18:05
@Fabian Jo, bei mir klappts gut nur:

- Was hast du vor Antennenmäßiges daranzuhängen?
- Flashen tuts noch nicht habe in deinem Programm noch ein "-slow" darangehängt, stellt nur Verbindung her und findet trotz offene Verbindung den RP6 nicht! Dein Remote programm funktioniert damit fehlerlos ;->


mfG
Philip

Fabian E.
14.07.2011, 18:20
Bei mir auf dem Adapter ist eine Chip-Antenne drauf, ich brauche also keine mehr.
Mit dem Flashen werde ich mir mal ansehen :)

Fabian E.
14.07.2011, 19:09
@Fabian Jo, bei mir klappts gut nur:

- Was hast du vor Antennenmäßiges daranzuhängen?
- Flashen tuts noch nicht habe in deinem Programm noch ein "-slow" darangehängt, stellt nur Verbindung her und findet trotz offene Verbindung den RP6 nicht! Dein Remote programm funktioniert damit fehlerlos ;->


mfG
Philip

Hm,ja flashen kann nicht klappen...
Trotz durchgereichtem RTS Signal wird der RP6 nicht resetet.
Da muss es irgendwo noch einen Haken geben. Werde mal bei der Firma fragen.

Ingo1988
14.07.2011, 20:03
hey,
ich habe jetzt mal in java eine einfach fernsteuerung programmiert und da tritt auch oft der Fehler auf, dass der Roboter die Verbindung verliert.
Weißt du voran es liegt? für den Roboter habe ich das Programm verwendet, was auch Fabian für die Fernbedienung verwendet.

Ist da noch eine Schwachstelle in diesem Programm für den RP6? oder muss man ggf damit leben dass die Verbindung öfter mal abreißt?

Lieben Gruß
Ingo

Fabian E.
14.07.2011, 20:15
Was verstehst du denn unter 'abreißen'? Meine C-Programme kümmern sich nicht um irgendwelche Verbindungen. Die senden einfach wild drauf los ;)

Ich denke also, dass eher die Bluetooth-Verbindung dein Problem ist. :)

Ingo1988
14.07.2011, 20:21
Bei mir ist jetzt das Problem, dass nach einer unbestimmten Zeit ein Fehler mit der Verbindung auftaucht... ich weiß auch nicht genau woran es liegt... ob an Problemen mit Bluetooth an sich. Das wäre ja relativ schwer zubeheben, weil keine Software. Aber ich werde das nochmal prüfen.

@ Fabian: Und mich würde interessieren, warum du die Fernbedienung in C# geschrieben hast. Bringt das irgendwelche Vorteile oder ist java genau so gut dazu geeignet?

Lieben Gruß

AsuroPhilip
14.07.2011, 20:26
Habe auch noch ein Problem: !!Reichweite!!

Irgendwas stimmt mit meinem BTM nicht. Ich habe trotz Class 1 nur 4-6m, dann flutsch....Verbindung weg :(

Habe ein 3,1cm langer Draht am BTM festgelötet (roter Punkt):
19331

Habe aber trotzdem nur so eine geringe Reichweite, woran kann es liegen?
Ist es normal das GND und "der rote punkt" zusammen sind (Kurzschluss)?


mfG
Philip

Fabian E.
14.07.2011, 20:35
Bei mir ist jetzt das Problem, dass nach einer unbestimmten Zeit ein Fehler mit der Verbindung auftaucht... ich weiß auch nicht genau woran es liegt... ob an Problemen mit Bluetooth an sich. Das wäre ja relativ schwer zubeheben, weil keine Software. Aber ich werde das nochmal prüfen.

@ Fabian: Und mich würde interessieren, warum du die Fernbedienung in C# geschrieben hast. Bringt das irgendwelche Vorteile oder ist java genau so gut dazu geeignet?

Lieben Gruß

Naja, C# hat den Vorteil, dass es C# ist :P
.NET ist generell meine Lieblings-'Umgebung', da ist alles so schön einfach :)
Mit java sollte das aber natürlich auch klappen... Du musst nur mit einer seriellen Schnisttstelle kommunizieren können.

Fabian E.
14.07.2011, 20:36
Habe auch noch ein Problem: !!Reichweite!!

Irgendwas stimmt mit meinem BTM nicht. Ich habe trotz Class 1 nur 4-6m, dann flutsch....Verbindung weg :(

Habe ein 3,1cm langer Draht am BTM festgelötet (roter Punkt):
19331

Habe aber trotzdem nur so eine geringe Reichweite, woran kann es liegen?
Ist es normal das GND und "der rote punkt" zusammen sind (Kurzschluss)?


mfG
Philip
Besord dir ne anständige Antenne ;) Entweder eine Chipantenne oder löte eine an die SMA-Buchse da.

AsuroPhilip
14.07.2011, 20:52
Besord dir ne anständige Antenne :wink:

Hab ich vor, kannst du mir einen Link zur einer anständigen Antenne geben?


mfG
Philip

Fabian E.
14.07.2011, 20:58
Bei mir ist diese hier vorinstalliert:
http://rf-store.com/index.php?page=shop.product_details&flypage=flypage-ask.tpl&product_id=61938&category_id=123&option=com_virtuemart&Itemid=2&lang=de

Musst du dann aber sehen, wie du das aktiviert bekommst. :)

AsuroPhilip
14.07.2011, 21:05
Ich meinte eigentlich für die sma-Buchse, oder sind diese Chip-antennen (viel) besser?

Würde die gehen: http://www.reichelt.de/ (http://www.reichelt.de/WLAN-Antennen-Kabel/LAN-WL-IW151S/index.html?;ACTION=3;LA=444;GROUP=ECB3;GROUPID=772 ;ARTICLE=46860;START=0;SORT=artnr;OFFSET=16;SID=13 ThxhGH8AAAIAAFzphIA2aac7520cca83f172b82fa296bb4039 7)..... ?

Edit:
Ist es normal das GND und "der rote punkt" zusammen sind (Kurzschluss)?

Ingo1988
15.07.2011, 07:41
Hey, ja ich schreibe das jetzt mal in java. Ich wollte auch die komplette Auswertung der Sensordaten darüber laufen lassen;) dann hat man mal eine interessante Beschäftigung;)
Außerdem hat java den Vorteil, dass man es sehr leicht in andorid abändern kann;)
Ich habe zur Zeit auch nur ein Stück Kabel als Antenne dran. Ich weiß aber nicht genau ob meine Verbindungsabbrüche darauf zurückzuführen sind. Denn ich kann 15m überbrücken ohne das die Verbindung abbricht. Es kann aber auch sein, dass bei 1m Entfernung die Verbindung abbricht.

Was empfehlt ihr denn als Antenne?

Lieben Gruß

Ingo

AsuroPhilip
15.07.2011, 11:22
Um nochmal auf dem Kurzschluss zurückzugreifen, muss ich vielleicht noch Jumper setzen?

19333


mfG
Philip

Fabian E.
15.07.2011, 16:38
Okay, also flashen wird definitv NICHT gehen, da der BTM-222 RTS nicht über Bluetooth unterstützt.
Keine Chance also da was zu machen.
Ich könnte mir die Adapterplatine mit dem AVR drauf besorgen und damit was kleines programmieren,
das würde dann allerdings auch nur mit meinem eigenen Loader klappen. :)

Eine gute Nachricht habe ich aber noch, die Perfomance des Moduls ist wesentlich besser.
Ich habe gestern mal 20.000 Pakete über Remotrol gesendet und keine einzige Übertragung ist fehlgeschlagen.
So soll das sein :)

AsuroPhilip
15.07.2011, 21:12
Habe schon viel Erfahrung mit C# und WPF ist lernbar :p

So ich habe jetzt den Dreh raus ;)
19376
19377


mfG
Philip ;)

Ingo1988
20.07.2011, 19:45
Hey,
ich bin nach wie vor dabei, ein ähnliches Programm wie Fabian geschrieben hat in Java umzusetzen. Dabei geht es soweit auch ganz gut voran. Allerdings lege ich dabei mehr Wert auf Funktionalität als auf Optik;) Das steuern über den PC funktioniert bereits fehlerfrei. Als nächstes werde ich die Auswertung wie bei dem Beispiel Programm programmieren, allerdings so, dass der PC die erforderlichen Daten berechnet und diese dann an den RP6 sendet. Jedoch wird dieses Programm nicht so individuell auf verschiedene Hardwarespezifikationen anpassbar sein wie das von Fabian.

Und dazu hätte ich jetzt auch noch eine Frage:
Hat jemand von euch Erfahrung, bei welcher Baudrate man über Bluetooth die meisten Daten an den RP6 senden kann, ohne das es zu vielen Übertragungsfehlern kommt?

Lieben Gruß

Ingo Hunfeld

AsuroPhilip
20.07.2011, 21:00
Hi,


ich bin nach wie vor dabei, ein ähnliches Programm wie Fabian geschrieben hat in Java umzusetzen.
Ich habe auch so etwas wie Fabian gemacht, aber auch in C# (ich kann leider kein Java und C# habe ich halt in der Schule gelernt ;->)


Allerdings lege ich dabei mehr Wert auf Funktionalität als auf Optik:wink:
Man kann ja auch genauso viel Optik wie Funktionalität machen ;) (Aber ich weiß ja nicht wie das mit der Optik in Java ist.)


allerdings so, dass der PC die erforderlichen Daten berechnet und diese dann an den RP6 sendet.
Wie meinst du das ??



Jedoch wird dieses Programm nicht so individuell auf verschiedene Hardwarespezifikationen anpassbar sein wie das von Fabian.
Man muss ja nicht immer alles öffentlich machen ;-> Es brauch ja dann nur für dich zu sein :) oder meinst du mit der M32/128 ?


Hat jemand von euch Erfahrung, bei welcher Baudrate man über Bluetooth die meisten Daten an den RP6 senden kann, ohne das es zu vielen Übertragungsfehlern kommt?


Ich benutze 56700bps, weil es halt ein bisschen schneller ist (aber nicht übertreiben) und Fehler hatte ich noch keine (innerhalb 6m, ich warte bis die Reichelt bestellung hier ist, dann hab ich ne Antenne)


mfG
Philip ;)

Fabian E.
20.07.2011, 22:13
Hey,
ich bin nach wie vor dabei, ein ähnliches Programm wie Fabian geschrieben hat in Java umzusetzen. Dabei geht es soweit auch ganz gut voran. Allerdings lege ich dabei mehr Wert auf Funktionalität als auf Optik;) Das steuern über den PC funktioniert bereits fehlerfrei. Als nächstes werde ich die Auswertung wie bei dem Beispiel Programm programmieren, allerdings so, dass der PC die erforderlichen Daten berechnet und diese dann an den RP6 sendet. Jedoch wird dieses Programm nicht so individuell auf verschiedene Hardwarespezifikationen anpassbar sein wie das von Fabian.

Und dazu hätte ich jetzt auch noch eine Frage:
Hat jemand von euch Erfahrung, bei welcher Baudrate man über Bluetooth die meisten Daten an den RP6 senden kann, ohne das es zu vielen Übertragungsfehlern kommt?

Lieben Gruß

Ingo Hunfeld
Also von mir aus können wir gerne ein kleines Team mit ein paar Mann aufmachen, was an Remotrol arbeitet :)
Natürlich nur wenn ihr das wollt, Ihr könnt natürlich auch gerne an euren eigenen Sachen basteln :)

Zum Theme Baudrate... Habe testweise mal von 38,4kBaud auf 115k umgestellt und das hat kaum eine Geschiwndigkeitsverbesserung gebracht.
Allerdings habe ich seit dem den ein oder anderen Übertragungsfehler. Diese Fehler sind aber nicht wirklich Fehler sondern mehr Fehler in meiner Abarbeitungslogik ;)
Ich denke mit Bluetooth kann ich den größten Teil der Paketverfolgung weglassen (Bluetooth macht das ja selbst schon) und damit wesentlich höhere Übertragungsraten erzielen.
Ich denke so an etwa 50-100 Stück die Sekunde (nur theoretisch, in der Praxis ist das natürlich total sinnlos)
10 Übertragungen die Sekunde sind auf jeden Fall genug. Mit dem aktuellen Code und 38kBaud komme ich auf etwa 15-20/s.


Hi,


Ich habe auch so etwas wie Fabian gemacht, aber auch in C# (ich kann leider kein Java und C# habe ich halt in der Schule gelernt ;->)


Man kann ja auch genauso viel Optik wie Funktionalität machen ;) (Aber ich weiß ja nicht wie das mit der Optik in Java ist.)


Wie meinst du das ??



Man muss ja nicht immer alles öffentlich machen ;-> Es brauch ja dann nur für dich zu sein :) oder meinst du mit der M32/128 ?



Ich benutze 56700bps, weil es halt ein bisschen schneller ist (aber nicht übertreiben) und Fehler hatte ich noch keine (innerhalb 6m, ich warte bis die Reichelt bestellung hier ist, dann hab ich ne Antenne)


mfG
Philip ;)

Ich hatte mir überlegt Remotrol so aufzubohren, dass man eigene Projekte hinzufügen kann. Also ganz spezielle Plug-Ins, die dann auf ein bestimmtes Stück Hardware zugeschnitten ist.
Z.B. für einen ganz speziell gebauten Roboterarm oder so. Das ist besser als das ganze über die 'Firmware-Attribute' zu lösen.

AsuroPhilip
20.07.2011, 22:21
Ich hatte mir überlegt Remotrol so aufzubohren, dass man eigene Projekte hinzufügen kann. Also ganz spezielle Plug-Ins, die dann auf ein bestimmtes Stück Hardware zugeschnitten ist.
Z.B. für einen ganz speziell gebauten Roboterarm oder so. Das ist besser als das ganze über die 'Firmware-Attribute' zu lösen.

Wie kann man so etwas den realisieren? Hast du schon eine Idee?

Fabian E.
20.07.2011, 22:24
Wie kann man so etwas den realisieren? Hast du schon eine Idee?

Klar ;)
du legst quasi für jedes Projekt auch ein eigenes C# Projekt an. Das ergibt dann für jedes RP6-Projekt eine DLL.
Die kommt dann in ein spezielles Verzeichnis und dank einiger komplizierter .NET Magie kann man dann auf diese DLL zugreifen, ohne dass das Programm an sich jemals davon wusste ;)
Die Dlls die vorhanden sind werden halt einfach benutzt. Alles komplett dynamisch.
Ich habe so etwas schon mal gemacht, daher kenne ich mich damit ein bisschen aus :)

AsuroPhilip
20.07.2011, 22:35
Klar ;)
du legst quasi für jedes Projekt auch ein eigenes C# Projekt an. Das ergibt dann für jedes RP6-Projekt eine DLL.
Die kommt dann in ein spezielles Verzeichnis und dank einiger komplizierter .NET Magie kann man dann auf diese DLL zugreifen, ohne dass das Programm an sich jemals davon wusste ;)
Die Dlls die vorhanden sind werden halt einfach benutzt. Alles komplett dynamisch.
Ich habe so etwas schon mal gemacht, daher kenne ich mich damit ein bisschen aus :)

Wie nennt sich den diese "komplizierte .NET Magie" um dynamisch dlls zu erkennen bzw. zu verarbeiten und wo werden die dann im programm sein, erscheinen die dann einfach im Menü? Wie ist das dann mit dem Serialport, der muss doch dann bei jedem Projekt neu geöffnet werden oder hast du den Global?

Wenn das mit den "Add-ins" so funktioniert, wäre das ne super sache ;->

Wie hast du dir das mit dem Zusammenarbeiten vorgestellt?


mfG
Philip ;)

Fabian E.
20.07.2011, 22:41
Der SerialPort wird nur einmal vom Hauptprogramm geöffnet.
Das Plugin kann dann beliebige Befehle an den RP6 senden und auch seine Daten lesen.
Die .NET Magie nennt sich 'Reflection'. Damit kann man quasi zur Laufzeit Dlls laden und manipulieren.
Der Vorteil ist eben, dass das eigentliche Programm nichts von diesem Dlls wissen muss um sie zu benutzen.
Die Dlls stellen quasi eigene kleine Programme dar, die aber trotzdem noch von Remotrol kontrolliert werden.

AsuroPhilip
20.07.2011, 22:49
Cool
Werde mich mal schlau machen :)


Wie hast du dir das mit dem Zusammenarbeiten vorgestellt?

Fabian E.
20.07.2011, 22:50
Cool
Werde mich mal schlau machen :)

Achso ja, im Prinzip kann das über mein eigenes Forum laufen, besser wäre aber Skype oder sowas.
Ansonsten wird natürlich ein SVN verwendet.

AsuroPhilip
20.07.2011, 22:52
Jo Skype hab ich, können wir ja dann per pn klären ;)

SVN kenn ich nicht :confused:

Wie wäre das eigentlich mit dem Team Foundation Server in Visual C#?

Ingo1988
21.07.2011, 11:27
Generell wäre ich auch an einem solchen Projekt interessiert, allerdings habe ich bisher nicht mit C# gearbeitet. Ich würde das gerne mal absprechen, so dass man dann sehen kann ob es passt. Und dann entscheiden ob man zusammen ein Projekt startet.

Lieben Gruß
Ingo

Gerhard M
24.07.2011, 19:36
Hallo,

ich bin neu in diesem SUUUPER Forum und hätte ne Frage zum ursprünglichen Thema RP6 und Funk. Ich habe ein fertiges Bluetooth Modul von BEXPRO gekauft (www.bexpro.de ----- BX-BTM-222). Das BT-Modul kann ich problemlos über H-Term und den PC betreiben.

Ich habe an das M32Expansion Board Lötstifte an VDD, GND, RX und TX gelötet und damit das BT-Modul verbunden. Als Testprogramm habe ich das Button-Programm so abgeändert, dass beim Betätigen eines Tasters eine Zahl über UART gesandt wird. Leider kommen am PC dann nur Hiroglyphen an. Wenn ich eine 1 sende wir am H-Term auf dem PC der ASCII Code Nr. 103 statt der 49 ausgegeben.
Ich habe hier und im Arexx Forum einige Beiträge zu BT gefunden und auch schon die Baudrate verändert. Leider ohne Erfolg. Bei Variation der Baudrate hat sich die falsche Ausgabe nicht verändert.
Hat jemand noch eine Idee woran es liegen könnte oder eine Tipp ?

Fabian E. und ASUROPhillip waren wohl mit dem Bluecontroller Modul erfolgreich. Ging das einfach mit Plug and Play - oder habt ihr spezielle Modifikationen vorgenommen ?
Wenn das mit Bluecontroller problemlos funktioniert, überlege ich, ob ich mir dieses BT-Modul bestelle.

Vielen Dank im Voraus für Eure Hilfe.

Viele Grüße Gerhard

Ingo1988
24.07.2011, 20:05
Wenn hieroglyphen gesendet werden klingt das schon sehr nach einer falschen Baudrate. Und besonders merkwürdig ist, wenn sich das Ergebnis nach Einstellen der Baudrate nicht ändert... denn das hätte eigentlich passieren müssen.

AsuroPhilip
24.07.2011, 20:59
Wenn überhaupt was ankommt, hast du TX und RX richtig verbunden --> also daran könnte es nicht liegen ;)

Wenn du die Baudrate am btm änderst, hast du sie auch im RP6 geändert ?? In der RP6ControlLib ??

Benutzt du den rp6-Adapter um die AT befehle zu senden?

Kommt auch immer ein "OK/n" an ?

Hast du auch CR aktiviert?


mfG
Philip

Gerhard M
25.07.2011, 12:02
Hallo AsuroPhilip, hallo Ingo1988,

danke für die schnelle Antwort.

Wenn du die Baudrate am btm änderst, hast du sie auch im RP6 geändert ?? In der RP6ControlLib ??
----> Habe die Baudrate in meinem Testprogramm im Hauptprogramm auf 38400 bps eingestellt. Wie im Arexx Forum von SlyD beschrieben.
Habe die Baudrate bisher nur am Hyperterm variiert. Werde das am BT-Modul nochmal versuchen.

Benutzt du den rp6-Adapter um die AT befehle zu senden?
----> Ich verbinde das BT-Modul direkt mit der Seriellen Schnittstellen meines PC und Hyperterm. ATL3 = 38400 bps

Kommt auch immer ein "OK/n" an ?
----> Ja, immer

Hast du auch CR aktiviert?
----> Nein, ist auf dem BT-Modul von Bexpro nicht vorhanden. Oder meinst Du am Hyperterm ? Was bringt das ?

Hat das bei euch mit dem Bluecontroller BT-Modul auf Anhieb funktioniert? Dann werde ich mir das bestellen und ausprobieren.

Viele Grüße Gerhard

AsuroPhilip
25.07.2011, 13:08
Oh.. das Hier (http://www.bexpro-shop.de/de/Elektronische-Bauteile/BX-BTM-222-Modul-Bluetooth-UART-Class-1-Rayson)?

Das klappt leider nicht mit dem RP6 bzw. M32 :(


mfG
Philip

SlyD
25.07.2011, 14:40
(um dazu zu sagen *warum* das nicht geht):

Da ist ein RS232 Levelshifter drauf (hab mir die Anleitung nicht angeschaut, sieht aber deutlich nach nem MAX232 o.ä. aus)
der die Pegel auf +-12V ändert, was viel zu hoch für den RP6 ist - inbesondere der negative teil... das kann die I/O Ports des Mikrocontrollers auf Dauer beschädigen!

Der RP6 braucht 5V TTL und nix anderes.

Gerhard M
25.07.2011, 15:18
Danke für die schnelle Rückmeldung ! Das mit den 12 V habe ich leider nicht gecheckt. M32 funktioniert glücklicherweise noch.

Dann bestelle ich mir jetzt bei www.rf-sore.com das BCA8-BTM-A (BTM-222 3,3 - 9 V UART) - dann sollte es funktionieren ? ODER ???

Gibt es noch weitere Empfehlungen ?

Viele Grüße Gerhard

P.S.: Melde mich wieder wenn ich das o.g. BT-Modul ausprobiert habe.

Fabian E.
25.07.2011, 15:41
Danke für die schnelle Rückmeldung ! Das mit den 12 V habe ich leider nicht gecheckt. M32 funktioniert glücklicherweise noch.

Dann bestelle ich mir jetzt bei www.rf-sore.com (http://www.rf-sore.com) das BCA8-BTM-A (BTM-222 3,3 - 9 V UART) - dann sollte es funktionieren ? ODER ???

Gibt es noch weitere Empfehlungen ?

Viele Grüße Gerhard

P.S.: Melde mich wieder wenn ich das o.g. BT-Modul ausprobiert habe.
Zumindest funktioniert es bei mir.

AsuroPhilip
25.07.2011, 19:15
Zumindest funktioniert es bei mir.

Und bei mir ;)

fabqu
31.07.2011, 19:10
Hi allerseits,
ich verfolge ja recht interessiert diesen Blog hier, klingt spannend, was ihr da austüftelt.
Leider kann ich euch grad noch nicht helfen, da meine Programmierkenntnisse unter eurem Niveau sind, vermutlich noch tiefer.

Aber eine Frage hätte ich:
Habe mir auch schon das BTM222 vom RF-Store geholt (2 mal) und an RP6 und USB-Interface angeschlossen.
Am USB: Gnd->Gnd, VDD->VDD, RX->RX, TX->TX.
Am RP6: Gnd->Gnd, VDD->VDD, RX->RX, TX->RX.

Ich denke, das sollte so sein!?!?!?
Das blaue LEDchen blinkt auch hektisch an beiden Modulen, aber mehr passiert nix. Ich bekomme keine Verbindung vom PC zum Robby.
Habe auch schon andere RX-TX-Kombis versucht - ebenfalls ohne Ergebnis. Nur ist irgendwann mal der RP6 abgeschmiert (LCD zeigte nur murks und ich konnte das Programm auf ihm nicht mehr beenden, zwei der vier M32-LEDs gingen nicht mehr aus).

Kann mir da jemand helfen?
Ich verwende gerade Fabian E.`s Remotrol mit M32.
Danke euch!

Ingo1988
31.07.2011, 20:49
2 Bluetooth Module auf diese Weise miteinander zu verbinden ist so nicht son einfach möglich, da du den Bluetoothmodulen ja mitteilen musst, dass sie sich verbinden sollen (paaren) und das ist soweit ich das grade sehe mit 2 btm222 nicht möglich.

Am PC bräuchtest du ein normales btm für den pc einfach per USB o.ä. (beim Laptop oft integriert) hier kannst du dann am PC dein BTM suchen und verbinden. dann muss die lampe am rp6 dauerhaft leuchten. wenn das klappt kannst du bei der fernsteuerung den ComPort deines Moduls einstellen und dann so verbinden.
Dann muss du allerdings am RP6 tx und rx kreuzen, da das was der PC sendet (tx) vom rp6 empfangen werden soll (rx) und andersherum;)

Ich hoffe ich konnte dir helfen!

Lieben Gruß

fabqu
31.07.2011, 20:52
Jepp, genau das hatte ich befürchtet.
Naja, 22 Euronen in den Wind geschossen :D Zumindest fast.
Jetzt hab ich auch grad gemerkt, dass mein PC (Samsung R540 Notebook), so toll er wirklich ist, KEIN BT hat!!!!
Das gibts nicht... Aber mit so einem mini-USB-BT-Ding für 5-7 Euros von amazon sollte es gehen, oder???
Rein, treiber installieren, RP6 anschalten, suchen, verbinden, fertig?
Danke dir!
Fabian

fabqu
31.07.2011, 22:01
So, habs mit nem anderen PC versucht, der BT hat. Hab dort BT aktiviert, Baud auf 38... eingestellt und den kopplungskey eingegeben (1234). Robby an, Prog gestartet, auf verbinden geklickt.
Dann hört das blinken des BTM222 auf (es blinkt dann abwechselnd hell und dunkelblau), aber ich bekomme nur Blödsinn (so was wie ##########h {#####) !?!?!?!
Bräuchte da mal jemanden, der sich da auskennt ;)

Danke Euch

Fabian E.
31.07.2011, 23:48
Warum genau sollte das Verbinden von zwei BTM nicht möglich sein? Eines müsste man eben an das USB-Interface anschließen, das andere an den RP6.
Ich denke nicht, dass es da Probleme geben sollte. Die Konfiguration muss nur stimmen.
Ansonsten ist das BTm default auf 19200 Baud eingestellt, nicht 38400. Wenn die LED dauerhaft leuichtet, wurde die Verbindung hergestellt.
Hast du deinen BTM denn vorher mit AT-Befehlen konfiguriert? Das geht nämlich nicht per BT sondern muss direkt am UART-Port geschehen.

fabqu
01.08.2011, 07:53
Ne, ich hab leider nix mit AT-Befehlen gemacht...
Ich hab mir ja dieses Modul ausgesucht, weil ich dachte, dass es eher ein plug-and-play ist...

Wie gesagt, scheinbar gibts ne Verbindung (LED blinkt ja nicht mehr), nur bekomme ich keine ordentlichen Kommandos.
Du meinst, das BTM222 ist standardmäßig auf 19200 eingestellt?
Wie kann ich das denn ändern, oder soll ichs in deiner Líb und meinem PC ändern?

Grüße

Richard
01.08.2011, 09:47
Wie kann ich das denn ändern, oder soll ichs in deiner Líb und meinem PC ändern?

Grüße

Schaust Du hier http://robotrack.org/BTM222/BTM-indexD09.htm Das geht NUR über RS232 WENN keine Bluetooth Verbindung besteht! Also die Module EINZELN einstellen und darauf achten das nur einer Master ist, Slaves können mehrere sein wenn man denen eigene ID und Namen gibt.

Gruß Richard

-Lookup-
01.08.2011, 21:06
Ich melde mich auch mal wieder ...

Es gibt 2 sachen die mich sehr sher wundern:

1. Wenn ich mein BTM222 per AT befehle einstelle kommt zB. bei solchen wo ich werte per ? abfrage nur ein 000 \r\r\n OK zurück anstat des wertes.Was auch garnicht geht ist das setzen von werten per = da bekomme ich immer ein ERROR zurück.


2.Der RP6 sendet schon per Bluethooth modul nur leider kommt nur zeichen salat am pc im hterm an, kann mir jemand sagen wo dran es liegt ODER könnte es an dem ersten problem liegen das sich die baudrate nicht richtig eingestellt hat `?

Wer damit erfahrung hat bitte doch einfach mal kurz melden ;)

Fabian E.
01.08.2011, 21:09
Versuche mal den BTM via 'ATZ0' zurück zu setzen. Musste ich bei mir auch einmal machen.

Richard
01.08.2011, 22:22
Versuche mal den BTM via 'ATZ0' zurück zu setzen. Musste ich bei mir auch einmal machen.

Bei einigen Geräten (deins?) muss mann das = weglassen und einfach ATX0, ATX1 ODER ATX 0, ATX 1...versuchen.

Gruß Richard

-Lookup-
01.08.2011, 22:33
Vielen dank euch beiden werde ich morgen oder spätestens donnerstag mal testen und mich dann zurück melden.Hoffentlich klappt es dann.

fabqu
02.08.2011, 10:26
Könnte mir noch mal jemand für dummies erklären, wie ich das einstellen kann?
Brauche ich da ein spezielles Programm am PC?
Wie muss ich meinen RS232 mit dem BRM222 bzw. mit dem Adaptermodul vom rs-store.com verbinden?

Danke Euch!

Richard
02.08.2011, 10:45
Könnte mir noch mal jemand für dummies erklären, wie ich das einstellen kann?
Brauche ich da ein spezielles Programm am PC?
Wie muss ich meinen RS232 mit dem BRM222 bzw. mit dem Adaptermodul vom rs-store.com verbinden?

Danke Euch!

Das Modul hat eine TTL = 5V/0V Schnittstelle dein PC sendet für eine 1 -3 bis -12V für eine 0 +3 bis +12 die darf man NICHT einfach so verbinden, dazu braucht man einen passenden Pegelwandler! ob dein Modul so einen hat? Poste einen Link zum Modul. Ansonsten die schreib /Lese Leitungen müssen bei rs232 gekreuzt sein.
RX<<<<<<<TX
TX>>>>>>>RX
GND---------GND

Gruß Richard

fabqu
02.08.2011, 10:55
Ok, danke Dir. Hier mal der Link:
http://rf-store.com/index.php?page=shop.product_details&flypage=flypage-ask.tpl&product_id=61947&category_id=105&option=com_virtuemart&Itemid=2&lang=de

Soweit ich das sehe, hat das Board einen 3,3V-5V Pegelwandler, aber keinen auf 12V.
Kann ich das mit dem USB-Interface des RP6 machen?

Grüße

Richard
02.08.2011, 12:00
Ok, danke Dir. Hier mal der Link:
http://rf-store.com/index.php?page=shop.product_details&flypage=flypage-ask.tpl&product_id=61947&category_id=105&option=com_virtuemart&Itemid=2&lang=de

Soweit ich das sehe, hat das Board einen 3,3V-5V Pegelwandler, aber keinen auf 12V.
Kann ich das mit dem USB-Interface des RP6 machen?

Grüße

Das kann ich Dir leider nicht beantworten, ich habe keinen RP6 und kenne die Hartware vom Interface nicht. Wenn das ein USB > RS232 > zu TTL Adapter ist müsste das klappen. Wenn der RP6 aber einen eigenen RS232 (oft ein MAX 232) Wandler on Board hat wird es nicht gehen.... Da musst Du bei den RP6 Besitzern fragen. :-(

Gruß Richard

-Lookup-
02.08.2011, 16:03
@fabquDu kannst einfach das usb interface vom rp6 nehmen und verbindest so rx mit tx und umgekehrt.

Am btm222 nimmst du die seitlichen anschlüsse bt rx und bt tx nicht die untern!

Zur spannungsversorgung kannst du die anschlüsse auf dem usb board nehmen, neben dem stecker. Auf dem kabel ist wie ich feststellen musste keine spannung.Wenn du das alles angeschlossen hast kannst du mit zB hterm befehle an den btm schicken.Wenn du noch fragen hast einfach melden.

Ingo1988
02.08.2011, 18:43
Bei mir haben auch die unteren Anschlüsse zum Senden der AT Befehle funktioniert.

-Lookup-
02.08.2011, 22:14
Hatte doch noch mal zeit hab nun noch ein mal ein reset gemacht leider aber da selbe spiel.

wenn ich ATL? eingebe kommt folgendes zurück <\r><\n>000<\r><\n><\r><\n>OK<\r><\n>

Selbes Spiel bei allen andern befehlen die ich abfrage mit ?

Was auch nicht geht ist wenn ich daten zu weisen will ...

Hat noch jemand eine Idee ?

fabqu
03.08.2011, 07:06
Ok vielen Dank Euch!
Habe mir gerade hterm geholt. Ich fahr zwar heut in den Urlaub und werds wohl nicht mehr schaffen, das zu testen, aber ich melde mich, wenn ich wieder da bin.

Danke @all
Fabian

-Lookup-
03.08.2011, 18:20
Leute ich verweifel echt an dem teil... ich hab sogar nun mit einem 2. btm getesstet und bekomme immer nur diese seltsame rückgabe wenn ich etwas abfrage.

Deswetiern kann ich auch keine Daten zuweísen... Wenn jemand noch irgendeine idee hat bitte melden wäre für jede hilfe dankbar

Kann das vllt. am USB Interface des RP6 liegen das ich es nicht richtig einstellen kann ?

Oder gibt es eine art schreibschutz ?

Reset habe ich übrings schon mehrmals bei beiden modulen gemacht.

Richard
03.08.2011, 18:51
Leute ich verweifel echt an dem teil... ich hab sogar nun mit einem 2. btm getesstet und bekomme immer nur diese seltsame rückgabe wenn ich etwas abfrage.

Deswetiern kann ich auch keine Daten zuweísen... Wenn jemand noch irgendeine idee hat bitte melden wäre für jede hilfe dankbar

Womit (Terminal Programm) sendest Du denn jetzt? und wie sendest Du ASCII, Bin,Hex ? Das Modul will die AT Befehle als ASCII bekommen und antwortet auch mit ASCII. Kommt im Terminal etwas an wenn Du am Modul ein Reset = Spannung aus/an machst? <\r><\n>000<\r><\n><\r><\n>OK<\r><\n> Soooo schlecht sieht das Ganze nicht aus, Das Fette 000 und OK scheint die Antwort auf ATL? zu sein. \r \n sind Steuerbefehle \r könnte für CR = (Enter) und \n für LN = Wagen Rücklauf stehen. Das habe ich aber nicht mehr gut im Kopf. Linux Textverarbeitung oder auch C C++ verwenden so etwas. Bei HTerm werden die Steuerzeichen angezeigt, auf wunsch gleichzeitig in ASCII,Bin,Hex. Aber es ist sehr schwer sich hier rein zu Denken wenn man nicht selber davor sitzt. :-( Was kommt bei AT?....

Gruß Richard

-Lookup-
03.08.2011, 18:58
Also als Terminal Programm benutze ich Hterm.
Ich sende im ASCI format.
Im terminal kommt ja immer etwas an nur leider für mich flasche werte.
Die steuerzeichen stören mich ja garnicht nur die falschen oder nicht richtig angezeigten werte stören mich.

Wenn ich AT ? eingabe (habe vorher ein ATZ0 gemacht, also ist das echo wieder an) kommt das an

AT?<\r><\r><\n>000<\r><\n><\r><\n>OK<\r><\n>

Ein ATI0 macht:

ATI0<\r><\r><\n>56000<\r><\n>OK<\r><\n>

Wie gesagt bei allen abfragen steckt immer nur diese 000 drin und setzten kann ich auch keine daten dann bekomm ich nur ein ERROR
vllt. bring dich das weiter ..


EDIT: Ich bin gerade mal alle Baudraten die hterm hat durch und hab es mit dem BTM getestet bei ALLEN das selbe spiel was rückgabe und befehl entgegen nehmen an geht....

Richard
03.08.2011, 20:22
Sind die Leitungen wirklich richtig angeschlossen?

BTM...................PC (Adapter)
TXD>>>>>>>>>>RXD
RXD<<<<<<<<<<TXD
GND-----------------GND

Wenn bei egal welcher Bautrate immer das gleiche kommt, kann das nicht wirklich eine brauchbare Verbindung sein.
Bei einem ATI0 ----(NULL) nicht Oh muss etwas ähnliches wie F/W VERSION: v4.22 ##### kommen oder die Verbindung steht nicht.
Leider jkenne ich das BTM 222 nicht, wenn das auch Anschlüsse für CTS/RTS besitzt mach dazwischen mal eine Brücke und hast Du bei den Einstellungen der Com Schnittstelle Flussteuerung auf Keine stehen? Das ist auch wichtig.

Gruß Richard

-Lookup-
03.08.2011, 20:33
Also

TX ist an RX und Rx ist an Tx die GND vom usb interface hab ich an die GND vom BTM geleitet kann noch mal die GND die am kabel an liegt dran machen.
Der BTM bistzt CTS und RTS und die Flussteuerung ist auf keine.

Ich löte mal die brücke zwischen CTS und RTS .

Achso bei ATI0 kommt nur ein 56000.

fabqu
03.08.2011, 20:53
Hmmm. ich versuchs auch grad.
Habe Das Adaptermodul mit dem USB-Interface verbunden, habe die seitlichen EIngänge benutzt.
Ich öffne hterm und sende in ascii z.B. L3 (für Baud=38...)
Transmitted: 4 , received: 0????
vorhin bekam ich wenigstens ein wenig blödsinn zurück, jetzt nix mehr.
Wie kann ich denn reseten?

Gruß

-Lookup-
03.08.2011, 21:02
Also habe die beiden ports nun verbunden leider ohne änderung habe immer noch haargenau das selbe problem.Ich verdächtige immer mehr das usb interface ... oder vllt. Meine kabel oder oder oderIch bin einfach mit meinem latein am ende xDReset geht über atz0 @fabqu

Fabian E.
03.08.2011, 21:03
Du sagtest, du hast alle Baudraten durch, bedeutet, dass der BTM den Baudraten-Befehl annimmt?

fabqu
03.08.2011, 21:06
nix, keine rx data. Da kommt nix mehr zurück :(
Aber die gelbe LED vom Interface blinkt bei jedem gesendeten kurz mal auf... Bin also immerhin am richtigen Port

Mensch, das kann doch nicht so schwer sein?

-Lookup-
03.08.2011, 21:10
@fabianIch habe alle baudraten einstellungen im hterm durch im btm habe ich noch nichts verstellt also sollte er auf 19200Stehen ich kann morgen mal testen was dann passiert Gibt es noch weitere ideen ?

@fabqu

Du musst ein cr am ende des befehls senden damit es der btm als befehl erkennt

Fabian E.
03.08.2011, 21:15
Lass uns das doch mal zusammenfassen:

Die Verbindung an sich mit dem BTM klappt
Du bekommst u.a. ein 'OK' zurück, also stimmt auch die Baudrate
Allerdings scheint der BTM keinerlei Befehle anzunehmen?
Es wird immer ein '000' gesendet


Stimmt das so?

-Lookup-
03.08.2011, 21:19
AlsoJa die verbindung klappt soweit.
Ja ich bekomme ein OK zurück
Er nimmt manche befehle an wie den reset befehl und denn echo off befehle bei andern kann ich es nicht testen wegen der rückgabe
Wenn ech etwas abfrage wie den namen oder den pin oder sonst eine einstellung kommt 000

fabqu
03.08.2011, 21:22
Ok, also bei mir geht nix, ich bekomme nix zurück!
Macht ihr mal das Problem vom Lookup, ich geselle mich nach meinem Urlaub wieder hier her ;)

Grüße!

Richard
03.08.2011, 22:40
Also habe die beiden ports nun verbunden leider ohne änderung habe immer noch haargenau das selbe problem.Ich verdächtige immer mehr das usb interface ... oder vllt. Meine kabel oder oder oderIch bin einfach mit meinem latein am ende xDReset geht über atz0 @fabqu

NUR wenn das DReset geht über atz0 auch richtig ankommt, ohne passende Verbindung wird das nichts. Wenn Du chinesisch sprichts und ich nur Plattdeutsch versehen beide Seiten nur ???? Können aber durchaus Antworten, natürlich auch unverständlich. Bei meinem BT Modul kann man in dem man ohne Spannung bestimmte Pin's verbindet und dann Spannung anlegt. Einen Hartware Reset durchführen. Das (sollte) eigentlich immer möglich sein, Hoffe ich jedenfalls.

Ob und wenn wie das beim BTM 222 geht steht sicher im Datenblatt. Manschmal hilft auch einfach einmal abschalten und Ausschlafen um ein unlösbares Problöem zu lösen. :-)))

Gruß Richard

-Lookup-
04.08.2011, 06:36
Naja das reset wird ja ausgeführt was man an dem wieder aktivierten echo modu sieht.
Es ist ja einfach seltsam das manche befehle ohne murren ausgeführt werden und manche nicht.Das ist auch der grund warum ich einfach nicht mehr weiter weiß.
Ich denke da es bei beiden modulen das selbe verhalten ist liegt es wohl an der verbindung zwischen dem pc und der usb platine vllt. Kabel, hardware oder irgend was total einfaches ...

Ich werde heute abend mal nach einem hardware reset im datasheet suchen.Noch jemand irgendeine idee ? Wie sieht es aus wenn ich andere hardware benutze um mich mit dem btm zu verbinden was wäre da geignet zB ein usb zu rs232 adapter ?

-Lookup-
05.08.2011, 06:37
Also ich habe im datasheet keinen eintrag für ein hardware reset gefunden.

Ich werde heute abend einfach um es zu testen mal ein rp6 programm schreiben was den atm einstellte vllt. Klapt es ja so mit dem btm.




Wenn mir noch jemand vllt. ne andere möglichkeit aufzeugen kann wie man den btm noch verbinden kann um ihn via AT - befehlen einzustellen wäre ich sehr dankbar.

-Lookup-
05.08.2011, 21:23
Also:


Ich habe folgendes getan falls jemand das slebe problem hat wie ich :

1. Ein kleines Programm gemacht was den rp6 dazu benutzt den btm222 einzustellen xD

Das kommt in die main + init_base oder wie sich die funktion schimpft xD :P


#define BAUD_19200 19200UL
#define UBRR_BAUD_19200 ((F_CPU/(16*BAUD_19200))-1)
UBRRH = UBRR_BAUD_19200 >> 8;
UBRRL = (uint8_t) UBRR_BAUD_19200;


sendToBTM("ATZ0");
mSleep(500); // delay 200ms = 0.2s
mSleep(500);
sendToBTM("ATE0");
mSleep(100); // delay 200ms = 0.2s
sendToBTM("ATN=ROBOTER");
mSleep(100);
sendToBTM("ATL3");


Hier noch die kleine funktion zum senden:


void sendToBTM( char zeigerAufEinElement)
{

writeString(zeigerAufEinElement);
writeChar(13); // CR


}



So damit nimmt er ALLE einstellungen an und ich bekomme bei der richtigen baudrate die richtigen daten vom RP6 gesendet und kann sie mir in hterm anschauen :D:D:D

Was allerdings im moment noch nicht geht ist das senden von daten vom pc aus mit hterm hab als test programm das beispiel vom rp6 genommen UART 2 heißt das.
Leider scheinen keine daten beim rp6 anzukommen hab CR und LF hinter jeder zeile ausprobiert scheint nicht zu helfen..

Bin wie immer für eure vorschläge offen ?

Gerhard M
06.08.2011, 22:40
Hallo Lookup,

sehr elegant, das Problem per Software zu lösen.

Ich hatte dasselbe Problem (BTM Grundeinstellung über RP6 USB Interface funktioniert nicht)
und habe es jetzt per Hardware gelöst. Ich habe den RS232 Wandler mit einem MAX232 wie in
http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART
nachgebaut. Glücklicherweise besitze ich noch einen PC mit serieller Schnittstelle.

Jetzt kann der RP6 per UART Daten (38400 bps) korrekt an das HTerm des PC senden.

Das Senden von HTerm an den RP6 habe ich noch nicht probiert. Werde ich demnächst mal versuchen.

Gerhard

fabqu
08.08.2011, 11:11
Hmmm... ich versteh das nicht.
Ich lade euch mal ein Foto hoch, wie es bei meinem hterm gerade aussieht.
Ich habe hterm mit port3 verbunden. Wenn ich unten egal was eingebe und auf "ASend" drücke, danach in dem geöffneten Dialogfeld auf "Start", wars das. Die LED am USB-Interface blinkt einmal kurz, der zähler für gesendete Bits geht rauf, der für empfangene bleibt auf 0.

Sonst passiert nix!?!?!?!
Ich versteh es einfach nicht!
Was kann man denn noch machen?

Danke EUch

Richard
08.08.2011, 11:35
Hmmm... ich versteh das nicht.
Ich lade euch mal ein Foto hoch, wie es bei meinem hterm gerade aussieht.
Ich habe hterm mit port3 verbunden. Wenn ich unten egal was eingebe und auf "ASend" drücke, danach in dem geöffneten Dialogfeld auf "Start", wars das. Die LED am USB-Interface blinkt einmal kurz, der zähler für gesendete Bits geht rauf, der für empfangene bleibt auf 0.

Sonst passiert nix!?!?!?!
Ich versteh es einfach nicht!
Was kann man denn noch machen?

Danke EUch

Stelle im Feld "send on Enter" einmal CR ein, dann wird ein "Enter" = CR an die von Dir eingegebenen Daten an gehangen. Input wartet immer auf ein CR ehe es weitergeht im Programm. Also ohne CR bleibt der Rechner einfach stehen und wartet bis in aller Ewigkeit auf CR = Hex 13. Also kann auch nichts zurück gesendet werden......

Gruß Richard

-Lookup-
08.08.2011, 20:06
Also ich bin immer noch nicht weiter was das empfangen von daten angeht ... leider scheint am rp6 nichts anzukommen.

getBufferLength() gibt immer 0 zurück ich dachte zu erst da im beispiel programm ein \n abgefragt wird das es vom controller geschluckt wird aber dem war wohl nicht so ...

Senden klapt wunderbar alle zeichen kommen sauber und richtig an nur der empfang am rp6 ist gleich 0.

Wäre super wenn da jemand mir noch beim letzten schritt helfen könnte ?

Weiß da nicht mehr weiter ...:(

fabqu
09.08.2011, 11:02
Und bei mir geht gar nix. Auch nicht mit CR bei send on enter...
Am Modul kanns ja auch nicht liegen, da ich beide ausprobiert habe.

Was kann ich denn noch machen?

Richard
09.08.2011, 11:20
Und bei mir geht gar nix. Auch nicht mit CR bei send on enter...
Am Modul kanns ja auch nicht liegen, da ich beide ausprobiert habe.

Was kann ich denn noch machen?

Sehr seltsam, das kann doch nur noch ein dummer Fehler wie Kabelbruch oder ähnlich sein? Verbinde doch einmal RX und TX am Chip und schaue ob dann in Hterm die gesendeten Daten zurück kommen, so unterhält Hterm sich mit sich selbeber wenn die Leitung OK. Ist.

Gruß Richard

fabqu
09.08.2011, 17:03
Jepp, hab ich auch schon getestet... dann kommt z.B. ATL? zurück, wenn ich ATL? sende :(

Richard
09.08.2011, 18:04
Jepp, hab ich auch schon getestet... dann kommt z.B. ATL? zurück, wenn ich ATL? sende :(

Langsam komme ich ins Schleudern. :-( Womit ist den HTerm jetzt verbunden mit dem BTM 222 oder mit dem AVR b.z.w. wer antwortet jetzt nicht?
Vom AVR aus konntest Du das BTM 222 ja anscheinend einstellen . Die Verdrahtung sollte nach dem Test ja auch stimmen, bleibt eigendlich nur noch die Software. :-(

Gruß Richard

Gerhard M
10.08.2011, 18:14
Hallo,

habe es mit dem Terminal Programm nicht geschafft Daten vom PC über BTM an den RP6 zu senden.

Wie von SlyD im Arexx Forum beschrieben habe ich dann aber die Datei rp6loader config wie folgt abgeändert: Zeile Bootloader.useNativeLib.windows=RXTX

Vorher habe ich das Programm UART2 per USB Interface / Kabel auf dieV RP6 base geladen und
das Kabel abgesteckt, das BTM angesteckt und eine BT-Verbindung aufgebaut.

Wenn man den RP6Loader öffnet bietet er dann COM Schnittstellen an. Hier z.B. COM 8

Dann gehe ich auf verbinden. Es kommt zwar die Fehlermeldung: Errorcode 1 Timeout: The target has not respondet.
Wenn ich jetzt das UART2 Programm starte funktioniert es aber trotzdem und ich kann wie gewünscht senden und empfangen. ---> Problem gelöst !!!!

Grüße Gerhard

SlyD
10.08.2011, 18:31
> Dann gehe ich auf verbinden. Es kommt zwar die Fehlermeldung: Errorcode 1 Timeout: The target has not respondet.

Im Menü einfach nur auf Port öffnen klicken.
Verbinden liest ja auch noch den Controllertyp und Spannung usw. aus was nur mit vorherigem RESET funktioniert.

MfG,
SlyD

fabqu
17.08.2011, 22:10
SO! Endlich, BT funktioniert...
Ein Kollege hats mit einem anderen Termianlprogramm versucht und schon hats geklappt.

Danke Euch aber trotzdem für alle Hilfe ;)

Grüße

Arigocan
18.12.2011, 19:25
Hi,
habe nun auch ein BTM-222. In Verbindung mit dem PC geht alles wunderbar, aber wenn ich es an meinen RP6 anbaue, geht nichts (BT Verbindungs wird hergestellt, aber es werden keine Daten gesendet/empfangen). Die Baudrate habe ich auf 38400 gestellt. Muss man sonst noch Änderungen in der Konfig des BTM-222 oder des RP6 vornehmen? Kann evtl. jemand, bei dem alles geht, die Konfig Daten posten (ATI1 Befehl)?

Gruß
Ari

fabqu
18.12.2011, 19:27
Versuche Mal, rx und tx zu verstauschen.

Arigocan
18.12.2011, 19:44
Ha, vielen Dank es geht! Ich habe auch schon mal daran gedacht, RX und TX zu vertauschen, aber war mir 100% sicher, dass das RX vom BTM-222 an den TX auf dem Board muss und umgekehrt...aber ist scheinbar nicht so. Nun ist TX-->TX und RX-->RX. Aber es geht. :)

fabqu
18.12.2011, 19:58
Aber Vorsicht: bei deinen modul heißen die dinger “BT-tx/rx“ und “BT-rx/tx“.
Darauf bin ich auch erst reingefallen.
Grüße