Sadržaj:
- Supplies
- Korak 1: Kako to funkcionira?
- Korak 2: Koje su glavne funkcije?
- Korak 3: Izrada materijala
- Korak 4: Preuzmite kôd pristupnika
- Korak 5: Uradimo konfiguraciju mrežnog prolaza
- Korak 6: Preuzmite Primjer Arduino koda
- Korak 7: Idemo na serversku stranu
- Korak 8: Idite dalje
Video: Serijski UDP/IP pristupnik za Arduino na osnovu ESP8266 štita: 8 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Već sam 2016. objavio ovo uputstvo "Kako napraviti vlastiti WiFi pristupnik za povezivanje vašeg Arduina na IP mrežu". Budući da sam napravio neka poboljšanja koda i još uvijek koristim ovo rješenje.
Ipak, sada postoje neki ESP8266 štitovi koji omogućuju potpuno isto bez lemljenja sve dok ne koristite mikro ili nano ploče.
Ova instrukcija će objasniti kako koristiti ove ESP82 štitove kao serijski UDP/IP gateway.
Ovo je dio globalne infrastrukture kućne automatizacije koju možete pogledati ovdje
Više informacija o štitu s ovim uputstvom
Supplies
1 Arduino Mega (najbolje je imati najmanje 1 Mega za razvoj i 1 Uno za fazu rada)
1 Rokoo ESP8266 ESP-12E UART WIFI Convertisseur
1 FTDI 3.3v
2 žice za matičnu ploču
Korak 1: Kako to funkcionira?
Gateway je zasnovan na modulu ESP8266
Ovaj je modul povezan s jedne strane serijskom vezom s druge strane na IP mrežu s Wifi -jem.
Djeluje kao crna kutija. Paketi podataka koji dolaze sa serijske veze šalju se na IP/Udp port i obrnuto.
Samo morate postaviti vlastitu konfiguraciju (IP, WIFI …) kada prvi put uključite Gateway.
Može prenositi sirove ASCII i binarne podatke (nema HTTP, JSON …)
Dizajniran je za povezivanje objekata sa softverom napravljenim od servera koji zahtijeva brz i čest prijenos kratkog paketa podataka.
Korak 2: Koje su glavne funkcije?
Uglavnom je to crna kutija koja pretvara serijske podatke u UDP paket na oba načina.
No, gateway može djelovati i sam tako što šalje interne informacije poslužitelju i prima neke naredbe od poslužitelja.
Arduino može slati i primati poruke prema / sa servera povezanog putem Interneta samo štampanjem / čitanjem serijske veze. Nema potrebe da se Arduino programer zamara IP protokolom.
Povrh toga, pruža GPIO koji Arduino može koristiti za provjeru je li gateway ispravno spojen na WIFI, a gateway može automatski prebaciti između dva različita SSID -a u slučaju kvara
Gateway ima 2 različita načina rada koji se biraju postavljanjem GPIO -a
Postavljanje GPIO -a na uzemljenje i pristupnik ulazi u konfiguracijski način.
Oslobađanjem GPIO -a i Gateway ulazi u način rada gateway -a.
Povrh toga, UDP/IP konfiguracija mrežnog prolaza može se daljinski mijenjati
Korak 3: Izrada materijala
Vrlo malo stvari je potrebno
1 ESP8266 Shield - Pronašao sam ovaj UNO R3 ESP8266 serijski modul za proširenje WiFi Shield -a za manje od 9 €
1 UNO koji je meta Arduino meta
1 Mega koja je arduino razvojni alat (možete i bez toga, ali otklanjanje grešaka je prilično teško)
1 FTDI 3.3/5v za razvoj
Neke žice
Korak 4: Preuzmite kôd pristupnika
Tokom ovog koraka Arduino se koristi samo za napajanje (sa USB -om ili drugim izvorom napajanja) na ESP8266 štitu
Spojite ESP8266 GPIO4 na masu (za ulazak u konfiguracijski način)
Pazite da postavite FTDI na 3,3 V prema zahtjevu štita
Spojite FTDI na štit (RX na TX)
Postavite prekidač štita na 1: isključeno 2: isključeno 3: uključeno 4: uključeno
Priključite USB stranu FTDI -a na računar
Resetirajte štit pomoću tipke ESP-RST
Preuzmite Gateway kod na GitHubu
Otvorite Arduino IDE
- Odaberite port FTDI monitora
- Otvorite IDE serijski monitor - Postavite brzinu na 38400
- Odaberite opću ploču modula ES8266
- Nadogradite firmver štita pomoću koda pristupnika
Prekidač 3: isključeno 4: isključeno
Otvorite IDE Serial Monitor
Resetirajte štit pomoću tipke ESP-RST
Morate vidjeti poruke na monitoru koje počinju sa "EEPROM inicijalizacija" "Inicijalizacija je završena" ….
Vrijeme je za konfiguraciju
Korak 5: Uradimo konfiguraciju mrežnog prolaza
Prilikom prvog preuzimanja koda pristupnika, ESP8266 Eeprom će se inicijalizirati sa zadanim vrijednostima. Vidjet ćete ovu vrstu poruka "set parameter: x size: yy"
Ove vrijednosti možete pronaći unutar definicije koda paramValue. Naravno, možete promijeniti ove zadane vrijednosti prije preuzimanja koda, ali svoju konfiguraciju možete postaviti i naredbom kasnije. Ovo je bolje ako planirate imati višestruki pristupnik i zadržati samo jednu verziju koda.
Koristite serijski port monitora za slanje naredbe (postavljeno na NL i CR).
Kako SSID trenutno nije definiran, pričekajte "Nije moguće povezati se s vašom drugom sekundom pokušajte ponovo: 5"
Tada će automatski započeti skeniranje WIFI -ja
Vrijeme je da svoje SSID -ove postavite sljedećim naredbama:
- SSID1 = vaš izbor1
- PSW1 = vašpsw1
- SSID2 = vaš izbor2
- PSW2 = vašpsw2
- SSID = 1 (za odabir SSID -a za početak)
- RestartWifi
Nakon nekoliko sekundi možete provjeriti vezu naredbom "ShowWifi". Morate vidjeti IP adresu koju je gateway dobio od vašeg DNS servera. Ako je to slučaj, vrijeme je da krenete dalje
Vrijeme je da definirate adresu svog IP servera unošenjem 4 podadrese (server koji će pokretati Java testni kod). Na primjer:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Slanjem prazne naredbe vidjet ćete sve podržane naredbe koje kasnije možete koristiti za prilagođavanje vašim zahtjevima. Sve vrijednosti parametara pohranjene su u Eepromu i potrebno je ponovno pokretanje kako bi se uzelo u obzir.
Uklonite žicu za konfiguraciju
Štit sada radi kao kapija
Korak 6: Preuzmite Primjer Arduino koda
Prvo preuzmite glavni Arduino kod na GitHubu
Zatim preuzmite Arduino kod ove definicije naredbi i ovaj kod serijske veze u svoje biblioteke
Zatim otvorite glavni kôd s novim Arduino IDE -om
Isključite štitnike 1 i 2 kako biste oslobodili Arduino serijsku vezu 0 za USB vezu
Ponovo postavite štit
Spojite FTDI žice na Mega Serial 2 (TX FTDI na RX Mega i tako dalje)
Pokrenite novi Arduino IDE (ili TTY alat), povežite FTDI USB i počnite nadzirati serijsku vezu
Otpremite Arduino kod unutar Mega -e
Uključite štitnike 1 i 2 za povezivanje Arduino serijske veze 0
Ponovo postavite štit
Morate vidjeti ovu poruku "pokreni USB ispis" na monitoru
Korak 7: Idemo na serversku stranu
Primjer poslužitelja je Java program koji možete preuzeti ovdje na GitHub -u
Samo ga pokrenite i pogledajte Java konzolu i pogledajte FTDI monitor
Vidjet ćete razmjenu podataka između poslužitelja i Arduina
Korak 8: Idite dalje
Ovaj primjer koda Arduino zasnovan je na okvirnom dijelu moje infrastrukture kućne automatizacije.
Ako ste zainteresirani za ovu infrastrukturu, javite mi. Objaviću izvore.
Ako samo želite koristiti gateway, možete pojednostaviti Arduino kod.
Nakon što ste razvili i testirali svoj kôd na Arduino Mega -i, možete ga jednostavno zamijeniti Uno -om!
Povrh toga, možete spojiti žicu između Arduino GPIO 7 i ESP8266 GPIO 5 ako želite da vaš Arduino provjeri Wifi vezu
Preporučuje se:
Model štita sa LED svjetlima: 8 koraka
Model štita sa LED svjetlima: Ovaj projekt je model štita sa LED svjetlima za sjaj. Napravio sam ovaj projekt jer mi se jako svidio dizajn ovog štita i bilo mi je super napraviti ovaj model za svoj projekt. Ovaj štit inspiriran je likom u igri pod imenom League O
Odbrojavanje pomoću GLCD štita: 8 koraka (sa slikama)
Odbrojavanje pomoću GLCD štita: U ovom projektu crtam odbrojavanje na 1 -polnom GLCD štitu, korisnik ovog projekta može Odrediti trajanje mjerača vremena pomoću iscrtanog dugmeta na GLCD -u, kada tajmer dosegne 0, oglasit će se zvučni signal i vibracija
Sistem prisustva sa pohranjivanjem podataka na Google proračunskoj tablici pomoću RFID -a i Arduino Ethernet štita: 6 koraka
Sistem prisustva sa pohranjivanjem podataka na Google proračunskoj tablici korištenjem RFID -a i Arduino Ethernet Shield -a: Zdravo momci, ovdje dolazimo do vrlo uzbudljivog projekta, a to je način slanja rfid podataka u Google proračunsku tablicu pomoću Arduina. Ukratko, napravit ćemo sistem posjećenosti zasnovan na rfid čitaču koji će podatke o posjećenosti spremiti u stvarnom vremenu za goog
Mozilla IoT pristupnik sa ESP8266 i Z-Waveom: 7 koraka
Mozilla IoT Gateway sa ESP8266 i Z-Waveom: Snaga za narode! Mozilla želi osloboditi IoT protokol Opseg ovog projekta je „osigurati da je Internet globalni javni resurs, otvoren i dostupan svima“. Internet stvari (IoT) je novo doba interneta. I poput pripravnika
ATMEGA328 Bootloader Programiranje štita za Arduino Uno: 3 koraka (sa slikama)
ATMEGA328 Bootloader Programming Shield za Arduino Uno: ATMEGA328P programski štitnik za učitavanje pokretačkog programa za Arduino Uno Ponekad se to dogodi i oštetite svoj Arduino Uno Atmega328P mikroprocesor. Možete promijeniti procesor. Ali prvo mora programirati boot-loader u njemu. Dakle, ovaj vodič kako to učiniti b