Kazalo:

Serijski prehod UDP/IP za Arduino na osnovi ščita ESP8266: 8 korakov
Serijski prehod UDP/IP za Arduino na osnovi ščita ESP8266: 8 korakov

Video: Serijski prehod UDP/IP za Arduino na osnovi ščita ESP8266: 8 korakov

Video: Serijski prehod UDP/IP za Arduino na osnovi ščita ESP8266: 8 korakov
Video: CS50 2014 – 7-я неделя 2024, November
Anonim
Serijski prehod UDP/IP za Arduino na osnovi ESP8266 Shield
Serijski prehod UDP/IP za Arduino na osnovi ESP8266 Shield

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?

Kako deluje ?
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

Gradnja materiala
Gradnja 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

Prenesite kodo prehoda
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

Prenesite primer kode Arduino
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

Da gremo dlje
Da gremo dlje
Da gremo dlje
Da gremo 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: