Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Wie funktioniert es?
- Schritt 2: Was sind die Hauptfunktionen?
- Schritt 3: Materialaufbau
- Schritt 4: Beginnen wir mit der Elektronik auf dem Steckbrett
- Schritt 5: Gehen wir zur Software
- Schritt 6: Lassen Sie uns die Konfiguration durchführen
- Schritt 7: Lassen Sie uns die Arduino-Seite machen
- Schritt 8: Machen wir die Serverseite
- Schritt 9: Es ist Zeit, etwas zu löten
- Schritt 10: Machen wir den letzten Test
- Schritt 11: Sie können dieses Design an Ihre eigenen Anforderungen anpassen
Video: So erstellen Sie Ihr eigenes WIFI-Gateway, um Ihr Arduino mit dem IP-Netzwerk zu verbinden? - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Wie so viele Leute denken Sie, dass Arduino eine sehr gute Lösung für die Heimautomatisierung und Robotik ist
Aber in Bezug auf die Kommunikation kommen Arduinos nur mit seriellen Verbindungen.
Ich arbeite an einem Roboter, der permanent mit einem Server verbunden sein muss, der Code für künstliche Intelligenz ausführt. Ich habe versucht, ein RF-Netzwerk zu verwenden, wie ich es für Domotik gewohnt bin, aber es ist nicht effizient genug. Da sich der Roboter bewegt, kann ich das Ethernet Arduino Shield nicht verwenden. Arduino Wifi Shield ist teuer und scheint mir ein altes Design zu sein.
Ich brauchte etwas, das auf sehr einfache und effiziente Weise Daten mit einem Server austauschen kann.
Aus diesem Grund habe ich mich entschieden, ein Gateway auf Basis des sehr günstigen und energieeffizienten ESP8266-Mikrocontrollers zu entwickeln
Hier erfahren Sie, wie Sie das elektronische Bauteil bauen und die Software herunterladen.
Ich habe dieses Gateway für die Hausautomation und für Robotic verwendet.
Dies ist Teil einer globalen Hausautomationsinfrastruktur, die Sie hier ansehen können
Ich habe ein anderes anweisbares gemacht, das ein ESP8266-Schild verwendet und Löten vermeidet
Lieferungen
Ich schrieb ein anderes instructable zu diesem Thema
Schritt 1: Wie funktioniert es?
Das Gateway basiert auf einem ESP8266-Modul
Dieses Modul wird von einer Seite mit der seriellen Verbindung von der anderen Seite zum IP-Netzwerk mit dem Wifi verbunden.
Es fungiert als Blackbox. Von der seriellen Verbindung kommende Datenpakete werden an einen IP/Udp-Port gesendet und umgekehrt.
Sie müssen nur beim ersten Einschalten des Gateways Ihre eigene Konfiguration (IP, WIFI …) einstellen.
Es kann entweder rohe ASCII- und Binärdaten übertragen (kein HTTP, JSON…)
Es wurde entwickelt, um Objekte mit selbsterstellter Serversoftware zu verbinden, die schnelle und häufige Übertragungen kurzer Datenpakete benötigen.
Es ist am einfachsten mit Arduino Mega zu verwenden, die mehr als einen UART haben (Arduino Mega zum Beispiel), aber auch mit einem UNO laufen können.
Schritt 2: Was sind die Hauptfunktionen?
Meistens handelt es sich um eine Blackbox, die serielle Daten auf beide Arten in UDP-Pakete umwandelt und sendet.
Es hat 3 LEDs, die den Status und Verkehr des Gateways anzeigen.
Es bietet einen GPIO, der von Arduino verwendet werden kann, um darauf zu warten, dass das Gateway mit WIFI und IP verbunden ist.
Es läuft in 3 verschiedenen Modi, die mit Schaltern eingestellt werden:
- Gateway-Modus, das ist der normale Modus
- Konfigurationsmodus zum Einstellen der Parameter
- Debug-Modus für den Debug-Modus
Die meisten Parameter können an Ihre Bedürfnisse angepasst werden.
Schritt 3: Materialaufbau
Auf Ihrem Arduino benötigen Sie
- 1 x ESP8266-Modul - Ich wähle das MOD-WIFI-ESP8266-DEV von Olimex, das um die 5 Euro kostet und recht einfach zu bedienen ist.
- 1 x 5V Stromquelle
- 1 x 3,3 V Leistungsregler - ich verwende LM1086
- 1 x 100 Mikrofarad Kondensator
- 1 x ULN2803 APG-Modul (kann durch 3 x Transistoren ersetzt werden)
- 8 x Widerstände (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x 33k)
- 3 x LED (rot, grün, blau)
- 1 x Steckbrett PCB
- einige Drähte und Anschlüsse
Nur während der Bauschritte benötigen Sie
- 1 x FTDI 3.3v für die Konfiguration
- Lötkolben und Zinn
Vor dem Löten ist es wichtig, alle Komponenten auf dem Steckbrett einzurichten und zu überprüfen, ob alles in Ordnung ist.
Schritt 4: Beginnen wir mit der Elektronik auf dem Steckbrett
Das elektronische Layout liegt im Fritzing-Format vor
Sie können es hier herunterladen Schritt 1:
github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz
Machen Sie einfach das Schema, indem Sie auf die Spannung achten.
Denken Sie daran, dass ESP8266 keine Spannungen über 3,3 V unterstützt. Der FTDI muss auf 3,3 V eingestellt werden.
Schritt 5: Gehen wir zur Software
Beginnen wir mit der Gateway-Seite
Ich habe den Code mit Arduino IDE geschrieben. Sie benötigen also ESP8266, um von der IDE als Board bekannt zu sein. Wählen Sie das entsprechende Board mit dem Menü Extras / Boards aus.
Wenn Sie keinen ESP266 in der Liste sehen, müssen Sie möglicherweise das ESP8266 Arduino Addon installieren (Sie finden hier die Vorgehensweise).
Der gesamte benötigte Code ist auf GitHub verfügbar. Es ist Zeit, es herunterzuladen!
Der Hauptcode des Gateways ist dort:
Zusätzlich zu Standard-Arduino und ESP8266 enthält der Hauptcode, der benötigt wird, diese 2 enthält: LookFoString, der verwendet wird, um Strings zu manipulieren, und ist dort:
ManageParamEeprom, das zum Lesen und Speichern von Parametern im Eeprom verwendet wird und ist dort:
Sobald Sie den gesamten Code erhalten haben, ist es an der Zeit, ihn in den ESP8266 hochzuladen. Verbinden Sie zuerst den FTDI mit einem USB-Anschluss Ihres Computers.
Ich schlage vor, dass Sie die Verbindung überprüfen, bevor Sie versuchen, hochzuladen.
- Stellen Sie den seriellen Arduino-Monitor auf den neuen USB-Port ein.
- Stellen Sie die Geschwindigkeit auf 115200 beide cr nl (Standardgeschwindigkeit für Olimex)
- Schalten Sie das Steckbrett ein (ESP8266 wird mit Software geliefert, die mit AT-Befehlen umgeht)
- Senden Sie "AT" mit dem seriellen Tool.
- Sie müssen im Gegenzug "OK" bekommen.
Wenn nicht, überprüfen Sie Ihre Verbindung und sehen Sie sich Ihre ESP8266-Spezifikationen an.
Wenn Sie "OK" erhalten haben, können Sie den Code hochladen
- Schalten Sie das Steckbrett aus, warten Sie ein paar Sekunden,
- Drücken Sie auf den schwarzen Mikroschalter des ESP8266. Es ist normal, dass etwas Müll auf dem seriellen Monitor angezeigt wird.
- Drücken Sie auf die Upload-IDE wie bei einem Arduino.
- Nachdem der Upload abgeschlossen ist, stellen Sie die serielle Geschwindigkeit auf 38400 ein.
Sie sehen etwas wie auf dem Bild.
Herzlichen Glückwunsch, Sie haben den Code erfolgreich hochgeladen!
Schritt 6: Lassen Sie uns die Konfiguration durchführen
Der configGPIO muss auf 1 gesetzt werden, um in den Konfigurationsmodus zu gelangen
Scannen Sie zuerst das WIFI, indem Sie den Befehl eingeben: ScanWifi. Sie sehen eine Liste des erkannten Netzwerks.
- Legen Sie dann Ihre SSID fest, indem Sie "SSID1=yournetwork" eingeben.
- Legen Sie dann Ihr Passwort fest, indem Sie "PSW1=yourpassword" eingeben.
- Geben Sie dann "SSID=1" ein, um das aktuelle Netzwerk zu definieren
- Geben Sie "Neustart" ein, um das Gateway mit Ihrem WIFI zu verbinden.
- Sie können überprüfen, ob Sie eine IP haben, indem Sie "ShowWifi" eingeben.
- Die blaue LED leuchtet und die rote LED blinkt.
Es ist an der Zeit, Ihre IP-Serveradresse zu definieren, indem Sie die 4 Unteradressen eingeben (Server, der den Java-Testcode ausführt). Zum Beispiel:
- "IP1=192"
- "IP2=168"
- "IP3=1"
- "IP4=10"
Der letzte erforderliche Schritt besteht darin, den Listenport des UDP-Servers durch Eingabe von "listenPort=xxxx" festzulegen.
Geben Sie "ShowEeprom" ein, um zu überprüfen, was Sie gerade im Eeprom gespeichert haben
Stecken Sie nun den GPIO2 auf Masse, um den Konfigurationsmodus zu verlassen
Ihr Gateway ist betriebsbereit
Es gibt einige andere Befehle, die Sie in der Dokumentation finden können.
Schritt 7: Lassen Sie uns die Arduino-Seite machen
Verbinden Sie zuerst den Arduino
Wenn Sie einen Mega haben, ist es am einfachsten, damit anzufangen. Trotzdem können Sie ein Uno verwenden.
Um Ihre Arbeit zu überprüfen, verwenden Sie am besten das Beispiel.
Sie können es dort herunterladen:
Es enthält SerialNetwork-Code, der hier ist:
Laden Sie einfach den Code in Ihrem Arduino hoch.
Die grüne LED blinkt jedes Mal, wenn Arduino Daten sendet.
Schritt 8: Machen wir die Serverseite
Das Server-Beispiel ist ein Java-Programm, das Sie hier herunterladen können:
Lass es einfach laufen
Sehen Sie sich die Java-Konsole an.
Schauen Sie auf den Arduino-Monitor.
Arduino sendet 2 verschiedene Pakete.
- Der erste enthält den Status der digitalen Pins 2 bis 6.
- Der zweite enthält 2 Zufallswerte, den Spannungspegel von A0 in mV und die inkrementelle Zählung.
Das Java-Programm
- die empfangenen Daten im Hexadezimalformat drucken
- Antworten Sie auf die erste Art von Daten mit einem zufälligen Ein / Aus-Wert, um die Arduino-LED ein- / auszuschalten
- Antwort auf die zweite Art von Daten mit der empfangenen Zählung und einem Zufallswert.
Schritt 9: Es ist Zeit, etwas zu löten
Es funktioniert auf dem Steckbrett!
Es ist an der Zeit, es robuster zu machen, indem Teile auf einer Leiterplatte gelötet werden
Zusätzlich zu dem, was Sie mit dem Steckbrett gemacht haben, müssen Sie 3 Anschlüsse hinzufügen.
- C1 1 x Pin eins, der für den Eintritt in den Netzwerk-Trace-Modus verwendet wird.
- C2 3 x Pins, einer, der zum Umschalten zwischen Betriebs- und Konfigurationsmodus verwendet wird.
- C3 6 x Pins, einer, der verwendet wird, um das Gateway entweder mit einem Arduino oder einem FTDI zu verbinden.
C1, das mit GPIO2 verbunden ist, muss manuell geerdet werden, wenn Sie die Netzwerkspuren aktivieren möchten.
C2 verbunden mit GPIO 4 kann in 2 verschiedene Positionen eingestellt werden. Einer, der für den normalen Betriebsmodus auf Masse gesetzt ist, und einer, der auf 3,3 V eingestellt ist, um in den Konfigurationsmodus zu gelangen.
Setzen Sie alle Komponenten auf der Platine gemäß dem Diagramm ein und beginnen Sie anschließend mit dem Löten, um das Endprodukt zu erhalten!
Schritt 10: Machen wir den letzten Test
Starten Sie das Java-Testprogramm.
Verbinden Sie den Arduino.
Schalten Sie das Gateway ein.
Und schauen Sie sich die Java-Konsole, den Arduino-Monitor, die Arduino-LED und die Gateway-LEDs an.
Schritt 11: Sie können dieses Design an Ihre eigenen Anforderungen anpassen
Bezüglich der Hardware
- Wenn Sie sich für einen anderen ESP8266 entscheiden, müssen Sie sich an die Spezifikationen anpassen.
- Wenn Sie einen anderen 3,3-V-Regler wählen, muss dieser über 500 mA liefern und Sie müssen den Kondensator anpassen.
- Sie können die LED-Widerstände ändern, um die Helligkeit anzupassen.
- Sie können alle LEDs unterdrücken, aber ich empfehle, zumindest das Rot an zu lassen.
- Sie können den ULN2803 durch 3 Transistoren ersetzen (oder weniger, wenn Sie die 3 LEDs nicht behalten).
- Ich habe es getestet, aber dort muss es mit 3,3-V-Arduino-Boards funktionieren. Verbinden Sie einfach Tx Rx mit dem 3,3-V-Anschluss.
Zur Konfiguration
- Sie können 2 verschiedene SSID und Switch speichern
- Sie können den verwendeten GPIO ändern
Bezüglich der Software
Empfohlen:
So erstellen Sie Ihr eigenes Betriebssystem! (Batch und Beispiel innen): 5 Schritte
So erstellen Sie Ihr eigenes Betriebssystem! (Batch und Beispiel Inside): Machen Sie es jetzt
So erstellen Sie Ihr eigenes Arduino-Board (xduino) – wikiHow
So erstellen Sie Ihr eigenes Arduino-Board (xduino): Video ansehen
So erstellen Sie Ihr eigenes Hologramm: 3 Schritte
So erstellen Sie Ihr eigenes Hologramm: Im Rahmen unseres Maker Space-Kurses haben wir einen Film gedreht, der die Erstellung unserer eigenen Hologramme und unserer eigenen Musik beinhaltet. Hier erkläre ich, wie wir beim kreativen Teil des Hologramms vorgehen. Das Erstellen Ihres eigenen Hologramms ist einfach und für jeden zugänglich
So bauen Sie Ihr eigenes Anemometer mit Reed-Schaltern, Hall-Effekt-Sensor und einigen Schrott auf Nodemcu. - Teil 1 - Hardware: 8 Schritte (mit Bildern)
So bauen Sie Ihr eigenes Anemometer mit Reed-Schaltern, Hall-Effekt-Sensor und einigen Schrott auf Nodemcu. - Teil 1 - Hardware: EinführungSeit ich mit dem Studium von Arduino und der Maker-Kultur begonnen habe, habe ich gerne nützliche Geräte aus Schrott- und Schrottstücken wie Kronkorken, PVC-Stücken, Getränkedosen usw. gebaut. Ich liebe es, eine Sekunde zu geben Leben für jedes Stück oder jeden Kumpel
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Hinzugefügte Informationen: 4 Schritte
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für