WiFi Telemetrie Modul ESP8266 mit transparent-seiral-bridge für 5 €

kabauterman

Erfahrener Benutzer
#1
Ich bin ziemlich neu in der RC Welt und hab diese Woche meine Quanum Nova bekommen. Ich bin ziemlich erstaunt, was man mit ArduCopter alles machen kann.

Als erstes wollte ich natürlich ein Telemetrie-Modul zu meinem QN hinzufügen, jedoch am liebsten am Tablet und ohne seperaten USB Adapter mit Antenne.

Einziger Weg für mich war es also eine WiFi Möglichkeit zu suchen.

Ich weiß, dass die Drohne das 2,4-GHz-Band für die Fernbedienung verwendet, aber ich will sehen wie es sich auf Reichweite und Konnektivität auswirkt für beides 2.4 GHz zu verwenden, immerhin gibt es auch Bluetooth Telemetriemodule die ebenfalls auf 2,4 GHz senden.

Seit einigen Monaten spielte ich mit dem Microcontroller-basierte, Serial-WiFi-Module, genannt ESP8266 herrum, diese bieten viel Rechenleistung (80 MHz) eine Menge RAM (64 + 96KB) und haben bis zu 1M Flash-Speicher.

Man kann sie via alternativer Firmware mit Arduino IDE (mit hilfe eines Plugins) oder mit LUA-Code (Firmware genannt NodeMCU) programmieren.

Ich habe einige interessante Smart-Home und Kamera-Projekte mit ihnen realisiert.
Aber für die Telemetrie brauchte ich etwas anderes, und das Projekt auf Github von einem Typ namens beckdac für eine einfache ESP8266-transparent-Bridge ist genau das was ich suchte. Es wandelt eingehende und ausgehende serielle Signale und sendet sie über WiFi als TCP-Pakete (wie bei eurem Router oder Hotspot).

Man kann das Modul zu einem bestehenden WIFI verbinden, oder besser für meinen Anwendungsfall, es kann als WiFi Access Point fungieren und Smartphone, Tablet oder Notebook können sich einfach in dieses WLAN einloggen.

Zuerst muss die Firmware mit einem USB-Seriell-Konverter (RX / TX vertauschen) mit 3,3 V (Achtung, das ESP Mobul funktioniert nur mit 3,3 V, nicht mit 5V benötigen, werden Sie es brennen mit 5V!) auf das ESP8266 Modul geflasht werden. Dazu benötigt man zwingend eine seperate, leistungsfähige Stromversorgung für das WLAN-Modul weil der Serielle Konverter zu wenig Leistung liefert.

Ich habe eine kleine ZIP Datei mit der Firmware in v.0.4 und .bat fürs flashen dem mitgelieferten ESP Tool (es muss nur die COM-Anschluss in der BAT-Datei angepasst werden) gemacht.

Die meisten der verfügbaren ESP Module benötigen 3,3V am VCC-Pin und CH_PD-Pin und Masse/GND am GND-Pin (hoffentlich offensichtlich :p) und am GPIO 15-Pin um zu laufen. Um das Modul in den Flashmodus zu versetzen muss man GPIO0 beim anschalten auf GND verbinden, die blaue LED leuchtet dann nur einmal sehr kurz auf.

Ich denke ein ESP Modul mit separaten Antennenanschluss bietet sich an, weil ich glaube das die Reichweite der integrierten Antenne nicht ausreichen wird, bzw. die integrierte Antenne von anderen Bauteilen der Drohne leicht abgeschirm werden kann.

Beispiele: ESP-07, ESP-201, ESP-02, ESP-05 (bei diesem weis ich nicht, wie man den Flashmodus zu laufen bekommt, da es keinen GPIO0-Pin gibt)

ESP8266 bei Banggood

Der Rest nach einem erfolgreichen Flash ist relativ einfach, Das ESP Modul anschalten, also keine GPIO0 auf GND. Verwenden Sie ein serielles Terminal-Tool, um mit dem Modul zu verbinden, die Standard-Baudrate 9600.

Ändert den WiFi-Modus, WLAN-Name, WiFi Passwort und Baudrate auf die Bedürfnisse (QN APM verwendet BAUD 57600 UART an dem Telemetrie-Port), wie es in der Dokumentation (README.md) geschrieben ist. Modul neustarten, Strom aus und wieder an, und prüfen Sie die WiFi-Verbindung, manchmal verbindet es nicht im ersten Versuch, aber wenn es verbunden ist, bleibt es das auch.

