Ich habe mir die LoRa-Funkmodule E32-868T und die Anleitung dazu zunächst nur erst einmal auf dem Papier angesehen. Die Funkmodule kommunizieren über UART. Leider finde ich keine Anleitung, wie man die Dinger programmieren muss. Im Netzt gibt es Programme für den Betrieb mit einem Arduino. (k. A. davon) Ich würde MSP430 + Programmiersprache C verwenden wollen. Meine Frage: Hat jemand einen Hinweis, wo man etwas zur Programmierung und dem Betrieb dieser Module finden könnte? Das beginnt schon bei der Konfiguration. Z.B. Wie könnten die Programmzeilen lauten, um die Adresse, den Kanal oder ob das Modul der Empfänger oder Sender sein soll usw. fest zu legen?
:
Bearbeitet durch User
Wolle G. schrieb: > Im Netzt gibt es > Programme für den Betrieb mit einem Arduino. (k. A. davon) > Ich würde MSP430 + Programmiersprache C verwenden wollen. > Meine Frage: Hat jemand einen Hinweis, wo man etwas zur Programmierung > und dem Betrieb dieser Module finden könnte? > Ich würde MSP430 + Programmiersprache C verwenden wollen. Warum guckst du dann nicht in den Arduino Code?
Harry L. schrieb: > Guckst du hier: Dort hatte ich nur die Anleitung, welche im 1. Beitrag bereits angehängt wurde, gefunden. Dort finde ich aber nicht das, was ich im 1. Beitrag beschrieben hatte.
Wolle G. schrieb: > Harry L. schrieb: >> Guckst du hier: > > Dort hatte ich nur die Anleitung, welche im 1. Beitrag bereits angehängt > wurde, gefunden. Dort finde ich aber nicht das, was ich im 1. Beitrag > beschrieben hatte. Da gibts aber auch ein Zip-File mit Beispielen für versch. MCUs.
Das Datenblatt ist doch ausführlich, M0 und M1 legen den Modus fest, der Rest ist reines ASCII
Da gibt es doch nichts zu programmieren. 5V dran, M0/M1 beide auf Masse. Dann 2 Bytes Adresse, 1 Byte Kanal und x Bytes Daten in einem Rutsch senden, fertig. An deiner Stelle würde ich zunächst einmal zwei Module jeweils an einen USB/UART-Converter hängen und direkt am PC/HTerm o.ä. ein wenig damit herumspielen, um Erfahrungen damit zu sammeln. Nicht zu nahe beieinander liegen lassen, das könnte die jeweiligen Empfänger zudröhnen.
Eigentlich musst du die Dinger nicht programmatisch konfigurieren. Es gibt vom Hersteller ein PC Progrämmchen mit dem du die Konfiguration vornimmst. Die Einstellungen bleiben gespeichert. Du hast dann eine transparente USARt Verbindung. Bei meinen Lieferungen lagen damals sogar passende USB-Adapter bei.
:
Bearbeitet durch User
Hallo, so um die 10€, sehen interessant aus diese Module. Hat da jemand Erfahrung mit gesammelt, sind die empfehlenswert, oder gibt es ähnlich besseres? Danke
Langwelle schrieb: > so um die 10€, sehen interessant aus diese Module. > Hat da jemand Erfahrung mit gesammelt, sind die empfehlenswert, > oder gibt es ähnlich besseres? Die Idee hinter den Modulen ist gut, allein die Ausführung ist Scheiße. Warum man sich ohne Not auf ein Kanalraster von 1MHz festgelegt hat, erschließt sich wohl nur den Chinesen. Damit ist es nicht ganz einfach regelkonform in Deutschland zu bleiben. Was anderes als die bekannten Semtech-Chips und ein kleiner Controller steckt in den Modulen ohnehin nicht drin. Schade auch, dass es keine Infos dazu gibt wie die Bytes zusammengebastelt werden die dann in der Luft landen. Auch sollte man bedenken, dass man über die Module nur immer ein paar Byte als Block schicken kann. Es ist halt nicht so wie bei einem Bluetooth Modul. Meine ersten Projekte mit Lora habe ich auch mit diesen Modulen gemacht. Im Nachhinein war das (für mich) ein Fehler. Inzwischen benutze ich die RMF95 Module, die wesentlich flexibler zu handhaben sind sobald man die ersten Hürden überwunden hat.
Ach, noch was. Du sprichst vom E32-868T30D mit 1W Sendeleistung (30dBm). Die Leistung des Moduls lässt sich nach unten nur bis 21dBm einstellen. Mit dieser Leistung und dem Kanalraster von 1MHz sollte es nicht nur schwer sein, sondern unmöglich in D legal zu bleiben. Dann kauf lieber den kleinen Bruder E32-868T20D mit max. 20dBm. Der lässt sich dann auch soweit runterschrauben, dass er legal bleibt.
Legal, illegal, sch...egal, ist doch eh Spread Spectrum... Amateurfunker hassen diesen Trick. SCNR
H. schrieb: > Legal, illegal, sch...egal, ist doch eh Spread Spectrum... > Amateurfunker hassen diesen Trick. > SCNR Nicht nur die. Ich würde den Experten auch hassen der mit 1W und Dauerstrich alles um sich herum zum schweigen bringt.
H. schrieb: > Da gibt es doch nichts zu programmieren. 5V dran, M0/M1 beide auf Masse. > Dann 2 Bytes Adresse, 1 Byte Kanal und x Bytes Daten in einem Rutsch > senden, fertig. > An deiner Stelle würde ich zunächst einmal zwei Module jeweils an einen > USB/UART-Converter hängen und direkt am PC/HTerm o.ä. ein wenig damit > herumspielen, um Erfahrungen damit zu sammeln. Soweit bin ich noch nicht. Da meine Programmier- und Englischkenntnisse rel. schwach entwickelt sind, wollte ich erst mal eine Trockenübung ohne diskrete Module machen. Deshalb hatte ich zunächst mit der „Entwicklung“ der UART- Übertragung mit 2x MSP430, wie sie für die Ansteuerung der Funkmodule notwendig ist, begonnen. (Beitrag "Re: MSP430 über UART Daten senden") Das funktioniert jetzt wie gewünscht.(keine "Trockenübung") Vielleicht kann mal jemand meinen Programmentwurf für eine mögliche Konfiguration eines Funkmoduls („den kleinen Bruder E32-868T20D mit max. 20dBm“) beurteilen. (Anhang) Erste offene Fragen: 1) Was bedeutet C0,C1,C3 ? 2) Wie legt man fest, ob es Sender oder Empfänger sein soll?
:
Bearbeitet durch User
Genau aufgrund deiner Fragen wäre ein echtes Modul am USB-Converter sinnvoll, denn dann würdest Du ein „Gefühl“ für die notwendigen Schritte entwickeln.
Das sind Transceiver - d.h. sie senden und empfangen. Was du an RxD gibst wird gesendet. Empfangene Daten kommen über TxD zum Controller. Kannst du beantworten warum du die Konfiguration der Module im laufenden Betrieb verändern willst? Nur dann hast du mit C0 etc. zu tun.
Einhart P. schrieb: > Das sind Transceiver - d.h. sie senden und empfangen. Was du an RxD > gibst wird gesendet. Empfangene Daten kommen über TxD zum Controller. Danke. Das verstehe ich. Aber, ich konstruiere mal: Was passiert, wenn während des Sendens eines Datenpaketes zur gleichen Zeit Daten empfangen werden? Das geht doch über dieselbe Antenne (falsch gedacht?) > Kannst du beantworten warum du die Konfiguration der Module im laufenden > Betrieb verändern willst? Nur dann hast du mit C0 etc. zu tun. Nein,das kann ich nicht. Das läuft unter k. A. (keine Ahnung) Was soll es mal werden? Es sollen u. a. aus einem entfernt liegenden Heizraum zunächst 8 x 16Bit breite Temperaturwerte abgefragt werden. Der Zeitpunkt der Abfrage soll sporadisch festgelegt werden, indem ein Signal dorthin gesendet wird, welches den Sendeprozess im Heizraum auslöst. Damit sind die Sender für längere Zeiträume AUS. Ob ich mir die Module zulege oder nicht, soll davon abhängen, ob es mir gelingen könnte, auch mit Hilfe des Forums, die Module zum Laufen zu bringen. (alles ist Neuland) Deshalb auch die „komischen“ Fragen. z.B. Wozu sind C0, C1 ... gut? Weitere Fragen wurden schon im Hinterkopf gespeichert.
:
Bearbeitet durch User
Wolle G. schrieb: > Was passiert, wenn > während des Sendens eines Datenpaketes zur gleichen Zeit Daten empfangen > werden? Das geht doch über dieselbe Antenne (falsch gedacht?) Das ist generell bei allen Funkmodulen ein relativ komplexes Thema. Diese einfachen Module werden vermutlich(!) einfach lossenden und das Paket in der Luft wird ignoriert. Die ausgehende Nachricht könnte die "in der Luft" liegende Nachricht auch stören, am Ende haben alle Teilnehmer nichts. Kann ich aber mangels Erfahrung mit genau diesen Modulen auch nicht beweisen. Gute Funkmodule können "LBT - Listen before talk", also vor dem Senden abhören, ob die Luft rein ist. Wolle G. schrieb: > Deshalb auch die „komischen“ Fragen. Ich wiederhole nochmal meine Vorschlag, mit einem Demoset aus zwei Teilnehmern und einem einfachen Terminalprogramm wie z.B. HTERM oder Docklight wirst Du verstehen lernen. Kostet doch nicht viel. Du kannst beide Sets an einem PC anschließen und dann Nachrichten hin- und herpingen. Oder Du bringt einen in ein festes Senderaster von z.B. einer Sekunde und versuchst von der Gegenseite eine Nachricht zu senden und schaust, was passiert. Kommt die durch?
Die Vorgehensweise: Die beiden blauen Jumper vom USB-modul entfernen (M0/M1 auf high), Funkmodul aufstecken und USB Anschluss mit dem PC verbinden. Das Modul kann jetzt parametriert werden. Das RF_setting Programm starten und die Parameter für beide Module setzen. Gleicher Kanal, gleiche Adresse. Baudraten einstellen und Parameter auf die Module schreiben. Die beiden Module (M0 auf low) verhalten sich jetzt wie eine langsame Kabel Halb-Duplex_Verbindung. Mit Hilfe des USB Adapters (mit gesteckten Jumpern) kann man einfach testen.
Einhart P. schrieb: > Die Vorgehensweise: Die beiden blauen Jumper vom USB-modul entfernen > (M0/M1 auf high), Funkmodul aufstecken und USB Anschluss mit dem PC > verbinden. Das Modul kann jetzt parametriert werden. Habe ich das richtig verstanden? Man muss, um die Funkmodule zu konfigurieren, M0 und M1 nicht auf 0 setzen, sondern auf 1. Dann habe ich: „5V dran, M0/M1 beide auf Masse. Dann 2 Bytes Adresse, 1 Byte Kanal und x Bytes Daten in einem Rutsch senden, fertig.“ falsch verstanden. Oder ist das so zu verstehen: Um die Funkmodule zu konfigurieren müssen M0 und M1 auf 1 gesetzt werden. Sind M0 und M1 auf 0 gesetzt, kann ein Datentelegramm versendet bzw. empfangen werden. Zunächst noch einmal die Frage: Was muss bzw. sollte im HEAD-Byte stehen, um das Modul zu konfigurieren bzw. wie sollte meine Funktion void E32_konfigurieren(void) in: 0168-iar_V03-E32 konfig.c aussehen? Ich habe weder USB-module, noch die Funkmodule. Dafür aber Eigenbauten mit MSP430, die z.B. die Temperaturen mittels DS18B20 erfassen, die Daten speichern und ... Über UART wäre eine Datenübertragung zu den Funkmodulen möglich und die MSP430 sollen auch verwendet werden.
:
Bearbeitet durch User
Wolle G. schrieb: > Um die Funkmodule zu konfigurieren müssen M0 und M1 auf 1 gesetzt > werden. > Sind M0 und M1 auf 0 gesetzt, kann ein Datentelegramm versendet bzw. > empfangen werden. Genau so, allerdings denke ich mit 3.3V (nicht 5V) bzw. mit den internen Pull-ups brauchst Du nur Jumper nach Masse. In deiner späteren Schaltung würde ich die Pins mit dem Controller verbinden, dann bleibt man flexibel. Wolle G. schrieb: > Ich habe weder USB-module, noch die Funkmodule. Aber dann kaufe dich welche. Wenn Du etwas damit machen willst brauchst Du die doch eh.
OK, wenn es einigermaßen einfach werden soll, dann nimm die USB Adapter zum konfigurieren. Leider sind sie teuer geworden - ich habe sie noch als Zugabe bekommen. Du musst dich in deiner Anwendung nicht mehr um die Konfiguration kümmern. Die Module werden am PC eingestellt und dann in's Zielsystem gesteckt. Dann hast du eine transparente serielle Verbindung. Wenn du eine einfache Verbindung willst kannst du dann M0 auf 0 halten. Du musst dich nur noch um TxD und RxD kümmern.
Einhart P. schrieb: > OK, wenn es einigermaßen einfach werden soll, dann nimm die USB Adapter > zum konfigurieren. Leider sind sie teuer geworden - ich habe sie noch > als Zugabe bekommen. Warum sollte man sich USB Adapter kaufen, wenn es auch mit den vorhandenen µC gehen könnte. Deshalb auch noch einmal eine konkrete Frage zur Konfiguration. Wie müsste das noch fehlende HEAD-Byte aussehen? Könnten der folgende Programmentwurf funktionieren? int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer // Timer_einstellen(); // UART_einstellen(); P2DIR |= BIT4 + BIT5; // M0 M1 E32_konfigurieren(); konfiguration_senden(); for(;;); } void E32_konfigurieren(void) { P2OUT | = Bit4 + BIT5; // M0 und M1 auf 1 txbuffer[0] = ?? HEAD was muss hier stehen? txbuffer[1] = 0xAB // Adresse oberes Byte txbuffer[2] = 0xCD // Adresse unteres Byte txbuffer[3] = // SPED 8N1, baudrate, datenrate txbuffer[4] = 0x07; // Kanal 7 txbuffer[5] = 0x44 // OPTIO, hier Werkseinstellung } void konfiguration_senden(void) { i=0; while (i<6) { TXBUF0 = txbuffer[i]; while (!(IFG1 & UTXIFG0)); // USART0 TX buffer ready? i++; } }
Wolle G. schrieb: > Warum sollte man sich USB Adapter kaufen, wenn es auch mit den > vorhandenen µC gehen könnte. Das stimmt, da die USB-Serial heutzutage bereits bis zu 1€/Stück kosten können muss man da schon zweimal überlegen. Warum sollte man sich das Verhalten bequem auf dem PC anschauen, wenn man es durch ein Zielsystem auch komplizierter haben kann. Wenn Du es schon unbedingt auf dem Zielsystem direkt umsetzen willst, kaufe Dir jedenfalls einen Logicanalyzer (Saleae Clone 10€), damit Du den Traffic zum Modul sehen kannst.
Zunächst noch 2 weitere Fragen: a) Falls die Konfiguration des Funkmoduls erfolgreich war, bleibt die Einstellung auch nach Abschalten der Vorsorgungsspannung erhalten? b) Ist das das Senden eines Datenpaketes wirklich so einfach: M0/M1 beide auf Masse. Dann 2 Bytes für die Adresse des Empfängers, 1 Byte für Kanal des Empfängers und x Bytes Daten in einem Rutsch vom µC über UART an das Funkmodul senden, fertig.
:
Bearbeitet durch User
Hallo, Langwelle schrieb: > sind die empfehlenswert, > oder gibt es ähnlich besseres? Ich nutze diese Module sehr gerne: https://www.tindie.com/products/dorji_com/433mhz-sx1268-tcxo-module-drf1268t/
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.