Inhaltsverzeichnis:
Video: Wireless Serial (UART) für Arduino/STM32/etc. - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
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
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
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
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:
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i
RC-Tracked-Roboter mit Arduino – Schritt für Schritt: 3 Schritte
RC Tracked Robot mit Arduino – Schritt für Schritt: Hey Leute, ich bin zurück mit einem weiteren coolen Robot-Chassis von BangGood. Ich hoffe, Sie haben unsere vorherigen Projekte durchgegangen – Spinel Crux V1 – Der gestengesteuerte Roboter, Spinel Crux L2 – Arduino Pick-and-Place-Roboter mit Roboterarmen und The Badland Braw
Verwenden eines STM32 wie ein Arduino-Tutorial - STM32F103C8: 5 Schritte
Verwenden eines STM32 wie ein Arduino-Tutorial | STM32F103C8: Hey, was ist los, Leute! Akarsh hier von CETech. Im folgenden Tutorial werden wir uns die verschiedenen von STM angebotenen Mikrocontroller wie den STM32F103C8, STM32F030F4 und STM8S103F3 ansehen. Wir werden diese Mikros miteinander vergleichen, zusammen mit
GRUNDLAGEN DER UART-KOMMUNIKATION: 16 Schritte
GRUNDLAGEN DER UART-KOMMUNIKATION: Erinnern Sie sich, als Drucker, Mäuse und Modems dicke Kabel mit diesen riesigen, klobigen Steckern hatten? Die, die buchstäblich in Ihren Computer geschraubt werden mussten? Diese Geräte verwendeten wahrscheinlich UARTs, um mit Ihrem Computer zu kommunizieren. Während USB fast