Cuprins:
- Provizii
- Pasul 1: Cum funcționează?
- Pasul 2: Care sunt principalele funcții?
- Pasul 3: Construirea materialului
- Pasul 4: Să începem cu dispozitivul electronic de pe panou
- Pasul 5: Să mergem la software
- Pasul 6: Să facem configurația
- Pasul 7: Să facem partea Arduino
- Pasul 8: Să facem partea serverului
- Pasul 9: Este timpul să faceți niște lipiri
- Pasul 10: Să facem testul final
- Pasul 11: Puteți adapta acest design la propriile cerințe
Video: Cum să vă creați propriul gateway WIFI pentru a vă conecta Arduino la rețeaua IP?: 11 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Ca atâția oameni, credeți că Arduino este o soluție foarte bună pentru a face automatizarea și robotizarea casei
Dar, în ceea ce privește comunicarea, Arduinos vine doar cu legături seriale.
Lucrez la un robot care trebuie să fie conectat permanent cu un server care rulează cod de inteligență artificială. Am încercat să folosesc rețeaua RF așa cum obișnuiam să fac pentru domotic, dar nu este suficient de eficient. Pe măsură ce robotul se mișcă, nu pot folosi Ethernet Arduino Shield. Arduino Wifi Shield sunt scumpe și mi se pare un design vechi.
Aveam nevoie de ceva care să poată face schimb de date într-un mod foarte simplu și eficient cu un server.
De aceea am decis să proiectez un Gateway bazat pe microcontrolerul ESP8266 foarte ieftin și eficient din punct de vedere energetic
Aici puteți găsi cum să construiți componenta electronică și să descărcați software-ul.
Am folosit acest gateway pentru automatizarea casei și pentru robot.
Aceasta face parte dintr-o infrastructură globală de automatizare a locuinței, pe care o puteți arunca aici
Am făcut un alt instructable care utilizează un scut ESP8266 și evită lipirea
Provizii
Am scris un alt instructable pe această temă
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.
Este cel mai ușor de utilizat cu Arduino Mega care are mai mult de un UART (Arduino Mega de exemplu), dar poate rula și cu UNO.
Pasul 2: Care sunt principalele funcții?
În cea mai mare parte este o cutie neagră care convertește și trimite date seriale către pachetul UDP în ambele moduri.
Are 3 LED-uri care indică starea și traficul Gateway-ului.
Oferă un GPIO care poate fi utilizat de Arduino pentru a aștepta ca Gateway-ul să fie conectat la WIFI și IP.
Acesta rulează în 3 moduri diferite care sunt setate cu comutatoare:
- Mod Gateway care este modul normal
- Mod de configurare utilizat pentru a seta parametrii
- Mod de depanare care este pentru modul de depanare
Majoritatea parametrilor pot fi modificați pentru a se potrivi nevoilor dumneavoastră.
Pasul 3: Construirea materialului
Pe lângă Arduino, veți avea nevoie
- 1 x modul ESP8266 - aleg MOD-WIFI-ESP8266-DEV de la Olimex care costă în jur de 5 euro care este destul de ușor de utilizat.
- Sursa de alimentare 1 x 5v
- 1 x regulator de putere 3.3v - folosesc LM1086
- 1 x 100 microfarad condensator
- 1 x modul APN ULN2803 (poate fi înlocuit cu 3 x tranzistoare)
- 8 rezistoare (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x 33k)
- 3 x LED (roșu, verde, albastru)
- 1 x PCB placa de panouri
- unele fire și conectori
Doar în timpul pașilor de construcție, veți avea nevoie
- 1 x FTDI 3.3v pentru configurare
- Fier de lipit și tablă
Înainte de lipire, este important să configurați toate componentele de pe panou și să verificați dacă totul este în regulă.
Pasul 4: Să începem cu dispozitivul electronic de pe panou
Aspectul electronic este disponibil în format Fritzing
Puteți descărca aici pasul 1:
github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz
Doar faceți ca schemă având grijă de tensiune.
Amintiți-vă că ESP8266 nu acceptă tensiune mai mare de 3,3v. FTDI trebuie setat la 3,3v.
Pasul 5: Să mergem la software
Să începem cu partea Gateway
Am scris codul cu Arduino IDE. Deci, aveți nevoie de ESP8266 pentru a fi cunoscut sub numele de board de IDE. Selectați placa corespunzătoare cu meniul Instrumente / plăci.
Dacă nu vedeți niciun ESP266 în listă, înseamnă că poate fi necesar să instalați ESP8266 Arduino Addon (puteți găsi aici procedura).
Tot codul de care aveți nevoie este disponibil pe GitHub. Este timpul să-l descărcați!
Codul principal al Gateway-ului este acolo:
În plus față de standardul Arduino și ESP8266 include codul principal, aceste 2 includ: LookFoString care este folosit pentru a manipula șirurile și este acolo:
ManageParamEeprom care este folosit pentru a citi și stoca parametrii în Eeprom ans este acolo:
Odată ce primiți tot codul, este timpul să îl încărcați în ESP8266. Mai întâi conectați FTDI la un port USB al computerului.
Vă sugerez să verificați conexiunea înainte de a încerca să încărcați.
- Setați monitorul serial Arduino la noul port USB.
- Setați viteza la 115200 ambele cr nl (viteza implicită pentru Olimex)
- Puterea pe panou (ESP8266 vine cu un software care se ocupă de comenzi AT)
- Trimiteți „AT” cu instrumentul serial.
- În schimb, trebuie să obțineți „OK”.
Dacă nu verificați conexiunea și consultați specificațiile ESP8266.
Dacă aveți „OK” sunteți gata să încărcați codul
- Opriți panoul de așteptare, așteptați câteva secunde,
- apăsați pe micro-swith-ul negru al ESP8266. Este normal să obțineți niște gunoi pe monitorul serial.
- Apăsați pe IDE-ul de încărcare ca pentru un Arduino.
- După finalizarea încărcării, setați viteza serială la 38400.
Veți vedea ceva ca în imagine.
Felicitări, ai încărcat cu succes codul!
Pasul 6: Să facem configurația
ConfigGPIO trebuie setat la 1 pentru a intra în modul configurație
La început scanați WIFI introducând comanda: ScanWifi. Veți vedea o listă a rețelei detectate.
- Apoi setați SSID-ul dvs. introducând „SSID1 = rețeaua dvs.”
- Apoi setați parola introducând „PSW1 = parola dvs.”
- Apoi introduceți „SSID = 1” pentru a defini rețeaua curentă
- Introduceți „Reporniți” pentru a conecta Gateway-ul la WIFI.
- Puteți verifica dacă ați obținut un IP introducând „ShowWifi”.
- LED-ul albastru va fi aprins și LED-ul roșu va clipi.
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”
Ultimul pas necesar este setarea portului de ascultare a serverului UDP prin introducerea „ascultăPort = xxxx”.
Introduceți „ShowEeprom” pentru a verifica ce tocmai ați stocat în Eeprom
Acum conectați GPIO2 la masă pentru a părăsi modul de configurare
Gateway-ul dvs. este gata să funcționeze
Există câteva alte comenzi pe care le-ați putea găsi în documentație.
Pasul 7: Să facem partea Arduino
În primul rând conectați Arduino
Dacă aveți un Mega, va fi cel mai ușor să începeți cu. Cu toate acestea, puteți utiliza un Uno.
Pentru a-ți verifica munca, cel mai bine este să folosești exemplul.
O puteți descărca de aici:
Include codul SerialNetwork care este aici:
Încărcați codul în Arduino.
LED-ul verde clipește de fiecare dată când Arduino trimite date.
Pasul 8: Să facem partea serverului
Exemplul de server este un program Java pe care îl puteți descărca aici:
Doar rulați-l
Uită-te la consola Java.
Uită-te la monitorul Arduino.
Arduino trimite 2 pachete diferite.
- Primul conține starea pinilor digitali de la 2 la 6.
- A doua conține 2 valori aleatorii, nivelul de tensiune al lui A0 în mV și numărul incremental.
Programul Java
- tipăriți datele primite în format hexazecimal
- răspundeți la primul tip de date cu o valoare de pornire / oprire aleatorie pentru a activa / opri LED-ul Arduino
- răspunde la al doilea tip de date cu numărul primit și o valoare aleatorie.
Pasul 9: Este timpul să faceți niște lipiri
Funcționează pe panou!
Este timpul să-l faceți mai robust prin lipirea pieselor de pe un PCB
În plus față de ceea ce ați făcut cu panoul de verificare, trebuie să adăugați 3 conectori.
- C1 1 x pin unul care va fi utilizat pentru a intra în modul de urmărire a rețelei.
- C2 3 x pini unul care va fi folosit pentru a comuta între modul de rulare și modul de configurare.
- C3 6 x pini unul care va fi utilizat pentru a conecta Gateway-ul fie la un Arduino, fie la un FTDI.
C1 conectat la GPIO2 trebuie să fie împământat manual dacă doriți să activați urmele de rețea.
C2 conectat la GPIO 4 poate fi setat în 2 poziții diferite. Unul setat la sol pentru modul normal de funcționare și unul setat la 3.3v pentru intrarea în modul de configurare.
Setați toate componentele de pe PCB conform schemei și apoi începeți să lipiți pentru a obține produsul final!
Pasul 10: Să facem testul final
Porniți programul de testare Java.
Conectați Arduino.
Porniți Gateway-ul.
Și uitați-vă la consola Java, monitorul Arduino, LED-urile Arduino și LED-urile Gateway.
Pasul 11: Puteți adapta acest design la propriile cerințe
În ceea ce privește hardware-ul
- Dacă alegeți alt ESP8266, va trebui să vă adaptați la specificații.
- Dacă alegeți un alt regulator de 3.3v, acesta trebuie să livreze peste 500mA și va trebui să adaptați condensatorul.
- Puteți modifica rezistențele LED pentru a regla luminozitatea.
- Puteți suprima toate LED-urile, dar vă recomand să păstrați cel puțin roșul aprins.
- Puteți înlocui ULN2803 cu 3 tranzistoare (sau mai puțin dacă alegeți să nu păstrați cele 3 LED-uri).
- Am testat, dar acolo trebuie să funcționeze cu plăci Arduino de 3,3 v. Conectați doar Tx Rx la conectorul de 3.3v.
În ceea ce privește configurația
- Puteți stoca 2 SSID și comuta diferite
- Puteți modifica GPIO-ul folosit
În ceea ce privește software-ul
Recomandat:
Creați-vă propriul cursor motorizat pentru cameră: 6 pași (cu imagini)
Asigurați-vă propriul glisor al camerei motorizate: în acest proiect vă voi arăta cum am refăcut două trepiede vechi ale camerei pentru a crea un glisor al camerei motorizate. Sistemul mecanic constă în principal din aluminiu și oțel inoxidabil, ceea ce face ca glisorul să fie robust și destul de decent
Cum să vă creați propriul încărcător USB pentru orice iPod sau alte dispozitive care se încarcă prin USB: 10 pași (cu imagini)
Cum să-ți faci propriul încărcător USB pentru orice iPod sau alte dispozitive care se încarcă prin USB: Creează un încărcător USB pentru orice iPod sau alt dispozitiv care se încarcă prin USB prin îmbinarea unui adaptor auto care scoate mufa 5v și mufă USB USB. Cea mai importantă parte a acestui proiect este să vă asigurați că ieșirea adaptorului de mașină ales este pariată
Cum să vă creați propriul tabel cu zgârieturi: 5 pași (cu imagini)
Cum să vă creați propriul tablou de scriere: Cum să vă creați propriul tablou de scripete / platan rotativ folosind o cutie de pizza și un mouse optic! ************ Urmăriți videoclipul pentru o prezentare generală
Creați-vă propriul skin pentru laptop / laptop: 8 pași (cu imagini)
Creați-vă propriul skin pentru laptop / laptop: un skin pentru laptop complet individualizat și unic, cu posibilități nelimitate
Creați-vă propriul aparat profesional de curățare a înregistrărilor pentru mai puțin de 80 USD și economisiți până la 3000 USD și mai mult .: 6 pași (cu imagini)
Creați-vă propria mașină de curățat înregistrările profesionale pentru mai puțin de 80 USD și economisiți până la 3000 USD și mai mult. Cum să curățați corect înregistrările!? Există multe modalități prin Internet. Moduri mai ieftine, cum ar fi Knosti sau Discofilm, dar și