Inhaltsverzeichnis:

Wireless Serial (UART) für Arduino/STM32/etc. - Gunook
Wireless Serial (UART) für Arduino/STM32/etc. - Gunook

Video: Wireless Serial (UART) für Arduino/STM32/etc. - Gunook

Video: Wireless Serial (UART) für Arduino/STM32/etc. - Gunook
Video: #257 Wireless Serial Comms⚡for your Arduino (or other μController) 2024, November
Anonim
Wireless Serial (UART) für Arduino/STM32/etc
Wireless Serial (UART) für Arduino/STM32/etc
Wireless Serial (UART) für Arduino/STM32/etc
Wireless Serial (UART) für Arduino/STM32/etc

Hoffentlich werden mir alle zustimmen, dass das Arduino Serial ein großartiges Werkzeug zum Debuggen Ihrer Projekte ist. Nun, es ist im Grunde die einzige Option zum Debuggen eines Arduino. Aber manchmal ist es nicht möglich oder praktisch, ein USB-Kabel vom Arduino oder einem anderen Mikrocontroller an Ihren Computer anzuschließen.

Also habe ich dieses UART-WiFi-Board gemacht, das auf dem ESP8266-01 basiert, das heutzutage spottbillig ist. Die Platinen sind klein, Sie können sie an ein Steckbrett anschließen, Strom, RX, TX und Masse anschließen und alles, was sie vom UART empfängt, über WLAN an Ihren Computer übertragen und umgekehrt.

Merkmale:

  • Baudraten bis 115200 (theoretisch sogar bis 921600, dies ist aber nicht getestet)
  • empfängt/sendet Daten von UART und sendet/empfängt Daten über WiFi direkt an Ihren Computer über Port 23 (Telnet)
  • 18 Komponenten, Teile kosten ca. USD 3,50
  • 20 x 45 mm doppelseitige Leiterplatte, Breadboard-kompatibel
  • 5 V toleranter RX-Pin
  • Spannungseingang von 12 V bis 3,3 V, Stromaufnahme ca. 80 mA im Durchschnitt

Ich benutze diese Boards jetzt seit ungefähr einem halben Jahr und fand sie äußerst nützlich. Ich bevorzuge sie sogar gegenüber USB-UART-Brücken, weil ich bei meinem Board einfach eine davon in ein Steckbrett stecke und ich mir keine Sorgen machen muss, Kabel über meinen Schreibtisch zu verlegen. Sie haben auch keine andere Hardware, keine freien USB-Ports und diese Boards bieten eine vollständige galvanische Trennung von Ihrem Computer, was eine gute Sicherheitsvorkehrung ist und Sie sich keine Sorgen um unterschiedliche Massepotentiale machen müssen.

Schritt 1: Wie es funktioniert

Wie es funktioniert
Wie es funktioniert
Wie es funktioniert
Wie es funktioniert

Sobald das Modul mit Strom versorgt wird, versucht es, sich mit dem vordefinierten WLAN zu verbinden. Während dieser Phase blinkt die gelbe LED. Sobald die Verbindung hergestellt ist, leuchtet die gelbe LED weiter. Danach wartet das Modul auf eine Verbindung von einem Telnet-Client (siehe nächster Schritt) und die grüne LED blinkt. Nach erfolgreichem Verbindungsaufbau zeigt Ihnen das Telnet-Terminal eine Abfrage an, in der Sie nach der gewünschten Baudrate gefragt werden. Sie geben die Baudrate in das Terminal ein und fertig! Jetzt wird alles, was Sie in das Terminal eingeben, über WLAN gesendet und dann über den TX-Pin des ESP8266 ausgegeben. Ebenso wird alles, was auf dem RX-Pin erscheint, an das Terminal gesendet. Grundsätzlich können Sie den Unterschied zwischen einer seriellen und einer Telnet-Konsole nicht erkennen.

LEDs:

  • gelb (ganz links) - WLAN-Status, blinkend - Verbindungsversuch, leuchtend - verbunden
  • grün (zweite von links) - Telnet-Status. blinkt - wartet auf Verbindung, grün - verbunden
  • blau (zwei ganz rechts) - RX und TX

