Cuprins:
- Provizii
- Pasul 1: Cum funcționează?
- Pasul 2: Care sunt principalele funcții?
- Pasul 3: Construirea materialului
- Pasul 4: Descărcați Codul Gateway
- Pasul 5: Să facem configurația gateway-ului
- Pasul 6: Descărcați Exemplul de cod Arduino
- Pasul 7: Să facem partea serverului
- Pasul 8: Pentru a merge mai departe
Video: Gateway UDP / IP serial pentru Arduino Bazat pe ESP8266 Shield: 8 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Am publicat deja în 2016 acest instructabil „Cum să-ți faci propriul gateway Wifi pentru a-ți conecta Arduino la rețeaua IP”. De când am făcut unele îmbunătățiri de cod și încă folosesc această soluție.
Cu toate acestea, există acum niște scuturi ESP8266 care permit să procedeze la fel fără lipire, atâta timp cât nu utilizați plăci Micro sau Nano.
Acest instructable va explica cum să utilizați aceste scuturi ESP82 ca gateway serial UDP / IP.
Aceasta face parte dintr-o infrastructură globală de automatizare a locuinței, pe care o puteți arunca aici
Mai multe informații despre scut cu acest instructable
Provizii
1 Arduino Mega (cel mai bun este să ai cel puțin 1 Mega pentru dezvoltare și 1 Uno pentru faza de rulare)
1 Rokoo ESP8266 ESP-12E UART WIFI Convertisseur
1 FTDI 3.3v
2 fire de panou
Pasul 1: Cum funcționează?
Gateway-ul se bazează pe un modul ESP8266
Acest modul este conectat dintr-o parte cu legătura serială din cealaltă parte la rețeaua IP cu Wifi.
Acționează ca o cutie neagră. Pachetele de date provenind de la link-ul serial sunt trimise către un port IP / Udp și vizibil și invers.
Trebuie doar să vă configurați propria configurație (IP, WIFI …) odată ce veți porni prima dată Gateway-ul.
Poate transfera date ASCII brute și date binare (fără HTTP, JSON …)
Acesta este conceput pentru a conecta obiecte cu software-uri create de server, care necesită transferuri rapide și frecvente de pachete scurte de date.
Pasul 2: Care sunt principalele funcții?
În cea mai mare parte este o cutie neagră care convertește datele seriale în pachetul UDP în ambele moduri.
Dar gateway-ul poate acționa și el prin trimiterea de informații interne către server și primirea unor comenzi de la server.
Arduino poate trimite și primi mesaje către / de la un server conectat prin Internet doar prin imprimarea / citirea unui link serial. Nu este nevoie ca dezvoltatorul Arduino să se deranjeze asupra protocolului IP.
În plus, acesta oferă un GPIO care poate fi utilizat de Arduino pentru a verifica dacă Gateway-ul este conectat corect la WIFI și Gateway-ul poate fi automat între 2 SSID diferite în caz de eșec.
Gateway-ul are 2 moduri de rulare diferite care sunt selectate prin setarea unui GPIO
Setarea GPIO la sol și Gateway-ul intră în modul de configurare.
Setarea GPIO liberă și Gateway-ul intră în modul de rulare a gateway-ului.
În plus, configurația Gateway UDP / IP poate fi modificată de la distanță
Pasul 3: Construirea materialului
Sunt necesare foarte puține lucruri
1 ESP8266 Shield - Am găsit acest modul de placă extinsă Shield Extend WiFi UNO R3 ESP8266 la mai puțin de 9 €
1 UNO care este ținta țintă Arduino
1 Mega care este instrumentul de dezvoltare arduino (puteți face fără, dar este destul de dificil de depanat)
1 FTDI 3.3 / 5v pentru dezvoltare
Unele fire
Pasul 4: Descărcați Codul Gateway
În acest pas, Arduino este folosit doar pentru a alimenta (cu USB sau o altă sursă de alimentare) pe ecranul ESP8266
Conectați ESP8266 GPIO4 la masă (pentru a intra în modul de configurare)
Aveți grijă să setați FTDI la 3.3v, așa cum este cerut de scut
Conectați FTDI la ecran (RX la TX)
Setați comutatorul scutului la 1: oprit 2: oprit 3: pornit 4: pornit
Conectați partea USB a FTDI la computer
Resetați scutul cu butonul ESP-RST
Descărcați codul Gateway acolo pe GitHub
Deschideți Arduino IDE
- Selectați portul monitorului FTDI
- Deschideți IDE Serial Monitor - Setați viteza la 38400
- Selectați placa modulă generică ES8266
- Actualizați firmware-ul scutului cu codul de gateway
Setați comutatorul 3: oprit 4: oprit
Deschideți IDE Serial Monitor
Resetați scutul cu butonul ESP-RST
Trebuie să vedeți mesaje pe monitor începând cu „Inițializare EEPROM” „Inițializare finalizată”….
Este timpul să faceți configurația
Pasul 5: Să facem configurația gateway-ului
La descărcarea codului gateway-ului pentru prima dată, ESP8266 Eeprom va fi inițializat cu valorile implicite. Veți vedea acest tip de mesaje „setare parametru: x dimensiune: aa”
Puteți găsi aceste valori în definiția codului paramValue. Desigur, puteți schimba aceste valori implicite înainte de a descărca codul, dar puteți configura și configurația prin comandă mai târziu. Acest lucru este mai bun dacă intenționați să aveți un gateway multipe și să păstrați o singură versiune de cod.
Utilizați portul serial al monitorului pentru a trimite comanda (setată la NL și CR).
Deoarece SSID nu este definit în prezent, așteptați „Nu s-a putut conecta la reîncercarea dvs. secundară: 5”
Apoi va începe automat o scanare a WIFI
Este timpul să vă setați SSID-urile cu următoarele comenzi:
- SSID1 = alegerea ta1
- PSW1 = yourpsw1
- SSID2 = alegerea ta2
- PSW2 = yourpsw2
- SSID = 1 (pentru a alege cu ce SSID începe)
- Reporniți Wifi
După câteva secunde puteți verifica conexiunea cu comanda „ShowWifi”. Trebuie să vedeți adresa IP pe care gateway-ul a primit-o de la serverul dvs. DNS. Dacă este cazul, este timpul să mergem mai departe
Este timpul să vă definiți adresa serverului IP prin introducerea celor 4 subadrese (server care va rula codul de test Java). De exemplu:
- „IP1 = 192”
- „IP2 = 168”
- „IP3 = 1”
- „IP4 = 10”
Trimitând o comandă goală, veți vedea toate comenzile acceptate pe care le puteți utiliza ulterior pentru a se potrivi cerințelor dvs. Toate valorile parametrilor sunt stocate în Eeprom și necesită o repornire pentru a fi luată în considerare.
Scoateți firul de configurare
Scutul rulează acum ca o poartă
Pasul 6: Descărcați Exemplul de cod Arduino
Mai întâi descărcați codul principal Arduino acolo pe GitHub
Apoi descărcați codul Arduino, această definiție a comenzilor și acest cod de legătură serială în bibliotecile dvs.
Apoi deschideți codul principal cu un nou IDE Arduino
Dezactivați comutatorul de scut 1 și 2 pentru a elibera conexiunea serial Arduino 0 pentru conexiunea USB
Resetați scutul
Conectați firele FTDI la Mega Serial 2 (TX FTDI la RX Mega și așa mai departe)
Porniți un nou IDE Arduino (sau un instrument TTY), conectați FTDI Usb și începeți să monitorizați legătura serială
Încărcați codul Arduino în interiorul Mega
Setați comutatorul de scut 1 și 2 pentru a conecta legătura serială 0 Arduino
Resetați scutul
Trebuie să vedeți acest mesaj „începeți imprimarea USB” pe monitor
Pasul 7: Să facem partea serverului
Exemplul de server este un program Java pe care îl puteți descărca aici de pe GitHub
Pur și simplu rulați-o și uitați-vă la consola Java și uitați-vă la monitorul FTDI
Veți vedea schimburi de date între server și Arduino
Pasul 8: Pentru a merge mai departe
Acest exemplu de cod Arduino se bazează pe o parte cadru a infrastructurii mele de automatizare a casei.
Dacă sunteți interesat de această infrastructură, anunțați-mă. Voi publica surse.
Dacă doriți doar să utilizați gateway-ul, puteți simplifica codul Arduino.
După ce ați dezvoltat și testat codul pe un Arduino Mega, îl puteți înlocui cu ușurință cu un Uno!
În plus, puteți conecta un fir între Arduino GPIO 7 și ESP8266 GPIO 5 dacă doriți ca Arduino să verifice conexiunea Wifi
Recomandat:
Lora Gateway bazat pe MicroPython ESP32: 10 pași (cu imagini)
Lora Gateway Bazat pe MicroPython ESP32: Lora a fost foarte popular în ultimii ani. Modulul de comunicații fără fir care utilizează această tehnologie este de obicei ieftin (utilizând spectru liber), de dimensiuni reduse, eficient din punct de vedere energetic și are o distanță mare de comunicare și este utilizat în principal pentru comunicarea reciprocă
Generator de muzică bazat pe vreme (Generator Midi bazat pe ESP8266): 4 pași (cu imagini)
Generator de muzică bazat pe vreme (Generator midi bazat pe ESP8266): Bună, astăzi vă voi explica cum să vă creați propriul generator de muzică bazat pe vreme. Se bazează pe un ESP8266, care este un fel ca un Arduino și răspunde la temperatură, ploaie și intensitatea luminii. Nu vă așteptați să producă melodii întregi sau programe de acord
Utilizați firmware-ul Homie pentru a conduce modulul de comutare Sonoff (bazat pe ESP8266): 5 pași (cu imagini)
Folosiți Firmware-ul Homie pentru a conduce modulul de comutare Sonoff (bazat pe ESP8266): Acesta este un instrument instructiv de urmărire, l-am scris puțin după „Construirea dispozitivelor Homie pentru IoT sau Home Automation”. Ultima sa concentrat pe monitorizarea de bază (DHT22, DS18B20, lumină) în jurul plăcilor D1 Mini. De data aceasta, aș dori să vă arăt
Cum să asamblați un braț impresionant din lemn pentru robot (Partea 1: Robot pentru urmărirea liniei) - Bazat pe micro: Bit: 9 pași
Cum să asamblați un braț robot de lemn impresionant (Partea 1: Robot pentru urmărirea liniei) - Bazat pe Micro: Bit: Acest tip de lemn are trei forme, este foarte diferit și impresionant. Atunci hai să intrăm în el unul câte unul
Servo Controller Serial Bazat pe Arduino: 6 pași
Servo Controller Serial Based Arduino: Acesta este un controller serial simplu pentru mai multe servos bazate pe Arduino. (Primul meu instructable, de asemenea :)) Cea mai mare parte a muncii din acest lucru a venit de la obținerea software-ului pentru a vorbi cu arduino și de a crea un protocol pentru ca datele să fie transmise. Ca f