Um die serielle Verbindung von Ihrem Smartphone oder Tablet zu überprüfen, verwende ich JuiceSSH und erstelle eine Telnet-Verbindung zum IP des ESP Modul (wenn im AP-Modus Standart IP ist 192.168.4.1) und verwende Port 23. Mit dem "+++ AT "-Befehl kann man testen ob die Bridge ordentlich funktioniert, es sollte "OK " aus Antwort kommen. Dann ist soweit alles bereit um es in die Drohne zu integrieren.

TX/RX/GND vom Telemetry/UART Port des APM zu RX/TX/GND des ESP8266 Moduls verbinden (ja, müssen getauscht werden, Eigenheit des ESP8266).

Leider nutzt das ESP 3.3V wie ich schon sagte, aber der APM Controller verwendet 5V und es gibt keine 3.3V Rail in der QN. Also brauchen wir noch eine Spannungsversorgung mit einem DC-DC-Breakdownmodul von 12V auf 3,3V oder oder 5V auf 3,3V je nachdem wo wir den Strom für das Telemetriemodul abzapfen wollen.

Ich verwende diesen hier und stellen ihn auf 3,3 V. IN kommt direkt von der Batterie des QN. Ich verwende einen ESP-201 und eine separate Antenne auf der Rückseite meines QN, aber ich weiß nicht, wie viel die interne Antenne des Moduls die RC-Verbindung stört.

Nachdem ich alles zusammen gelötet habe folgte der erste Test mit der Tower App, Einstellungen, TCP-Verbindung, IP auf 192.168.4.1 und Port auf 23.

Nach dem einschalten der Drohne, kann ich mit dem Tablet eine Verbindung zum erscheinenden WLAN herstellen und in der Tower App connect klicken. Anschließend sehe ich alle Telemetriedaten auf meinem Tablet-Display.

Leider kann ich die Reichweite und den Einfluss auf die Funkverbindung leider derzeit nicht testen da mir zwei Propeller bei einem Absturz gebrochen sind und ich noch keine neuen habe....

Ich hoffe, meine Erklärung ist gut und relativ einfach verständlich, wenn jemand auf der Suche nach einem einfachen und günstigen Telemetrie-Modul ist, wird er wahrscheinlich nichts für unter 5 € finden, falls doch belehrt mich eines besseren :).

Viel Spaß und einen absturzfreien Flug. :cool:

(Hab den Text aus meinem englischen Thread im rcgroups.com Forum übersetzt und korregiert um nicht nochmal alles neu schreiben zu müssen, also bei Rechtschreibfehlern bitte nicht auseinander reißen :) )

P1040006.jpg Telemetry.jpg
 
Zuletzt bearbeitet:

Rangarid

Erfahrener Benutzer
#2
Habs nur grob überflogen, aber hab ich auch schonmal gemacht. Das ganze funktioniert auch hervorragend mit Multiwii/Cleanflight/Baseflight und der entsprechenden Android App. Reichweite konnte ich aber noch nicht testen.
 
#3
#5
Gute Frage, hab ich glatt übersehen das der Pin nicht rausgeführt ist....

Notfalls eben GPIO 0 auftrennen und zum flashen auf Masse ziehen. Nicht so schön aber machbar...
 

kabauterman

Erfahrener Benutzer
#6
Hab oben mal noch zwei Bilder eingefügt.

Das 05er Modul gefiel mit eigentlich für diesen Zweck auch am besten aber GPIO0 anzapfen ist ziemlich tricky bei diesen winzig kleinen Beinchen.

ein 02er Modul bietet sich auch noch gut an, ist jedoch momentan bei Banggoog nicht lieferbar.
 
#7
Ja, weil das 02er nicht lieferbar war wurds eben das o5er. Schau mer mal wnens da ist.
 

kabauterman

Erfahrener Benutzer
#9
Hab heute die APM Firmware auf 3.2.1 aktualisiert seitdem bekomme ich keinen Connect mehr, scheint als ob der FC nun keine Daten mehr über den UART Port sendet.

Hast du vllt. Eine Idee?
 

kabauterman

Erfahrener Benutzer
#10
Hab heute die APM Firmware auf 3.2.1 aktualisiert seitdem bekomme ich keinen Connect mehr, scheint als ob der FC nun keine Daten mehr über den UART Port sendet.

Hast du vllt. Eine Idee?
Vllt. auch für andere Interessant.

der FC der Quanum Nova benötigt eine angepasste Firmware Version damit über den UART Port Telemetriedaten ausgegeben werden. Wieder was gelernt.
 
#11
So, ich habs geschafft den ESP05 mit deinen files zu Flashen, GPIO 0 von VCC freigekratzt, rausgeführt und auf Masse gelegt.
Danach läuft deine Flash bat prima phne Fehler durch.
Danach ab vom Strom, GPIO 0 Ab von Masse und wieder Spannung rauf.

Nu hänge ich. Als AP taucht der ESP erstmal nicht auf und auch per serieller Konsole bekomme ich keine AT Komandos gesented.
In der Konsole sehe ich beim booten des ESPs ein paar Zeichen kommen, das wars dann. Habe diverse Baudrates und Zeilenende-Optionen beim senden versucht. Keine Reaktion auf "+++AT"
 

kabauterman

Erfahrener Benutzer
#12
So, ich habs geschafft den ESP05 mit deinen files zu Flashen, GPIO 0 von VCC freigekratzt, rausgeführt und auf Masse gelegt.
Danach läuft deine Flash bat prima phne Fehler durch.
Danach ab vom Strom, GPIO 0 Ab von Masse und wieder Spannung rauf.

Nu hänge ich. Als AP taucht der ESP erstmal nicht auf und auch per serieller Konsole bekomme ich keine AT Komandos gesented.
In der Konsole sehe ich beim booten des ESPs ein paar Zeichen kommen, das wars dann. Habe diverse Baudrates und Zeilenende-Optionen beim senden versucht. Keine Reaktion auf "+++AT"
Versuch nochmal eine Standard AT Firmware zu flashen und dann per normalem AT command einen AP zu erstellen (findet man online wie man das macht)

Das Modul sollte sich diese AP einstellung im EEPROM merken, dann kannst du die Bridge Firmware wieder flashen und der AP sollte nach dem starten auftauchen.
 

aargau

Erfahrener Benutzer
#13
Wow, das teil scheint ja doch interessanter zu sein als ich gedacht habe. Nicht einfach nur ein Serial2UDP WiFi Adapter, nein viel mehr.

Ich Frage mich gerade ob man das teil ev. auch sinnvoll als Temperatur Sensor via Batterie einsetzen kann?
Im PowerDown Mode soll es ja <1uA verbrauchen. Könnte man das teil so Programmieren, dass es ein DTH22 1x pro Minute auswertet und via HTTP Request an einen Server sendet, die restliche Zeit aber eben unter 1uA verbraucht und so auch an einer 18650 Zelle ewig läuft? (man müsste halt eine Diode zwischen hängen, damit die 3.5V nicht überschritten werden).

Ich bin selbes momentan mit einem Arduino und RF24 Funkmodulen am realisieren. Das braucht aber bedeutend mehr Platz und kann auch nicht direkt ins Netzwerk senden sondern überträgt die Daten via Empfänger Arduino an den Server. Braucht aber dafür wirklich fast kein Saft und läuft ewig mit Batterie.
 
#14
Danke Kabauterman, das probier ich mal aus.

Ich Frage mich gerade ob man das teil ev. auch sinnvoll als Temperatur Sensor via Batterie einsetzen kann?
Im PowerDown Mode soll es ja <1uA verbrauchen. Könnte man das teil so Programmieren, dass es ein DTH22 1x pro Minute auswertet und via HTTP Request an einen Server sendet, die restliche Zeit aber eben unter 1uA verbraucht und so auch an einer 18650 Zelle ewig läuft? (man müsste halt eine Diode zwischen hängen, damit die 3.5V nicht überschritten werden).
Davon laufen bei mir seit Monaten 3 Stück ;-)
Aber alle noch mit nem Zusatz Arduino und den ESPs nur als Serial-Wifi, da damals die Firmware noch nicht so weit war das man direkt auf dem ESP programmieren konnte. Powerdown war damals auch noch nicht bekannt. Die beiden im Haus hängen einfach an 5V Quellen die eh immer an sind, der Draußen wird von ner 18650 in ner ganz billigen Powerbank gespeist. Da diese für 2 Zellen gedacht war ist im Case noch latz für Arduino und ESP gewesen. Die Powerbank wird von ner kleinen Solarzelle die direkt nen USB Ausgang hat geladen.
Das ganze logt per HTTP get an meinen Server in ne kleine DB und wird dann mittels C3 charts visualisiert.
Läuft wie gesagt prima so, selbst im Winter/Frühjahr immer genug Saft.

Schau dir das Ding mal an, das ist auch nett als kleine, Eigenständige Lösung. Der loggt direkt im ESP:
https://github.com/EnvironmentMonitor/ESP8266-DHT11-WiFi_Sensor/blob/master/ESP_TH_Logger.ino

So, OT ende.
 

kabauterman