Schritt 2: So richten Sie es ein

So richten Sie es ein
So richten Sie es ein
So richten Sie es ein
So richten Sie es ein
So richten Sie es ein
So richten Sie es ein
So richten Sie es ein
So richten Sie es ein

Verbindung

Die einzige kleine Komplikation besteht darin, dass Sie für jedes Telnet-Gerät eine Art Kennung benötigen (ähnlich wie bei jeder seriellen Schnittstelle mit einer Nummer). In meinem Projekt habe ich statische IP verwendet. Sobald ein Gerät eine WLAN-Verbindung herstellt, erhält es normalerweise automatisch eine IP-Adresse vom DHCP-Server. Dies wird als dynamische IP-Adressierung bezeichnet, aber das Problem besteht darin, dass sich die IP-Adresse ändern kann. Also habe ich das Board so programmiert, dass es immer eine vordefinierte IP-Adresse erhält, in meinem Fall 192.168.2.20x, wobei x die Boardnummer ist. Dies wird als statische IP-Adressierung bezeichnet. Dann verbinden Sie einfach eine Telnet-Konsole mit 192.168.2.20x:23 und schon kann es losgehen.

Als Konsole kann man eine Vielzahl von Apps nutzen, die beiden bekanntesten sind wohl PuTTY oder YAT (Yet Another Terminal). Ich benutze letzteres und im Bildteil sehen Sie, wie man es einrichtet - Sie müssen nur die zuvor erwähnte statische IP-Adresse kennen.

Firmware

Die Firmware ist in Arduino IDE geschrieben und Sie finden sie auf meinem GitHub. Wenn Sie Ihren ESP8266 programmieren möchten, müssen Sie in den Header schauen und dort einige Variablen ändern, nämlich:

  • ssid - der Name des WLANs, mit dem sich das Board verbinden soll
  • pass - Passwort für dieses WLAN
  • ip - die statische IP, die das Board haben soll; wähle etwas außerhalb des DHCP-Pools (oder wähle einfach etwas zwischen 200 - 250, das ist normalerweise kostenlos)
  • Gateway - die IP Ihres Routers
  • Subnetz

Sie können die letzten beiden Informationen von der Befehlszeile abrufen, indem Sie Win + R drücken, "cmd" eingeben und dann "ipconfig" eingeben. Siehe Bilder.

Natürlich benötigen Sie die Arduino IDE, esp8266 Toolchain etc., aber es gibt viele andere Tutorials dazu.

Planke

Sie müssen auch die Leiterplatte herstellen. Obwohl es nicht kompliziert ist und Sie es theoretisch zu Hause machen könnten, empfehle ich Ihnen, einen chinesischen PCB-Hersteller zu verwenden. Es ist billig und funktioniert gut. Ich habe ALLPCB verwendet und war zufrieden.

Leistung

Sie müssen das Board mit Strom versorgen. Sie können es entweder direkt mit 3,3 V versorgen (Jumper JP1 in der Position 3,3 V) oder die Spannung über einen 3,3 V-Regler speisen (Jumper in der anderen Position). Der Regler kann Spannungen bis 12 V aufnehmen. Alle Kondensatoren sind bereits onboard integriert.

Schritt 3: Fazit

Abschluss
Abschluss

Wie ich bereits sagte, fand ich diese Boards sehr nützlich für das Prototyping, nicht nur mit einem Arduino, sondern mit jeder MCU im Allgemeinen. Und ich benutze sie jetzt seit ungefähr einem halben Jahr und ich hatte kein Problem damit.

Quellcode, Eagle-Dateien und einige Bilder finden Sie entweder auf meinem GitHub oder in der Zip-Datei unten. Aber ich empfehle GitHub, da es möglicherweise eine neuere Version gibt.

Wenn Sie Fragen, Kommentare oder Vorschläge haben, können Sie diese gerne unten hinterlassen.

Empfohlen: