Sisukord:

Seeria UDP/IP -lüüs Arduino jaoks ESP8266 kilbi alusel: 8 sammu
Seeria UDP/IP -lüüs Arduino jaoks ESP8266 kilbi alusel: 8 sammu

Video: Seeria UDP/IP -lüüs Arduino jaoks ESP8266 kilbi alusel: 8 sammu

Video: Seeria UDP/IP -lüüs Arduino jaoks ESP8266 kilbi alusel: 8 sammu
Video: ESP8266 - TCP Client - Максимально просто - 1 часть 2024, November
Anonim
Seeria UDP/IP -lüüs Arduino jaoks põhineb ESP8266 Shieldil
Seeria UDP/IP -lüüs Arduino jaoks põhineb ESP8266 Shieldil

Avaldasin juba 2016. aastal selle juhendi "Kuidas luua oma Wifi -lüüs, et ühendada Arduino IP -võrguga". Kuna tegin mõningaid koodi täiustusi ja kasutan seda lahendust endiselt.

Sellegipoolest on nüüd olemas mõned ESP8266 kilbid, mis võimaldavad ilma jootmiseta teha sama, kui te ei kasuta Micro- või Nano -plaate.

Selles juhendis selgitatakse, kuidas neid ESP82 kilpe kasutada UDP/IP jadana.

See hõlmab osa ülemaailmsest koduautomaatika infrastruktuurist, mida saate siit vaadata

Lisateavet kilbi kohta saate selle juhendiga

Tarvikud

1 Arduino Mega (parim on omada vähemalt 1 Mega arendamiseks ja 1 Uno jooksmiseks)

1 Rokoo ESP8266 ESP-12E UART WIFI muundur

1 FTDI 3.3v

2 leivaplaadi juhet

Samm: kuidas see toimib?

Kuidas see töötab ?
Kuidas see töötab ?

Gateway põhineb ESP8266 moodulil

See moodul on ühelt poolt ühendatud jadaühendusega teisest küljest IP -võrku Wifi abil.

See toimib musta kastina. Jadaühendusest pärinevad andmepaketid saadetakse IP/Udp -porti ja vastupidi.

Gateway esmakordsel sisselülitamisel peate lihtsalt määrama oma konfiguratsiooni (IP, WIFI …).

See võib edastada kas toores ASCII ja kahendandmeid (puudub HTTP, JSON …)

Selle eesmärk on ühendada objekte serveri kodus valmistatud tarkvaraga, mis vajab kiiret ja sagedast lühikese andmepaketi edastamist.

2. samm: millised on peamised funktsioonid?

Enamasti on see must kast, mis teisendab jadaandmed mõlemal viisil UDP -paketiks.

Kuid lüüs võib ka ise tegutseda, saates serverisse siseteavet ja saades serverilt mõned käsud.

Arduino saab saata ja vastu võtta sõnumeid Interneti kaudu ühendatud serveri poole või sealt, lihtsalt trükkides / lugedes jadalinki. Arduino arendajal pole vaja IP -protokolliga vaeva näha.

Lisaks pakub see GPIO -d, mida Arduino saab kasutada, et kontrollida, kas lüüs on WIFI -ga õigesti ühendatud ja lüüs saab rikke korral automaatselt kahe erineva SSID -ga vahetada

Lüüsil on 2 erinevat töörežiimi, mis valitakse GPIO seadistamisega

GPIO seadistamine maapinnale ja Gateway siseneb konfiguratsioonirežiimi.

GPIO vabaks seadmine ja Gateway lülitub lüüsi töörežiimi.

Peale selle saab Gateway UDP/IP konfiguratsiooni eemalt muuta

Samm: materjali ehitamine

Materjali ehitus
Materjali ehitus

Vaja on väga vähe asju

1 ESP8266 kilp - leidsin selle UNO R3 ESP8266 seeria WiFi kilbi laiendusmooduli hinnaga alla 9 €

1 UNO, mis on Arduino sihtmärk

1 Mega, mis on arduino arendustööriist (saate ka ilma hakkama, kuid silumine on üsna raske)

1 FTDI 3.3/5v arendamiseks

Mõned juhtmed

Samm: laadige alla lüüsi kood

Laadige alla Gateway Code
Laadige alla Gateway Code

Selles etapis kasutatakse Arduinot ainult ESP8266 kilbi toiteks (USB või muu toiteallikaga)

Ühendage ESP8266 GPIO4 maaga (konfiguratsioonirežiimi sisenemiseks)

Hoolitsege selle eest, et FTDI oleks kilbiga nõutud väärtusele 3.3v

Ühendage FTDI kilbiga (RX to TX)

