![Seriell UDP/IP -gateway för Arduino Baserat på ESP8266 Shield: 8 steg Seriell UDP/IP -gateway för Arduino Baserat på ESP8266 Shield: 8 steg](https://i.howwhatproduce.com/images/009/image-24231-j.webp)
Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:10
![Seriell UDP/IP -gateway för Arduino Baserat på ESP8266 Shield Seriell UDP/IP -gateway för Arduino Baserat på ESP8266 Shield](https://i.howwhatproduce.com/images/009/image-24231-1-j.webp)
Jag publicerade redan 2016 denna instruerbara "Hur man gör din egen Wifi -gateway för att ansluta din Arduino till IP -nätverk". Eftersom jag gjorde några kodförbättringar och jag fortfarande använder den här lösningen.
Ändå finns det nu några ESP8266 -skärmar som gör det möjligt att göra detsamma utan att lödas så länge du inte använder Micro- eller Nano -kort.
Denna instruktör kommer att förklara hur man använder dessa ESP82 -sköldar som seriell UDP/IP -gateway.
Detta är en del av en global hemautomatiseringsinfrastruktur som du kan titta på här
Mer information om skölden med denna instruerbara
Tillbehör
1 Arduino Mega (det bästa är att ha minst 1 Mega för utveckling och 1 Uno för körfas)
1 Rokoo ESP8266 ESP-12E UART WIFI Convertisseur
1 FTDI 3.3v
2 trådbräda
Steg 1: Hur fungerar det?
![Hur fungerar det ? Hur fungerar det ?](https://i.howwhatproduce.com/images/009/image-24231-2-j.webp)
Gateway är baserad på en ESP8266 -modul
Denna modul är ansluten från ena sidan med seriell länk från den andra sidan till IP -nätverk med Wifi.
Det fungerar som en svart låda. Datapaket som kommer från den seriella länken skickas till en IP/Udp -port och vice versa.
Du måste bara ställa in din egen konfiguration (IP, WIFI …) en gång första gången du startar Gateway.
Den kan överföra antingen rå ASCII och binär data (ingen HTTP, JSON …)
Det är utformat för att ansluta objekt med hemgjorda mjukvaror som kräver snabba och frekventa överföringar av korta paket med data.
Steg 2: Vilka är huvudfunktionerna?
Mestadels är det en svart låda som konverterar seriell data till UDP -paket på båda sätten.
Men gatewayen kan också agera på egen hand genom att skicka intern information till servern och ta emot några kommandon från servern.
Arduino kan skicka och ta emot meddelanden till / från en server som är ansluten via Internet bara genom att skriva ut / läsa en seriell länk. Det finns inget behov av att Arduino -utvecklaren bry sig om IP -protokoll.
Dessutom tillhandahåller den en GPIO som kan användas av Arduino för att kontrollera att gatewayen är korrekt ansluten till WIFI och att Gateway automatiskt kan byta mellan två olika SSID vid fel
Gateway har två olika driftlägen som väljs genom att ställa in en GPIO
Inställning av GPIO till marken och Gateway går in i konfigurationsläge.
Om du sätter GPIO fri och Gateway går in i gateway -körningsläge.
Dessutom kan Gateway UDP/IP -konfigurationen fjärrändras
Steg 3: Bygg av material
![Byggd av material Byggd av material](https://i.howwhatproduce.com/images/009/image-24231-3-j.webp)
Mycket få saker krävs
1 ESP8266 Shield - Jag hittade denna UNO R3 ESP8266 Serial WiFi Shield Extend Board Module för mindre än 9 €
1 UNO som är Arduino -målet
1 Mega som är arduino -utvecklingsverktyget (du kan klara dig utan det är ganska svårt att felsöka)
1 FTDI 3.3/5v för utveckling
Några ledningar
Steg 4: Ladda ner Gateway -koden
![Ladda ner Gateway -koden Ladda ner Gateway -koden](https://i.howwhatproduce.com/images/009/image-24231-4-j.webp)
Under detta steg används Arduino endast för att driva (med USB eller en annan strömkälla) på ESP8266 -skärmen
Anslut ESP8266 GPIO4 till jord (för att gå till konfigurationsläge)
Var noga med att ställa in FTDI på 3,3v enligt skärmens krav
Anslut FTDI till skärmen (RX till TX)
Ställ in skärmbrytaren på 1: av 2: av 3: på 4: på
Anslut USB -sidan av FTDI till din dator
Återställ skärmen med tryckknappen ESP-RST
Ladda ner Gateway -koden där på GitHub
Öppna Arduino IDE
- Välj FTDI -bildskärmsporten
- Öppna IDE Serial Monitor - Ställ in hastigheten på 38400
- Välj Generic ES8266 -modulkort
- Uppgradera skärmens firmware med gatewaykoden
Ställ omkopplare 3: av 4: av
Öppna IDE Serial Monitor
Återställ skärmen med tryckknappen ESP-RST
Du måste se meddelanden på monitorn som börjar med "EEPROM -initialisering" "Initiering klar" ….
Det är dags att göra konfigurationen
Steg 5: Låt oss göra Gateway -konfigurationen
När du laddar ner gatewaykoden för första gången kommer ESP8266 Eeprom att initialiseras med standardvärdena. Du kommer att se den här typen av meddelanden "ställ in parameter: x storlek: åå"
Du kan hitta dessa värden i koddefinitionen för paramValue. Naturligtvis kan du ändra dessa standardvärden innan du laddar ner koden men du kan också ställa in din konfiguration med kommando senare. Detta är bättre om du planerar att ha flerpipegateway och bara behålla en version av kod.
Använd bildskärmens seriella port för att skicka kommando (inställt på NL och CR).
Eftersom SSID för närvarande inte är definierat väntar du på "Det gick inte att ansluta till ditt andra försök igen: 5"
Då startar en skanning av WIFI automatiskt
Det är dags att ställa in dina SSID med följande kommandon:
- SSID1 = ditt val1
- PSW1 = yourpsw1
- SSID2 = ditt val2
- PSW2 = yourpsw2
- SSID = 1 (för att välja vilket SSID du ska börja med)
- Starta om Wi -Fi
Efter några sekunder kan du kontrollera anslutningen med kommandot "ShowWifi". Du måste se IP -adressen som gatewayen fick från din DNS -server. Om så är fallet är det dags att gå längre
Det är dags att definiera din IP -serveradress genom att ange de fyra underadresserna (server som kör Java -testkoden). Till exempel:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Genom att skicka ett tomt kommando ser du alla de kommandon som stöds som du kan använda senare för att passa dina krav. Alla parametervärden lagras i Eeprom och behöver en omstart för att beaktas.
Ta bort konfigurationskabeln
Skölden körs nu som en gateway
Steg 6: Ladda ner Arduino Code Exempel
![Ladda ner Arduino Code Exempel Ladda ner Arduino Code Exempel](https://i.howwhatproduce.com/images/009/image-24231-5-j.webp)
Ladda ner först den huvudsakliga Arduino -koden där på GitHub
Ladda sedan ner Arduino -koden med den här kommandodefinitionen och den här seriella länkkoden till dina librairies
Öppna sedan huvudkoden med en ny Arduino IDE
Stäng av skärmbrytaren 1 och 2 för att frigöra Arduino seriell länk 0 för USB -anslutning
Återställ skölden
Anslut FTDI -kablarna till Mega Serial 2 (TX FTDI till RX Mega och så vidare)
Starta en ny Arduino IDE (eller ett TTY -verktyg), anslut FTDI Usb och börja övervaka seriell länk
Ladda upp Arduino -koden inuti Mega
Sätt på skärmbrytaren 1 och 2 för att ansluta Arduino seriell länk 0
Återställ skölden
Du måste se detta meddelande "start usb -utskrift" på bildskärmen
Steg 7: Låt oss göra serversidan
Serverexemplet är ett Java -program som du kan ladda ner här på GitHub
Bara köra den och titta på Java -konsolen och titta på FTDI -skärmen
Du kommer att se datautbyte mellan server och Arduino
Steg 8: Gå vidare
![Att gå längre Att gå längre](https://i.howwhatproduce.com/images/009/image-24231-6-j.webp)
![Att gå längre Att gå längre](https://i.howwhatproduce.com/images/009/image-24231-7-j.webp)
Detta Arduino -kodexempel är baserat på en ramdel av min hemautomatiseringsinfrastruktur.
Låt mig veta om du är intresserad av denna infrastruktur. Jag kommer att publicera källor.
Om du bara vill använda gatewayen kan du förenkla Arduino -koden.
Efter att ha utvecklat och testat din kod på en Arduino Mega kan du enkelt ersätta den med en Uno!
Dessutom kan du ansluta en kabel mellan Arduino GPIO 7 och ESP8266 GPIO 5 om du vill att din Arduino ska kontrollera Wifi -anslutningen
Rekommenderad:
LoRa-baserat visuellt övervakningssystem för jordbruk Iot - Designa en frontad applikation med Firebase & Angular: 10 steg
![LoRa-baserat visuellt övervakningssystem för jordbruk Iot - Designa en frontad applikation med Firebase & Angular: 10 steg LoRa-baserat visuellt övervakningssystem för jordbruk Iot - Designa en frontad applikation med Firebase & Angular: 10 steg](https://i.howwhatproduce.com/images/001/image-2514-j.webp)
LoRa-baserat visuellt övervakningssystem för jordbruk Iot | Designa en frontad applikation med Firebase & Angular: I föregående kapitel talar vi om hur sensorerna arbetar med loRa -modulen för att fylla i Firebase Realtime -databasen, och vi såg diagrammet på mycket hög nivå hur hela vårt projekt fungerar. I det här kapitlet kommer vi att prata om hur vi kan
Humörhögtalare- en kraftfull högtalare för humörmusik som ska spelas baserat på omgivningstemperaturen: 9 steg
![Humörhögtalare- en kraftfull högtalare för humörmusik som ska spelas baserat på omgivningstemperaturen: 9 steg Humörhögtalare- en kraftfull högtalare för humörmusik som ska spelas baserat på omgivningstemperaturen: 9 steg](https://i.howwhatproduce.com/images/002/image-3343-3-j.webp)
Humörhögtalare- en kraftfull högtalare för humörmusik som ska spelas baserat på omgivningstemperaturen: Hej! För mitt skolprojekt på MCT Howest Kortrijk gjorde jag en humörhögtalare, det här är en smart Bluetooth-högtalare med olika sensorer, en LCD och WS2812b ledstrip ingår. Högtalaren spelar bakgrundsmusik baserat på temperaturen men kan
IoT -baserat övervaknings- och kontrollsystem för jordfuktighet med hjälp av NodeMCU: 6 steg
![IoT -baserat övervaknings- och kontrollsystem för jordfuktighet med hjälp av NodeMCU: 6 steg IoT -baserat övervaknings- och kontrollsystem för jordfuktighet med hjälp av NodeMCU: 6 steg](https://i.howwhatproduce.com/images/010/image-27732-j.webp)
IoT-baserat jordfuktighetsövervakning och kontrollsystem med hjälp av NodeMCU: I denna handledning kommer vi att implementera ett IoT-baserat jordfuktighetsövervaknings- och styrsystem med ESP8266 WiFi-modul, dvs NodeMCU.Komponenter som krävs för detta projekt: ESP8266 WiFi-modul- Amazon (334/- INR) Relämodul- Amazon (130/- INR
Vindstation för vindsurfing baserat på MQTT & AWS: 3 steg (med bilder)
![Vindstation för vindsurfing baserat på MQTT & AWS: 3 steg (med bilder) Vindstation för vindsurfing baserat på MQTT & AWS: 3 steg (med bilder)](https://i.howwhatproduce.com/images/003/image-8055-12-j.webp)
Vindstation för vindsurfing Baserat på MQTT & AWS: I Shenzhen finns det många vackra stränder. På sommardagarna är jag mest favoritsport att segla. För seglingssporten är jag fortfarande en starter, jag gillar känslan av havsvattnet som berör mitt ansikte och mer, jag fick många nya vänner med denna sport.Men för
Trådlös seriell (UART) för Arduino/STM32/etc: 3 steg (med bilder)
![Trådlös seriell (UART) för Arduino/STM32/etc: 3 steg (med bilder) Trådlös seriell (UART) för Arduino/STM32/etc: 3 steg (med bilder)](https://i.howwhatproduce.com/images/003/image-7736-29-j.webp)
Wireless Serial (UART) för Arduino/STM32/etc: Förhoppningsvis håller alla med mig om att Arduino Serial är ett bra verktyg för att felsöka dina projekt. Tja, det är i princip det enda alternativet för felsökning av en Arduino. Men ibland är det inte möjligt eller praktiskt att köra en USB -kabel från Ard