Turinys:
- Prekės
- 1 žingsnis: kaip tai veikia?
- 2 žingsnis: Kokios yra pagrindinės funkcijos?
- 3 žingsnis: Medžiagos kūrimas
- 4 veiksmas: atsisiųskite vartų kodą
- 5 veiksmas: atlikime šliuzo konfigūraciją
- 6 veiksmas: atsisiųskite „Arduino“kodo pavyzdį
- 7 žingsnis: padarykime serverio pusę
- 8 žingsnis: eiti toliau
Video: „Arduino“serijinis UDP/IP šliuzas, pagrįstas ESP8266 ekranu: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Aš jau paskelbiau 2016 m. Šį nurodymą „Kaip sukurti savo„ Wifi “šliuzą, kad prijungtumėte„ Arduino “prie IP tinklo“. Kadangi padariau keletą kodo patobulinimų ir vis dar naudoju šį sprendimą.
Nepaisant to, dabar yra keletas ESP8266 skydų, kurie leidžia tą patį padaryti be litavimo, kol nenaudojate „Micro“ar „Nano“plokščių.
Šioje instrukcijoje bus paaiškinta, kaip naudoti šiuos ESP82 skydus kaip nuoseklius UDP/IP šliuzus.
Tai apima pasaulinės namų automatikos infrastruktūros dalį, kurią galite pamatyti čia
Daugiau informacijos apie skydą su šia instrukcija
Prekės
1 „Arduino Mega“(geriausia turėti bent 1 Mega vystymuisi ir 1 „Uno“bėgimo fazei)
1 „Rokoo ESP8266 ESP-12E UART WIFI Convertiver“
1 FTDI 3.3v
2 duonos lentos laidai
1 žingsnis: kaip tai veikia?
„Gateway“yra pagrįstas ESP8266 moduliu
Šis modulis yra prijungtas iš vienos pusės su serijine nuoroda iš kitos pusės į IP tinklą naudojant „Wifi“.
Jis veikia kaip juoda dėžutė. Duomenų paketai, gaunami iš nuosekliosios nuorodos, siunčiami į IP/Udp prievadą ir atvirkščiai.
Jums tereikia nustatyti savo konfigūraciją (IP, WIFI …), kai pirmą kartą įjungiate „Gateway“.
Jis gali perduoti neapdorotus ASCII ir dvejetainius duomenis (nėra HTTP, JSON …)
Jis skirtas prijungti objektus prie serverio sukurtos programinės įrangos, kuriai reikia greitai ir dažnai perduoti trumpą duomenų paketą.
2 žingsnis: Kokios yra pagrindinės funkcijos?
Dažniausiai tai yra juodoji dėžė, kuri abiem būdais konvertuoja serijinius duomenis į UDP paketą.
Tačiau šliuzas taip pat gali veikti pats, siųsdamas vidinę informaciją į serverį ir gaudamas kai kurias komandas iš serverio.
„Arduino“gali siųsti ir gauti pranešimus į / iš serverio, prijungto per internetą, tiesiog atspausdindamas / skaitydamas nuoseklią nuorodą. „Arduino“kūrėjui nereikia nerimauti dėl IP protokolo.
Be to, jame yra GPIO, kurį „Arduino“gali naudoti norėdamas patikrinti, ar vartai yra tinkamai prijungti prie „WIFI“, o „Gateway“gali automatiškai pakeisti 2 skirtingus SSID gedimo atveju.
Vartai turi 2 skirtingus veikimo režimus, kurie pasirenkami nustatant GPIO
Nustatant GPIO į žemę ir „Gateway“įjungiamas konfigūracijos režimas.
Išjungus GPIO ir „Gateway“įjungiamas vartų veikimo režimas.
Be to, „Gateway“UDP/IP konfigūraciją galima keisti nuotoliniu būdu
3 žingsnis: Medžiagos kūrimas
Reikalaujama labai nedaug dalykų
1 skydas ESP8266 - radau šį UNO R3 ESP8266 serijinio „WiFi“skydo išplėtimo plokštės modulį už mažiau nei 9 €
1 UNO, kuris yra tikslinis „Arduino“taikinys
1 Mega, kuri yra „arduino“kūrimo įrankis (galite apsieiti be jo, tačiau derinti yra gana sunku)
1 FTDI 3.3/5v plėtrai
Kai kurie laidai
4 veiksmas: atsisiųskite vartų kodą
Šio žingsnio metu „Arduino“naudojamas tik ESP8266 skydo maitinimui (naudojant USB arba kitą maitinimo šaltinį)
Prijunkite ESP8266 GPIO4 prie žemės (kad įeitumėte į konfigūracijos režimą)
Pasirūpinkite, kad FTDI būtų 3.3v, kaip reikalauja skydas
Prijunkite FTDI prie skydo (RX į TX)
Nustatykite skydo jungiklį į 1: išjungta 2: išjungta 3: įjungta 4: įjungta
Prijunkite FTDI USB pusę prie kompiuterio
Iš naujo nustatykite skydą naudodami ESP-RST mygtuką
Atsisiųskite „Gateway“kodą iš „GitHub“
Atidarykite „Arduino IDE“
- Pasirinkite FTDI monitoriaus prievadą
- Atidarykite IDE serijinį monitorių - nustatykite greitį iki 38400
- Pasirinkite bendrąją ES8266 modulio plokštę
- Atnaujinkite skydo programinę įrangą naudodami šliuzo kodą
Nustatykite jungiklį 3: išjungtas 4: išjungtas
Atidarykite IDE serijos monitorių
Iš naujo nustatykite skydą naudodami ESP-RST mygtuką
Ekrane turite matyti pranešimus, prasidedančius „EEPROM inicijavimas“, „Inicializavimas baigtas“….
Atėjo laikas atlikti konfigūraciją
5 veiksmas: atlikime šliuzo konfigūraciją
Kai pirmą kartą atsisiųsite šliuzo kodą, ESP8266 Eeprom bus inicijuotas naudojant numatytas vertes. Pamatysite tokio tipo pranešimus "Nustatykite parametrą: x dydis: yy"
Šias vertes galite rasti „paramValue“kodo apibrėžtyje. Žinoma, galite pakeisti šias numatytas reikšmes prieš atsisiųsdami kodą, tačiau vėliau taip pat galite nustatyti savo konfigūraciją naudodami komandą. Tai geriau, jei planuojate turėti daugialypį šliuzą ir išsaugoti tik vieną kodo versiją.
Naudokite monitoriaus nuoseklųjį prievadą komandai siųsti (nustatykite į NL ir CR).
Kadangi SSID šiuo metu nėra apibrėžtas, palaukite „Nepavyko prisijungti prie jūsų antrojo bandymo: 5“
Tada automatiškai prasidės WIFI nuskaitymas
Atėjo laikas nustatyti savo SSID naudojant šias komandas:
- SSID1 = jūsų pasirinkimas1
- PSW1 = jūsųpsw1
- SSID2 = jūsų pasirinkimas2
- PSW2 = jūsųpsw2
- SSID = 1 (pasirinkti, nuo kurio SSID pradėti)
- Iš naujo paleiskite „Wi -Fi“
Po kelių sekundžių galite patikrinti ryšį naudodami komandą „ShowWifi“. Turite pamatyti IP adresą, kurį vartai gavo iš jūsų DNS serverio. Jei taip yra, laikas eiti toliau
Atėjo laikas apibrėžti savo IP serverio adresą įvedant 4 antrinius adresus (serveris, kuriame bus paleistas „Java“bandymo kodas). Pavyzdžiui:
- "IP1 = 192"
- "IP2 = 168"
- „IP3 = 1“
- „IP4 = 10“
Siųsdami tuščią komandą pamatysite visas palaikomas komandas, kurias vėliau galėsite naudoti, kad atitiktų jūsų reikalavimus. Visos parametrų vertės yra saugomos „Eeprom“ir jas reikia paleisti iš naujo.
Nuimkite konfigūracijos laidą
Skydas dabar veikia kaip vartai
6 veiksmas: atsisiųskite „Arduino“kodo pavyzdį
Pirmiausia atsisiųskite pagrindinį „Arduino“kodą iš „GitHub“
Tada atsisiųskite „Arduino“kodą pagal šios komandos apibrėžimą ir šį nuoseklios nuorodos kodą į savo bibliotekas
Tada atidarykite pagrindinį kodą naudodami naują „Arduino IDE“
Išjunkite skydo jungiklį 1 ir 2, kad atlaisvintumėte „Arduino“nuosekliąją jungtį 0 USB jungčiai
Iš naujo nustatykite skydą
Prijunkite FTDI laidus prie „Mega Serial 2“(TX FTDI prie „RX Mega“ir pan.)
Paleiskite naują „Arduino IDE“(arba TTY įrankį), prijunkite „FTDI Usb“ir pradėkite stebėti nuosekliąją nuorodą
Įkelkite „Arduino“kodą į „Mega“
Įjunkite skydo jungiklį 1 ir 2, kad prijungtumėte „Arduino“nuosekliąją jungtį 0
Iš naujo nustatykite skydą
Turite matyti šį pranešimą „pradėti spausdinti iš USB“monitoriuje
7 žingsnis: padarykime serverio pusę
Serverio pavyzdys yra „Java“programa, kurią galite atsisiųsti čia „GitHub“
Tiesiog paleiskite ją, pažvelkite į „Java“konsolę ir į FTDI monitorių
Pamatysite duomenų mainus tarp serverio ir „Arduino“
8 žingsnis: eiti toliau
Šis „Arduino“kodo pavyzdys yra pagrįstas pagrindine mano namų automatikos infrastruktūros dalimi.
Jei jus domina ši infrastruktūra, praneškite man. Aš paskelbsiu šaltinius.
Jei norite tiesiog naudoti šliuzą, galite supaprastinti „Arduino“kodą.
Sukūrę ir išbandę savo kodą „Arduino Mega“, galite lengvai jį pakeisti „Uno“!
Be to, galite prijungti laidą tarp „Arduino GPIO 7“ir „ESP8266 GPIO 5“, jei norite, kad „Arduino“patikrintų „Wifi“ryšį
Rekomenduojamas:
ESP32 pagrįstas RFID skaitytuvas su jutikliniu ekranu: 7 žingsniai
ESP32 pagrįstas RFID skaitytuvas su jutikliniu ekranu: Šioje instrukcijoje parodysiu, kaip sukurti paprastą RFID skaitytuvą su TFT išvestimi, skirtą tvirtinti prie sienos, naudojant ESP32 DEV KIT C modulį, RC-522 pagrindu sukurtą skaitytuvo plokštę ir AZ-Touch ESP rinkinį. Šį skaitytuvą galite naudoti norėdami patekti į duris arba signalizuoti įsibrovėlius
„Arduino“serijinis ryšys: 5 žingsniai
„Arduino“serijinis ryšys: Daugelis „Arduino“projektų remiasi duomenų perdavimu tarp kelių „Arduinos“. Nesvarbu, ar esate mėgėjas, kuriantis RC automobilį, RC lėktuvą, ar kuriantis orų stotį su nuotoliniu ekranu, turėsite žinoti, kaip patikimai perkelti seriją
„Arduino“ir „Python“serijinis ryšys - klaviatūros ekranas: 4 žingsniai
„Arduino“ir „Python“serijinis ryšys - klaviatūros ekranas: Šis projektas skirtas „Mac“vartotojams, tačiau jis taip pat gali būti įgyvendintas „Linux“ir „Windows“, vienintelis žingsnis, kuris turėtų skirtis, yra diegimas
„Arduino“išmaniųjų telefonų komulai/serijinis monitorius per „Bluetooth“HC-05, HC-06: 4 žingsniai (su nuotraukomis)
„Arduino“išmaniųjų telefonų komulai/serijinis monitorius per „Bluetooth“HC-05, HC-06: Tai yra nepaprastai naudinga, jei norite išbandyti eskizą realaus pasaulio aplinkoje, toli nuo kompiuterio. Rezultatas yra tas, kad jūsų išmanusis telefonas veikia taip pat, kaip ir „Arduino“serijos monitorius jūsų kompiuteryje. Galimi „Bluetooth“moduliai HC-05 ir HC-06
Lietaus vandens šliuzas: 11 žingsnių (su nuotraukomis)
Lietaus vandens šliuzas: Stipri liūtis gali sukelti perpildymą virš mūsų: šaligatvių, lietaus vandens šulinių, polderių ir mūsų pylimų. Kad taip neatsitiktų, mes išradome lietaus vandens šliuzą! Lietaus vandens šliuzas skaitmeniniu būdu apskaičiuoja atstumą tarp lietaus vandens