Lülitage varjestuslüliti asendisse 1: väljas 2: väljas 3: sisse 4: sisse

Ühendage FTDI USB -pool arvutiga

Lähtestage kilp ESP-RST nupuga

Laadige seal GitHubist alla Gateway kood

Avage Arduino IDE

  • Valige FTDI monitori port
  • Avage IDE jadamonitor - määrake kiiruseks 38400
  • Valige üldine ES8266 mooduliplaat
  • Värskendage kilbi püsivara lüüsi koodiga

Lülitage lüliti 3: välja 4: välja

Avage IDE jadamonitor

Lähtestage kilp ESP-RST nupuga

Peate ekraanil nägema teateid, mis algavad sõnadega "EEPROM -i lähtestamine" "Initsialiseerimine on lõpetatud"….

On aeg seadistada

Samm: teeme lüüsi konfigureerimise

Lüüsi koodi esmakordsel allalaadimisel lähtestatakse ESP8266 Eeprom vaikeväärtustega. Näete selliseid teateid "set parameeter: x size: yy"

Need väärtused leiate paramValue koodimääratlusest. Muidugi saate neid vaikeväärtusi enne koodi allalaadimist muuta, kuid konfiguratsiooni saate määrata ka hiljem käsuga. See on parem, kui kavatsete, et mitmikvärav oleks ainult üks koodiversioon.

Kasutage käsu saatmiseks monitori jadapordi (seadistatud NL ja CR).

Kuna SSID -d pole praegu määratletud, oodake Ei saanud ühendust luua

Seejärel algab automaatselt WIFI skannimine

On aeg määrata oma SSID -d järgmiste käskudega:

  • SSID1 = teie valik1
  • PSW1 = teiepsw1
  • SSID2 = teie valik2
  • PSW2 = teiepsw2
  • SSID = 1 (valida, millise SSID -ga alustada)
  • Taaskäivitage WiFi

Mõne sekundi pärast saate ühendust kontrollida käsuga "ShowWifi". Peate nägema IP -aadressi, mille lüüs sai teie DNS -serverist. Kui see nii on, on aeg minna kaugemale

On aeg määratleda oma IP -serveri aadress, sisestades 4 alam -aadressi (server, mis käivitab Java testkoodi). Näiteks:

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

Tühja käsu saatmisel näete kõiki toetatud käske, mida saate hiljem oma vajaduste rahuldamiseks kasutada. Kõik parameetrite väärtused salvestatakse Eepromi ja vajavad taaskäivitamist.

Eemaldage konfiguratsioonijuhe

Kilp töötab nüüd väravana

Samm: laadige alla Arduino koodi näide

Laadige alla Arduino koodi näide
Laadige alla Arduino koodi näide

Esmalt laadige GitHubist alla Arduino peamine kood

Seejärel laadige oma raamatukogudesse alla Arduino kood, see käskude määratlus ja see jadalingi kood

Seejärel avage põhikood uue Arduino IDE -ga

Lülitage kilbilülitid 1 ja 2 välja, et vabastada Arduino jadalink 0 USB -ühenduse jaoks

Lähtestage kilp

Ühendage FTDI juhtmed Mega Serial 2 -ga (TX FTDI kuni RX Mega ja nii edasi)

Käivitage uus Arduino IDE (või TTY -tööriist), ühendage FTDI USB ja hakake jadaühendust jälgima

Laadige Arduino kood Mega sisse

Lülitage Arduino jadalingi 0 ühendamiseks sisse kaitselüliti 1 ja 2

Lähtestage kilp

Peate ekraanil nägema seda teadet „alusta usb printimist”

Samm 7: Teeme serveripooli

Serverinäide on Java -programm, mille saate alla laadida siit GitHubist

Lihtsalt käivitage see ja vaadake Java konsooli ning vaadake FTDI monitori

Näete andmevahetust serveri ja Arduino vahel

8. samm: kaugemale minemiseks

Edasi minna
Edasi minna
Edasi minna
Edasi minna

See Arduino koodi näide põhineb minu koduautomaatika infrastruktuuri raamistikul.

Kui olete sellest infrastruktuurist huvitatud, andke mulle sellest teada. Avaldan allikad.

Kui soovite lihtsalt lüüsi kasutada, saate Arduino koodi lihtsustada.

Pärast koodi arendamist ja testimist Arduino Mega abil saate selle hõlpsalt Uno -ga asendada!

Lisaks saate ühendada juhtme Arduino GPIO 7 ja ESP8266 GPIO 5 vahel, kui soovite, et teie Arduino kontrolliks Wifi ühendust

Soovitan: