Satura rādītājs:

Sērijas UDP/IP vārteja Arduino, pamatojoties uz ESP8266 vairogu: 8 soļi
Sērijas UDP/IP vārteja Arduino, pamatojoties uz ESP8266 vairogu: 8 soļi

Video: Sērijas UDP/IP vārteja Arduino, pamatojoties uz ESP8266 vairogu: 8 soļi

Video: Sērijas UDP/IP vārteja Arduino, pamatojoties uz ESP8266 vairogu: 8 soļi
Video: Spotpear Serial server RS232/485/422 to RJ45 Ethernet module with POE TCP/IP to serial port module 2024, Jūlijs
Anonim
Sērijas UDP/IP vārteja Arduino, pamatojoties uz ESP8266 Shield
Sērijas UDP/IP vārteja Arduino, pamatojoties uz ESP8266 Shield

Es jau 2016. gadā publicēju šo pamācību "Kā izveidot savu Wifi vārteju, lai savienotu savu Arduino ar IP tīklu". Tā kā es veicu dažus koda uzlabojumus un joprojām izmantoju šo risinājumu.

Tomēr tagad ir daži ESP8266 vairogi, kas ļauj darīt to pašu bez lodēšanas, kamēr neizmantojat Micro vai Nano plates.

Šajā pamācībā tiks paskaidrots, kā izmantot šos ESP82 vairogus kā sērijas UDP/IP vārteju.

Tas aizņem daļu no globālās mājas automatizācijas infrastruktūras, kuru varat apskatīt šeit

Plašāka informācija par vairogu ar šo pamācību

Piegādes

1 Arduino Mega (vislabāk ir vismaz 1 Mega attīstībai un 1 Uno skriešanas fāzei)

1 Rokoo ESP8266 ESP-12E UART WIFI pārveidotājs

1 FTDI 3.3v

2 maizes dēļa vadi

1. darbība. Kā tas darbojas?

Kā tas darbojas ?
Kā tas darbojas ?

Vārtejas pamatā ir ESP8266 modulis

Šis modulis ir savienots no vienas puses ar seriālo saiti no otras puses uz IP tīklu, izmantojot Wifi.

Tas darbojas kā melna kaste. Datu paketes, kas nāk no seriālās saites, tiek nosūtītas uz IP/Udp portu un visapkārt.

Jums vienkārši jāiestata sava konfigurācija (IP, WIFI …), kad pirmo reizi ieslēdzat vārteju.

Tas var pārsūtīt vai nu neapstrādātus ASCII, gan binārus datus (bez HTTP, JSON …)

Tas ir paredzēts, lai savienotu objektus ar servera mājās gatavotu programmatūru, kurai nepieciešama ātra un bieža īsu datu pakešu pārsūtīšana.

2. solis: Kādas ir galvenās funkcijas?

Pārsvarā tā ir melnā kaste, kas sērijveida datus pārvērš UDP paketē abos veidos.

Taču vārteja var rīkoties arī pati, nosūtot serverim iekšējo informāciju un saņemot dažas komandas no servera.

Arduino var nosūtīt un saņemt ziņojumus uz serveri vai no tā, izmantojot internetu, tikai izdrukājot / lasot sērijas saiti. Arduino izstrādātājam nav jāuztraucas par IP protokolu.

Turklāt tas nodrošina GPIO, ko Arduino var izmantot, lai pārbaudītu, vai vārteja ir pareizi savienota ar WIFI, un vārteja kļūmes gadījumā var automātiski pārslēgt 2 dažādus SSID.

Vārtejai ir 2 dažādi darbības režīmi, kurus izvēlas, iestatot GPIO

Iestatot GPIO uz zemes un vārteja nonāk konfigurācijas režīmā.

GPIO iestatīšana bez maksas un vārteja nonāk vārtejas darbības režīmā.

Turklāt vārtejas UDP/IP konfigurāciju var mainīt attālināti

3. solis: materiāla veidošana

Materiāla uzbūve
Materiāla uzbūve

Nepieciešamas ļoti maz lietas

1 vairogs ESP8266 - es atradu šo UNO R3 ESP8266 sērijas WiFi vairoga paplašināšanas paneļa moduli par mazāk nekā 9 €

1 UNO, kas ir Arduino mērķis

1 mega, kas ir arduino izstrādes rīks (jūs varat iztikt bez tā, bet to ir diezgan grūti atkļūdot)

1 FTDI 3.3/5v attīstībai

Daži vadi

4. darbība: lejupielādējiet vārtejas kodu

Lejupielādējiet vārtejas kodu
Lejupielādējiet vārtejas kodu

Šī soļa laikā Arduino tiek izmantots tikai ESP8266 vairoga barošanai (ar USB vai citu barošanas avotu)

Pievienojiet ESP8266 GPIO4 zemei (lai ievadītu konfigurācijas režīmu)

Uzmanieties, lai FTDI iestatītu uz 3.3v, kā to prasa vairogs

Pievienojiet FTDI vairogam (RX līdz TX)

Iestatiet vairoga slēdzi pozīcijā 1: izslēgts 2: izslēgts 3: ieslēgts 4: ieslēgts

Pievienojiet FTDI USB pusi datoram

Atiestatiet vairogu ar ESP-RST spiedpogu

Lejupielādējiet Gateway kodu tur vietnē GitHub

Atveriet Arduino IDE

  • Atlasiet FTDI monitora portu
  • Atveriet IDE sērijas monitoru - iestatiet ātrumu līdz 38400
  • Atlasiet vispārējo ES8266 moduļa plati
  • Jauniniet vairoga programmaparatūru, izmantojot vārtejas kodu

Iestatiet slēdzi 3: izslēgts 4: izslēgts

Atveriet IDE sērijas monitoru

Atiestatiet vairogu ar ESP-RST spiedpogu

Ekrānā jāredz ziņojumi, kas sākas ar "EEPROM inicializācija" "Inicializācija pabeigta" ….

Ir pienācis laiks veikt konfigurāciju

5. darbība. Veiksim vārtejas konfigurāciju

Pirmo reizi lejupielādējot vārtejas kodu, ESP8266 Eeprom tiks inicializēts ar noklusējuma vērtībām. Jūs redzēsit šāda veida ziņojumus "iestatīt parametru: x izmērs: yy"

Šīs vērtības varat atrast paramValue koda definīcijā. Protams, jūs varat mainīt šīs noklusējuma vērtības pirms koda lejupielādes, bet konfigurāciju varat iestatīt arī vēlāk. Tas ir labāk, ja plānojat vairāku vārtu vārteju un paturiet tikai vienu koda versiju.

Izmantojiet monitora seriālo portu, lai nosūtītu komandu (iestatīts uz NL un CR).

Tā kā SSID pašlaik nav definēts, pagaidiet "Neizdevās izveidot savienojumu ar otro sekundāro mēģinājumu: 5"

Pēc tam automātiski tiks sākta WIFI skenēšana

Ir pienācis laiks iestatīt savus SSID, izmantojot šādas komandas:

  • SSID1 = jūsu izvēle1
  • PSW1 = tavsps1
  • SSID2 = jūsu izvēle2
  • PSW2 = tavsps2
  • SSID = 1 (lai izvēlētos, ar kuru SSID sākt)
  • Restartējiet Wi -Fi

Pēc dažām sekundēm jūs varat pārbaudīt savienojumu ar komandu "ShowWifi". Jums jāredz IP adrese, ko vārteja ieguva no jūsu DNS servera. Ja tas tā ir, ir pienācis laiks iet tālāk

Ir pienācis laiks definēt savu IP servera adresi, ievadot 4 apakšadreses (serveris, kurā tiks palaists Java testa kods). Piemēram:

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

Nosūtot tukšu komandu, jūs redzēsit visas atbalstītās komandas, kuras varat izmantot vēlāk, lai atbilstu jūsu prasībām. Visas parametru vērtības tiek saglabātas Eeprom, un tām ir nepieciešama restartēšana.

Noņemiet konfigurācijas vadu

Vairogs tagad darbojas kā vārteja

6. darbība: lejupielādējiet Arduino koda piemēru

Lejupielādējiet Arduino koda piemēru
Lejupielādējiet Arduino koda piemēru

Vispirms lejupielādējiet galveno Arduino kodu vietnē GitHub

Pēc tam lejupielādējiet Arduino kodu, kas ir šo komandu definīcija, un šo sērijas saites kodu savās bibliotēkās

Pēc tam atveriet galveno kodu ar jaunu Arduino IDE

Izslēdziet vairoga slēdzi 1 un 2, lai atbrīvotu Arduino seriālo saiti 0 USB savienojumam

Atiestatiet vairogu

Pievienojiet FTDI vadus Mega Serial 2 (TX FTDI līdz RX Mega un tā tālāk)

Sāciet jaunu Arduino IDE (vai TTY rīku), pievienojiet FTDI USB un sāciet pārraudzīt seriālo saiti

Augšupielādējiet Arduino kodu Mega iekšpusē

Ieslēdziet vairoga slēdzi 1 un 2, lai savienotu Arduino sērijas saiti 0

Atiestatiet vairogu

Monitoram ir jāredz šis ziņojums "sākt USB drukāšanu"

7. solis: darīsim servera pusi

Servera piemērs ir Java programma, kuru varat lejupielādēt šeit vietnē GitHub

Vienkārši palaidiet to un apskatiet Java konsoli un FTDI monitoru

Jūs redzēsit datu apmaiņu starp serveri un Arduino

8. solis: iet tālāk

Lai iet tālāk
Lai iet tālāk
Lai iet tālāk
Lai iet tālāk

Šis Arduino koda piemērs ir balstīts uz manas mājas automatizācijas infrastruktūras pamata daļu.

Ja jūs interesē šī infrastruktūra, informējiet mani. Publicēšu avotus.

Ja vēlaties tikai izmantot vārteju, varat vienkāršot Arduino kodu.

Kad esat izstrādājis un pārbaudījis savu kodu Arduino Mega, varat to viegli aizstāt ar Uno!

Turklāt jūs varat savienot vadu starp Arduino GPIO 7 un ESP8266 GPIO 5, ja vēlaties, lai jūsu Arduino pārbaudītu Wifi savienojumu

Ieteicams: