Hallo Leute, hat jemand von euch schon mal das HM-TRP Modul zum Laufen bekommen? Ich hätte dazu ein paar Fragen mit der Bitte um Unterstützung. Habe ein Modul an eine UART to USB Bridge angeschlossen. Nach dem Einschalten des Modules sendet dieses seine Kennung (HM-TRP-V02!) über die UART und kann übers Hyper Terminal angezeigt werden. Bevor ich das 2. Modul in Betrieb nehme für die eigentliche Funkübertragung wollte ich das Auslesen der config bzw. das Ändern der Parameter über einzelne Befehle probieren. Zum Auslesen der config sei AA FA E1 erforderlich. Ich habe es auf 2 Wege probiert: 1.) über das hyper terminal über das senden einer txt Datei, die diesen Code enthiet, hab verschiedene Möglichkeiten probiert. 2.) über den Mega16 mit printf("AAFAE1") Leider bekomme ich mit keine Rückmeldung vom Modul. Muss das Blockweise "gesendet" werden? Vielleicht kann mir jemand nen Tipp geben. Danke schon mal im voraus. Hardware: ATmega 16, 16MHz, UART to USB Bridge, HM-TRP868 Compiler: AVR Studio 4, winAVR Sprache: C
:
Verschoben durch Moderator
Hallo Krapao, danke für deine Antwort. Das Datenblatt ist mir bereits bekannt. Auf Seite 4 stehen die Instruktionen. Jedoch ist mir nicht klar, wie diese ausgegeben werden. Die Parameter sind in hex anzugeben, die Instruktionen allerdings scheinbar im ACII Code? Muss der string ein "end string Zeichen" haben? Gruß Andy
Ohne auch nur die blassesste Ahnung von dem Modul zu haben (dafür schon etliches mit serieller Datenübertragung gemacht) vermute ich folgendes: - Die Übertragung erfolgt als ASCII-HEX, d.h. immer zwei Zeichen aus '0'..'9' und 'A'-'F' hintereinander bilden ein Byte. - Der String muss sehr wahrscheinlich mit einem Ende versehen sein, also <cr>, <lf> oder zwei Zeichen <cr>+<lf> - ob die Leerstellen zwischen den Bytes nötig sind, möglich aber eher unwahrscheinlich Bei der Konfiguration über Hyperterminal muss unbedingt jedwedes Handshake abgeschaltet werden, weil sonst Hyperterminal wartet oder im Falle von XOn/XOff selber Zeichen sendet. Vermutlich muss auch 8bit und keine Parität verwendet werden. Viel Erfolg! Gruß Ekkehard
IMHO ist das nicht so. Du schickst drei Bytes (Hex) AA FA F0 (= Reset to default parameter, no parameter follows) und bekommst die Antwort (Hex) 4F 4B 0D 0A d.h. "OK\r\n". Die Leitungen CONFIG und ENABLE müssen dabei auf LOW liegen. Wie du das bei deiner UART to USB Bridge lösen kannst... vielleicht ganz banal pragmatisch mit 1-2 Jumpern, wenn du nur selten konfigurieren musst. Oder das Datenblatt der Bridge studieren, wo man mindestens eine freie Steuerleitung herbekommen kann. Wenn du auf µC umsteigst: Vielleicht hilft dir der Sourcecode HM-TRP Configurator (Arduino) https://github.com/MikeSmith/HM_TRP_configurator
Zum Versenden von Bytes, die man als Hexzahlen kennt, benutze ich HTerm ("Ein- und Ausgabe in Ascii, Hex, Binär und Dezimal") oder das Br@y++ (kann man gut Kommandos auf Makrotasten legen). Downloadadressen stehen im Artikel RS232
Wenn das so ist wie Krapao schreibt, kommt man mit Hyperterminal nicht weit. Wenn ich mich recht entsinne muss man dann Binärdateien erzeugen und senden. Das ist ein riesen gehampel, deshalb lieber was anderes nehmen! Gruß Ekkehard
Hallo Leute, vielen Dank für Euro Infos. Ich werde es in den nächsten Tagen mit euren Hinweisen testen und auf jeden Fall nen Feedback geben. @Ekkehard: Das wundert mich eben auch, dass da keine End Zeichen erforderlich sind und keine Hinweise zur Notwendigkeit der Leerzeichen. Ich werde die Einstellungen des HyperTerminals erneut prüfen. @Krapao: Die UART to USB Bridge ist von myAVR. Eigentlich bin ich nicht der Freund von vorgefertigten Modulen. Denn was da genau vor sich geht, weiß man dann nicht genau und ist fürs debugging schwierig. Aber die myAVR Bridge ist echt super und arbeitet seit Jahren stabil (ist Brigde und Progammer für ca. 30€). Das ist aber auch das einzige, was ich von myAVR habe. Der Rest Eignebau, außer dem Funkmodul natürlich. Nochmals vielen Dank und Grüße Andy
> Das wundert mich eben auch, dass da keine End Zeichen erforderlich sind Der Befehlssatz (drittes Byte) ist dem Modul ja bekannt und da wäre es auch einfach für das Modul die Zahl der Parameter (Bytes) pro Befehl zu kennen bzw. entsprechend viele Bytes zu parsen. > UART to USB Bridge ist von myAVR mySmartUSB MK2 (Programmer und Bridge)? In dessen Beschreibung steht was von Hardware-Handshake RTS/CTS (=> RS232) Möglichkeiten im Datendurchreiche-Modus RS232. Die RTS-Leitung des PC kannst du eventuell benutzen, um die CONFIG Leitung zu bedienen (auch aus HTerm oder Br@y++ aus möglich). Wenn du auf den Sleep-Modus beim HM-TRP868 verzichtest und ENABLE dauerhaft auf LOW legst, reichen die Leitungen der Bridge.
Hallo Leute, vielen Dank für Eure Hilfen, ihr habt mir sehr geholfen. In der Tat reagiert das Modul nur auf hex code Eingaben. Ich nahm an, es müssten ASCI Zeichen sein, die ich mit dem hyper Terminal von windows senden wollte. Laut Datenblatt sollten die Parameter in hex gesendet werden. Wie die Instruktionen gesendet werden sollen, stand nicht expliziet drin. Habs dann mit dem HTerm versucht und die hex codes damit rübergesendet. Das Modul antwortet beim Ändern der config mit ok und beim Lesen der config mit dem entsprechenden code. Genau, es ist der mySmartUSB MK2 (ist Programmer und Bridge). Für das Funkmodul soll die Bridge nur zum Einsatz kommen, wenn das Modul in seiner config geändert werden soll. Dies geht mit HTerm schnell und effizient. Ansonsten wird gesendet und empfangen (und Steuerung der config, enable Leitungen) über einen Mega16. Evtl. schreibe ich noch nen paar c Zeilen, um grundlegende config Änderungen per Mega16 vorzunehmen. (back to default config) Richtig komfortabel wäre ein win Program, mit dem die Konfig geändert werden kann. Der Hersteller bietet so ne Software kostenlos an, aber läuft nicht. Laut Hersteller muss das Modul über COM1 laufen, reagiert aber trotzdem nicht. Evtl. läuft es unter win7. Nochmals vielen Dank an Euch. Andy
@Andy aus Tirol Habe schon mal mit dem Modul gearbeitet. Mein Rat ist nur die Frequenz(hD2) und transmission power (h96) zu ändern. Alles andere bringt nicht so viel. Bei freier Sicht habe ca. 500 Meter mit Drahtantenne erreichen können. Start baud ist 9600. Zwischen Bytes würde ich 1ms Pause einlegen. Sicher ist sicher. Was ich nicht rausgefunden habe, wie man Reading the current Config parameter [hE1] benutzt.
Hallo Rolf, durch Ostern komme ich erst jetzt zum Schreiben. Besten Dank für Deine Anmerkungen. Das Auslesen der config geht recht einfach (dank der Tipps hier im Forum): AA FA E1 in hex direkt auf das Modul geben. Die Antwort ist wieder in hex, die einzelnen Parameter sind durch \n bzw. durch 0 getrennt. Die Werte kann man sich in dez umwandeln (mittels Win Rechner). Die Reichenfolge der Parameter ist dieselbe wie in der Default Tabelle im Datenblatt. Nur der Block in der Mitte ist etwas verwirrend, da die Parameter dort nicht getrennt sind. Die Freq. ist der allererste Wert. Danke für Tipps mit der Verstellerei der Parameter. Ich habe die Sendeleistung nun auf Minimu reduziert, werde aber eine Gummiantenne anschließen (Drahtantenne ist schlecht angekoppelt, reflktierte Welle zu groß, die Gummiantenne ist 9cm lang und kostet 5€, gibt es auch in 5cm Länge). Habe die Reichweite noch nicht getestet, alledings ist dies (Reichweite) bei meinen Anwendungen eher irrelevant. Also, nochmals vielen Dank und schönen Abend. Werde die Tage noch mal in diesen Thread reinsehen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.