Kazalo:
- Zaloge
- 1. korak: Kako deluje?
- 2. korak: Katere so glavne funkcije?
- 3. korak: Izdelava materiala
- 4. korak: Prenesite kodo prehoda
- 5. korak: Naredimo konfiguracijo prehoda
- 6. korak: Prenesite primer kode Arduino
- 7. korak: Naredimo stran strežnika
- 8. korak: Pojdite dlje
Video: Serijski prehod UDP/IP za Arduino na osnovi ščita ESP8266: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Leta 2016 sem že objavil to navodilo "Kako narediti lasten prehod Wifi za povezavo vašega Arduina z omrežjem IP". Ker sem naredil nekaj izboljšav kode in še vedno uporabljam to rešitev.
Kljub temu zdaj obstaja nekaj ščitov ESP8266, ki omogočajo enako delo brez spajkanja, dokler ne uporabljate Micro ali Nano plošč.
Ta navodila vam bodo razložila, kako te ščite ESP82 uporabiti kot serijski prehod UDP/IP.
To je del globalne infrastrukture za avtomatizacijo doma, ki si jo lahko ogledate tukaj
Več informacij o ščitu s tem navodilom
Zaloge
1 Arduino Mega (najbolje je imeti vsaj 1 Mega za razvoj in 1 Uno za fazo delovanja)
1 Rokoo ESP8266 ESP-12E UART WIFI Convertisseur
1 FTDI 3.3v
2 žici za mizo
1. korak: Kako deluje?
Prehod temelji na modulu ESP8266
Ta modul je povezan z eno stranjo s serijsko povezavo z druge strani v omrežje IP z Wifi.
Deluje kot črna škatla. Podatkovni paketi, ki prihajajo iz serijske povezave, se pošljejo na vrata IP/Udp in obratno.
Ko prvič vklopite prehod, morate nastaviti lastno konfiguracijo (IP, WIFI …).
Lahko prenaša surove ASCII in binarne podatke (brez HTTP, JSON …)
Zasnovan je za povezovanje predmetov s strežniško domačo programsko opremo, ki potrebuje hiter in pogost prenos kratkega paketa podatkov.
2. korak: Katere so glavne funkcije?
Večinoma gre za črno polje, ki serijske podatke pretvori v paket UDP na oba načina.
Toda prehod lahko deluje tudi sam, tako da strežniku pošlje notranje podatke in od strežnika prejme nekaj ukazov.
Arduino lahko pošilja in prejema sporočila v / s strežnika, povezanega prek interneta, samo s tiskanjem / branjem serijske povezave. Razvijalcu Arduina ni treba motiti protokola IP.
Poleg tega ponuja GPIO, ki ga lahko Arduino uporabi za preverjanje, ali je prehod pravilno povezan z WIFI in lahko v primeru okvare samodejno preklopi med dva različna SSID
Prehod ima 2 različna načina delovanja, ki jih izberete z nastavitvijo GPIO
Nastavitev GPIO na tla in prehod vstopi v konfiguracijski način.
Če nastavite GPIO brezplačno in prehod vstopi v način delovanja prehoda.
Poleg tega lahko konfiguracijo prehoda UDP/IP spremenite na daljavo
3. korak: Izdelava materiala
Potrebno je zelo malo stvari
1 ESP8266 Shield - Ta modul razširljive plošče UNO R3 ESP8266 Serial WiFi Shield se mi je zdel manj kot 9 €
1 UNO, ki je tarča Arduino
1 Mega, ki je razvojno orodje arduino (lahko tudi brez, vendar je odpravljanje napak precej težko)
1 FTDI 3.3/5v za razvoj
Nekaj žic
4. korak: Prenesite kodo prehoda
V tem koraku se Arduino uporablja samo za napajanje (z USB -jem ali drugim virom napajanja) na ščitniku ESP8266
ESP8266 GPIO4 povežite z maso (za vstop v konfiguracijski način)
Pazite, da FTDI nastavite na 3,3 V, kot zahteva ščit
Priključite FTDI na ščit (RX na TX)
Stikalo ščita nastavite na 1: izklop 2: izklop 3: vklop 4: vklop
USB stran FTDI priključite na računalnik
Ponastavite ščit s pritiskom na gumb ESP-RST
Prenesite kodo Gateway na GitHub
Odprite Arduino IDE
- Izberite vrata monitorja FTDI
- Odprite serijski monitor IDE - nastavite hitrost na 38400
- Izberite Splošno ploščo modulov ES8266
- Nadgradite vdelano programsko opremo ščita s kodo prehoda
Stikalo 3: izklop 4: izklop
Odprite serijski monitor IDE
Ponastavite ščit s pritiskom na gumb ESP-RST
Na monitorju morate videti sporočila, ki se začnejo z "EEPROM Initiation" (Inicializacija EEPROM -a), "Initialization completed" …
Čas je za konfiguracijo
5. korak: Naredimo konfiguracijo prehoda
Pri prvem prenosu kode prehoda se bo ESP8266 Eeprom inicializiral s privzetimi vrednostmi. Videli boste tovrstna sporočila "set parameter: x size: yy"
Te vrednosti najdete v definiciji kode paramValue. Seveda lahko te privzete vrednosti spremenite pred prenosom kode, pozneje pa lahko z ukazom nastavite tudi svojo konfiguracijo. To je bolje, če nameravate imeti multipe gateway in ohraniti samo eno različico kode.
Za pošiljanje ukazov uporabite serijska vrata monitorja (nastavljeno na NL in CR).
Ker SSID trenutno ni definiran, počakajte na "Ni bilo mogoče vzpostaviti povezave z drugo sekundo: poskusite znova: 5"
Nato se bo samodejno začelo skeniranje WIFI
Čas je, da nastavite svoje SSID -je z naslednjimi ukazi:
- SSID1 = vaša izbira1
- PSW1 = vašpsw1
- SSID2 = vaša izbira2
- PSW2 = vašpsw2
- SSID = 1 (če želite izbrati, kateri SSID začeti)
- Znova zaženite WiFi
Po nekaj sekundah lahko preverite povezavo z ukazom "ShowWifi". Videti morate naslov IP, ki ga je prehod prejel od vašega strežnika DNS. Če je temu tako, je čas, da greste dlje
Čas je, da svoj IP strežnik določite tako, da vnesete 4 podnaslove (strežnik, ki bo izvajal preskusno kodo Java). Na primer:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Če pošljete prazen ukaz, boste videli vse podprte ukaze, ki jih lahko kasneje uporabite, da ustrezajo vašim zahtevam. Vse vrednosti parametrov so shranjene v Eepromu in jih je treba upoštevati pri ponovnem zagonu.
Odstranite konfiguracijski kabel
Ščit zdaj deluje kot prehod
6. korak: Prenesite primer kode Arduino
Najprej prenesite glavno kodo Arduino na GitHub
Nato v svoje knjižnice prenesite kodo Arduino in definicijo teh ukazov ter to kodo serijske povezave
Nato odprite glavno kodo z novim Arduino IDE
Stikalo št. 1 in 2 izklopite, da sprostite serijsko povezavo Arduino 0 za povezavo USB
Ponastavite ščit
Priključite žice FTDI na Mega Serial 2 (TX FTDI na RX Mega in tako naprej)
Zaženite nov Arduino IDE (ali orodje TTY), povežite FTDI Usb in začnite spremljati serijsko povezavo
Naložite kodo Arduino v Mega
Stikalo št. 1 in 2 vključite, da povežete serijsko povezavo Arduino 0
Ponastavite ščit
Na monitorju morate videti to sporočilo "začni tiskanje USB"
7. korak: Naredimo stran strežnika
Primer strežnika je program Java, ki ga lahko prenesete tukaj na GitHub
Samo zaženite in poglejte konzolo Java in poglejte monitor FTDI
Videli boste izmenjavo podatkov med strežnikom in Arduinom
8. korak: Pojdite dlje
Ta primer kode Arduino temelji na okvirnem delu moje infrastrukture za avtomatizacijo doma.
Če vas zanima ta infrastruktura, mi to sporočite. Objavil bom vire.
Če želite samo uporabljati prehod, lahko poenostavite kodo Arduino.
Ko ste razvijali in preizkusili svojo kodo na Arduino Mega, jo lahko preprosto zamenjate z Uno!
Poleg tega lahko povežete žico med Arduino GPIO 7 in ESP8266 GPIO 5, če želite, da vaš Arduino preveri povezavo Wifi
Priporočena:
Model ščita z LED lučmi: 8 korakov
Model ščita z LED lučmi: Ta projekt je model ščita z LED lučmi, ki svetijo. Ta projekt sem naredil, ker mi je bila zasnova ščita zelo všeč in se mi je zdelo kul, da bi ta model naredil za svoj projekt. Ta ščit je bil navdih za lik v igri z imenom League O
Modul ščita za tipkovnico 1602 z nahrbtnikom I2C: 6 korakov
Modul ščita tipkovnice LCD z ločljivostjo 1602 z nahrbtnikom I2C: Kot del večjega projekta sem želel imeti LCD zaslon in tipkovnico za navigacijo po nekaterih preprostih menijih. Veliko I/O vrat na Arduinu bom uporabljal za druga dela, zato sem želel vmesnik I2C za LCD. Tako sem kupil nekaj strojne opreme
Uporaba ščita za tipkovnico LCD z zaslonom 1602 W/ Arduino [+Praktični projekti]: 7 korakov
Uporaba 1602 LCD tipkovnice ščit W/ Arduino [+Praktični projekti]: To in druge neverjetne vaje lahko preberete na uradni spletni strani ElectroPeak Pregled V tej vadnici se boste naučili uporabljati ščit tipkovnice Arduino LCD s tremi praktičnimi projekti. Kaj se boste naučili: Kako nastaviti ščit in prepoznati ključe
15 $ LoRa prehod/vozlišče ESP8266 PCB za izdelavo 3cmX8cm Velikost: 6 korakov
15 $ LoRa Gateway/Node ESP8266 PCB za izdelavo 3cmX8cm Velikost: Hej, kaj je, fantje? Akarsh tukaj iz CETech -a. Danes bomo naredili projekt, ki je preprosto vozlišče LoRa in ga lahko uporabite celo kot enokanalni prehod. Tukaj je mikrokrmilnik, ki sem ga uporabil, ESP8266, ki je povezan z ploščami LoRa
Serijski krmilnik na osnovi Arduino: 6 korakov
Serijski servo krmilnik na osnovi Arduino: To je preprost serijski krmilnik za več servomotorjev, ki temelji na Arduinu. (tudi moj prvi pouk :)) Večina dela pri tem je nastala zaradi pridobivanja programske opreme za pogovor z arduinom in izdelave protokola za prenos podatkov. Kot f