Erfahrener Benutzer
#15
Wow, das teil scheint ja doch interessanter zu sein als ich gedacht habe. Nicht einfach nur ein Serial2UDP WiFi Adapter, nein viel mehr.

Ich Frage mich gerade ob man das teil ev. auch sinnvoll als Temperatur Sensor via Batterie einsetzen kann?
Im PowerDown Mode soll es ja <1uA verbrauchen. Könnte man das teil so Programmieren, dass es ein DTH22 1x pro Minute auswertet und via HTTP Request an einen Server sendet, die restliche Zeit aber eben unter 1uA verbraucht und so auch an einer 18650 Zelle ewig läuft? (man müsste halt eine Diode zwischen hängen, damit die 3.5V nicht überschritten werden).

Ich bin selbes momentan mit einem Arduino und RF24 Funkmodulen am realisieren. Das braucht aber bedeutend mehr Platz und kann auch nicht direkt ins Netzwerk senden sondern überträgt die Daten via Empfänger Arduino an den Server. Braucht aber dafür wirklich fast kein Saft und läuft ewig mit Batterie.
Damit kann man sehr sehr viel machen :)

Gibt ne eigene Arduino Firmware, die NODEMCU Firmware und einiges an spezialisierten firmwares wie die serial bridge
 

aargau

Erfahrener Benutzer
#16
Ist es normal, dass ich zum Teil 10 Anläufe brauche um die Firmware / ein Scatch zu Flashen oder mach ich etwas falsch? Bei mir bricht der Upload immer wieder ab.
 

kabauterman

Erfahrener Benutzer
#17
Ist es normal, dass ich zum Teil 10 Anläufe brauche um die Firmware / ein Scatch zu Flashen oder mach ich etwas falsch? Bei mir bricht der Upload immer wieder ab.
Das klingt nicht gut, eigentlich geht das alles in einem Rutsch, aber ich hab bisher auch lediglich 07, 12E und 201 Module ausprobiert. Mein Arbeitskollege verwendet aber ebenfalls 01er und hat auch von keinen Problemen berichtet.
 

aargau

Erfahrener Benutzer
#18
Habe es mit der Flash Software nun mal geschafft die neuste AT Firmware zu flashen, aber so wirklich sauber war das nicht. Sind ev. meine eher längeren Kabel ein Problem? Habe ca 30-40cm Jumper Wire drann, da zuhause in der Wohnung kein Lötkolben und kein Breadboard.
Da das Problem mit mehreren Modulen auftritt muss es fast sowas sein, denke ich.
Die Telemetrie Lösung von dir finde ich übrigens auch sehr praktisch, werde ich auch auf mind einen SoC flashen, das ewige gebastel mit den 433Mhz Modulen nervt mich schon lange.
 
#19
Jepp, 433 und BT nerven da echt, von daher wollte ich da schon länger was mit Wifi.
Werde mir einen für den APM und einen für die Cleanflight Boards bauen.
Wollte eben das Wifi auch jeweils entsrechend nennen.

Heute abend nochmal mit dem EPS05 versuchen. Ansonsten teste ichs erstmal auf einem der anderen Boards.
Hab zum basteln und Arduino Code testen diese noch da:
http://www.banggood.com/ESP8266-Ser...nterface-p-980654.html?p=3I2203073329201208V9
Die kann ich problemlos übern Arduino flashen.
 

kabauterman

Erfahrener Benutzer
#20
Jepp, 433 und BT nerven da echt, von daher wollte ich da schon länger was mit Wifi.
Werde mir einen für den APM und einen für die Cleanflight Boards bauen.
Wollte eben das Wifi auch jeweils entsrechend nennen.

Heute abend nochmal mit dem EPS05 versuchen. Ansonsten teste ichs erstmal auf einem der anderen Boards.
Hab zum basteln und Arduino Code testen diese noch da:
http://www.banggood.com/ESP8266-Ser...nterface-p-980654.html?p=3I2203073329201208V9
Die kann ich problemlos übern Arduino flashen.
Ich weiß das viele RCler nix von der Frequenz Überlagerung halten aber ich hatte hier Zuhause auch schonmal arge Probleme mit einem 433 MHz Funksender für meine Heizung, als dieser direkt neben dem Router stand ging kein WLAN mehr :D

Unklar aber Tatsache, mich nervt die Vorstellung eben auch einfach das man ständig diese USB Adapter mit sich rumtragen muss obwohl das Smartphone ja einfach in der Tasche steckt.

Hast du im Arduino IDE auch das entsprechende ESP Board ausgewählt, gibt ja unterschiede was die Flashsspeicher Größe angeht.
 
RCLogger

FPV1

Banggood

Banggood

Oben