Sisällysluettelo:

Sarja UDP/IP -yhdyskäytävä Arduinolle, perustuu ESP8266 -suojaukseen: 8 vaihetta
Sarja UDP/IP -yhdyskäytävä Arduinolle, perustuu ESP8266 -suojaukseen: 8 vaihetta

Video: Sarja UDP/IP -yhdyskäytävä Arduinolle, perustuu ESP8266 -suojaukseen: 8 vaihetta

Video: Sarja UDP/IP -yhdyskäytävä Arduinolle, perustuu ESP8266 -suojaukseen: 8 vaihetta
Video: Ethernet для МК. W5500 и ENC28J60. MQTT 2024, Marraskuu
Anonim
Sarja UDP/IP -yhdyskäytävä Arduinolle, joka perustuu ESP8266 -suojaukseen
Sarja UDP/IP -yhdyskäytävä Arduinolle, joka perustuu ESP8266 -suojaukseen

Julkaisin jo vuonna 2016 tämän ohjeen "Kuinka tehdä oma Wifi -yhdyskäytävä Arduinon liittämiseksi IP -verkkoon". Koska tein joitain koodiparannuksia ja käytän edelleen tätä ratkaisua.

Siitä huolimatta on nyt joitain ESP8266 -kilpiä, jotka mahdollistavat aivan saman ilman juottamista, kunhan et käytä Micro- tai Nano -levyjä.

Tässä ohjeessa kerrotaan, miten näitä ESP82 -suojauksia käytetään sarja -UDP/IP -yhdyskäytävänä.

Tämä on osa maailmanlaajuista kodin automaatioinfrastruktuuria, jonka voit katsoa täältä

Lisätietoja ohjekirjasta saat tämän ohjeen avulla

Tarvikkeet

1 Arduino Mega (paras on saada vähintään 1 Mega kehitykseen ja 1 Uno juoksuun)

1 Rokoo ESP8266 ESP-12E UART WIFI -muunnin

1 FTDI 3.3v

2 leipälevyn johtoa

Vaihe 1: Miten se toimii?

Kuinka se toimii ?
Kuinka se toimii ?

Yhdyskäytävä perustuu ESP8266 -moduuliin

Tämä moduuli on yhdistetty toiselta puolelta sarjaliitännän kanssa toiselta puolelta IP -verkkoon Wifin avulla.

Se toimii mustana laatikkona. Sarjayhteydestä tulevat datapaketit lähetetään IP/Udp -porttiin ja päinvastoin.

Sinun on vain määritettävä oma kokoonpanosi (IP, WIFI …), kun yhdistät Gatewayn ensimmäisen kerran.

Se voi siirtää joko raakaa ASCII- ja binääridataa (ei HTTP, JSON …)

Se on suunniteltu yhdistämään esineitä palvelimen kotitekoisiin ohjelmistoihin, jotka tarvitsevat nopeaa ja toistuvaa lyhyen datapaketin siirtoa.

Vaihe 2: Mitkä ovat päätoiminnot?

Useimmiten se on musta laatikko, joka muuntaa sarjatiedot UDP -paketteiksi molemmilla tavoilla.

Mutta yhdyskäytävä voi toimia myös itse lähettämällä sisäisiä tietoja palvelimelle ja vastaanottamalla joitain komentoja palvelimelta.

Arduino voi lähettää ja vastaanottaa viestejä Internetiin yhdistetylle palvelimelle / palvelimelta vain tulostamalla / lukemalla sarjalinkin. Arduinon kehittäjän ei tarvitse vaivata IP -protokollaa.

Lisäksi se tarjoaa GPIO: n, jota Arduino voi käyttää tarkistamaan, että yhdyskäytävä on kytketty oikein WIFI -verkkoon ja että yhdyskäytävä voi vaihtaa automaattisesti kahden eri SSID -tunnuksen kanssa vian sattuessa

Yhdyskäytävällä on 2 erilaista toimintatilaa, jotka valitaan asettamalla GPIO

GPIO: n asettaminen maahan ja yhdyskäytävä siirtyy asetustilaan.

GPIO: n asettaminen vapaaksi ja yhdyskäytävä siirtyy yhdyskäytäväkäyttötilaan.

Lisäksi yhdyskäytävän UDP/IP -kokoonpanoa voidaan muuttaa etänä

Vaihe 3: Materiaalin rakentaminen

Materiaalin rakenne
Materiaalin rakenne

Hyvin vähän asioita tarvitaan

1 ESP8266 Shield - Löysin tämän UNO R3 ESP8266 Serial WiFi Shield Extend Board -moduulin alle 9 €

1 UNO, joka on Arduinon kohde

1 Mega, joka on arduino -kehitystyökalu (voit tehdä ilman, mutta virheiden korjaaminen on melko vaikeaa)

1 FTDI 3.3/5v kehitykseen

Jotkut johdot

Vaihe 4: Lataa yhdyskäytäväkoodi

Lataa Gateway Code
Lataa Gateway Code

Tässä vaiheessa Arduinoa käytetään vain virran kytkemiseen (USB: llä tai muulla virtalähteellä) ESP8266 -kilpessä

Liitä ESP8266 GPIO4 maahan (päästäksesi kokoonpanotilaan)

Muista asettaa FTDI -arvoksi 3.3v suojan vaatimusten mukaisesti

Liitä FTDI suojaan (RX - TX)

Aseta suojakytkin asentoon 1: pois päältä 2: pois päältä 3: päällä 4: päällä

Liitä FTDI: n USB -puoli tietokoneeseen

Nollaa suoja ESP-RST-painikkeella

Lataa Gateway -koodi sieltä GitHubista

Avaa Arduino IDE

  • Valitse FTDI -näytön portti
  • Avaa IDE -sarjamonitori - Aseta nopeudeksi 38400
  • Valitse yleinen ES8266 -moduulikortti
  • Päivitä kilven laiteohjelmisto yhdyskäytäväkoodilla

Aseta kytkin 3: pois päältä 4: pois päältä

Avaa IDE -sarjamonitori

Nollaa suoja ESP-RST-painikkeella

Sinun on näytettävä näytössä viestejä, jotka alkavat "EEPROM -alustus" "Alustus valmis"….

On aika tehdä kokoonpano

Vaihe 5: Tehdään yhdyskäytävän määritykset

Kun lataat yhdyskäytäväkoodin ensimmäistä kertaa, ESP8266 Eeprom alustetaan oletusarvoilla. Näet tällaisia viestejä "aseta parametri: x koko: yy"

Nämä arvot löytyvät parametValue -koodimääritelmästä. Voit tietysti muuttaa näitä oletusarvoja ennen koodin lataamista, mutta voit myös määrittää kokoonpanosi myöhemmin komennolla. Tämä on parempi, jos aiot käyttää moniyhdyskäytävää ja säilyttää vain yhden koodiversion.

Käytä näytön sarjaporttia komennon lähettämiseen (asetettu NL ja CR).

Koska SSID -tunnusta ei ole tällä hetkellä määritetty, odota "Yhteyden muodostaminen epäonnistui. Toinen yritä uudelleen: 5"

Tämän jälkeen WIFI -skannaus käynnistyy automaattisesti

On aika asettaa SSID -tunnuksesi seuraavilla komennoilla:

  • SSID1 = valintasi1
  • PSW1 = omasi1
  • SSID2 = valintasi2
  • PSW2 = sinun 2
  • SSID = 1 (valitaksesi, millä SSID -tunnuksella aloitat)
  • Käynnistä wifi uudelleen

Muutaman sekunnin kuluttua voit tarkistaa yhteyden komennolla "ShowWifi". Sinun on nähtävä IP -osoite, jonka yhdyskäytävä sai DNS -palvelimeltasi. Jos näin on, on aika mennä pidemmälle

On aika määrittää IP -palvelimen osoite syöttämällä 4 aliosoitetta (palvelin, joka suorittaa Java -testikoodin). Esimerkiksi:

  • "IP1 = 192"
  • "IP2 = 168"
  • "IP3 = 1"
  • "IP4 = 10"

Lähettämällä tyhjän komennon näet kaikki tuetut komennot, joita voit käyttää myöhemmin vastaamaan tarpeitasi. Kaikki parametriarvot tallennetaan Eepromiin ja ne on otettava uudelleenkäynnistys huomioon.

Irrota kokoonpanojohto

Kilpi toimii nyt yhdyskäytävänä

Vaihe 6: Lataa esimerkki Arduino -koodista

Lataa esimerkki Arduino -koodista
Lataa esimerkki Arduino -koodista

Lataa ensin tärkein Arduino -koodi sieltä GitHubista

Lataa sitten Arduino -koodi tämän komennon määritelmä ja tämä sarjalinkkikoodi kirjastoihisi

Avaa sitten pääkoodi uudella Arduino IDE: llä

Kytke suojakytkimet 1 ja 2 pois päältä, jotta Arduino -sarjaliitäntä 0 vapautuu USB -liitäntää varten

Nollaa suoja

Liitä FTDI -johdot Mega Serial 2: een (TX FTDI - RX Mega ja niin edelleen)

Käynnistä uusi Arduino IDE (tai TTY -työkalu), liitä FTDI Usb ja ala seurata sarjaliitäntää

Lataa Arduino -koodi Megan sisälle

Aseta suojakytkimet 1 ja 2 päälle kytkeäksesi Arduino -sarjayhteyden 0

Nollaa suoja

Sinun on näytettävä tämä viesti "aloita usb -tulostus" näytöllä

Vaihe 7: Tehdään palvelinpuoli

Palvelimen esimerkki on Java -ohjelma, jonka voit ladata täältä GitHubista

Suorita se ja katso Java -konsolia ja katso FTDI -näyttöä

Näet tiedonsiirron palvelimen ja Arduinon välillä

Vaihe 8: Siirry pidemmälle

Mennä pidemmälle
Mennä pidemmälle
Mennä pidemmälle
Mennä pidemmälle

Tämä Arduino -koodiesimerkki perustuu koti -automaatioinfrastruktuurini runko -osaan.

Jos olet kiinnostunut tästä infrastruktuurista, kerro siitä minulle. Julkaisen lähteet.

Jos haluat vain käyttää yhdyskäytävää, voit yksinkertaistaa Arduino -koodia.

Kun olet kehittänyt ja testannut koodisi Arduino Megalla, voit helposti korvata sen Uno!

Tämän lisäksi voit liittää johdon Arduino GPIO 7: n ja ESP8266 GPIO 5: n välille, jos haluat, että Arduino tarkistaa Wifi -yhteyden

Suositeltava: