Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Paano Ito Gumagana?
- Hakbang 2: Ano ang Mga Pangunahing Pag-andar?
- Hakbang 3: Bumuo ng Materyal
- Hakbang 4: I-download ang Gateway Code
- Hakbang 5: Gawin Natin ang Pag-configure ng Gateway
- Hakbang 6: I-download ang Halimbawa ng Arduino Code
- Hakbang 7: Gawin Natin ang Side ng Server
- Hakbang 8: Upang Magpatuloy
Video: Serial UDP / IP Gateway para sa Arduino Batay sa ESP8266 Shield: 8 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Nai-publish ko na noong 2016 ang itinuturo na "Paano gumawa ng iyong sariling Wifi gateway upang ikonekta ang iyong Arduino sa IP Network". Dahil nagawa ko ang ilang mga pagpapabuti ng code at ginagamit ko pa rin ang solusyon na ito.
Gayon pa man mayroong ilang mga ESP8266 na kalasag na nagpapahintulot na gawin ang pareho nang walang paghihinang hangga't hindi ka gumagamit ng mga board ng Micro o Nano.
Ang itinuturo na ito ay magpapaliwanag kung paano gamitin ang mga kalasag na ito ng ESP82 bilang serial UDP / IP gateway.
Tumatagal ito ng bahagi ng isang pandaigdigang imprastraktura ng automation ng bahay na maaari kang tumingin dito
Higit pang impormasyon tungkol sa kalasag na may itinuturo na ito
Mga gamit
1 Arduino Mega (ang pinakamahusay na magkaroon ng hindi bababa sa 1 Mega para sa pag-unlad at 1 Uno para sa pagpapatakbo ng yugto)
1 Rokoo ESP8266 ESP-12E UART WIFI Converterisseur
1 FTDI 3.3v
2 wires ng breadboard
Hakbang 1: Paano Ito Gumagana?
Ang Gateway ay batay sa isang module na ESP8266
Ang module na ito ay konektado mula sa isang gilid na may serial link mula sa kabilang panig sa IP network gamit ang Wifi.
Gumaganap ito bilang isang itim na kahon. Ang mga packet ng data na nagmumula sa serial link ay ipinapadala sa isang IP / Udp port at iba pa.
Kailangan mo lamang itakda ang iyong sariling pagsasaayos (IP, WIFI…) sa sandaling sa unang pagkakataon ay gagana ka sa Gateway.
Maaari nitong ilipat ang alinman sa hilaw na ASCII at binary data (walang HTTP, JSON…)
Dinisenyo ito upang ikonekta ang mga bagay na may mga softwares na gawa sa bahay ng server na nangangailangan ng mabilis at madalas na paglipat ng maikling packet ng data.
Hakbang 2: Ano ang Mga Pangunahing Pag-andar?
Kadalasan ito ay isang itim na kahon na nagko-convert ng serial data sa UDP packet sa parehong paraan.
Ngunit ang gateway ay maaari ring kumilos sa pamamagitan ng kanyang sarili sa pamamagitan ng pagpapadala ng panloob na impormasyon sa server at pagtanggap ng ilang mga utos mula sa server.
Maaaring magpadala at makatanggap ang Arduino ng mga mensahe patungo sa / mula sa isang server na konektado sa Internet sa pamamagitan lamang ng pag-print / pagbabasa ng isang serial link. Hindi na kailangang abala ng developer ng Arduino ang IP protocol.
Sa itaas ng mga ito ay nagbibigay ng isang GPIO na maaaring magamit ng Arduino upang suriin na ang Gateway ay wastong konektado sa WIFI at ang Gateway ay maaaring awtomatikong mag-swith beetwen 2 iba't ibang SSID kung sakaling mabigo
Ang Gateway ay may 2 magkakaibang mga mode na tumatakbo na napili sa pamamagitan ng pagtatakda ng isang GPIO
Ang pagtatakda ng GPIO sa lupa at ang Gateway ay pumapasok sa mode ng pagsasaayos.
Ang pagtatakda ng GPIO libre at ang Gateway ay pumapasok sa gateway running mode.
Sa tuktok ng iyon ang pag-configure ng Gateway UDP / IP ay maaaring mabago nang malayuan
Hakbang 3: Bumuo ng Materyal
Napakakaunting mga bagay ang kinakailangan
1 ESP8266 Shield - Natagpuan ko ang UNO R3 ESP8266 Serial WiFi Shield Extend Board Module na mas mababa sa 9 €
1 UNO na ang target na target ng Arduino
1 Mega na ang tool sa pag-unlad ng arduino (maaari mong gawin nang walang ngunit medyo mahirap i-debug)
1 FTDI 3.3 / 5v para sa pag-unlad
Ang ilang mga wires
Hakbang 4: I-download ang Gateway Code
Sa hakbang na ito ang Arduino ay ginagamit lamang upang mag-power (na may USB o ibang mapagkukunan ng kuryente) sa kalasag na ESP8266
Ikonekta ang ESP8266 GPIO4 sa lupa (upang ipasok ang config mode)
Mag-ingat na itakda ang FTDI sa 3.3v tulad ng hinihiling ng kalasag
Ikonekta ang FTDI sa kalasag (RX sa TX)
Itakda ang set switch ng kalasag sa 1: off 2: off 3: sa 4: on
Ikonekta ang bahagi ng USB ng FTDI sa iyong computer
I-reset ang kalasag gamit ang pindutan ng push-ESP-RST
I-download ang Gateway code doon sa GitHub
Buksan ang Arduino IDE
- Piliin ang port ng monitor ng FTDI
- Buksan ang IDE Serial Monitor - Itakda ang bilis sa 38400
- Piliin ang board ng Generic ES8266 module
- I-upgrade ang firmware ng kalasag gamit ang gateway code
Itakda ang switch 3: off 4: off
Buksan ang IDE Serial Monitor
I-reset ang kalasag gamit ang pindutan ng push-ESP-RST
Dapat mong makita ang mga mensahe sa monitor na nagsisimula sa "EEPROM initialization" "Natapos ang Initialization"….
Oras na upang gawin ang pagsasaayos
Hakbang 5: Gawin Natin ang Pag-configure ng Gateway
Kapag nagda-download ng gateway code sa kauna-unahang pagkakataon, ang ESP8266 Eeprom ay sisimulan ng mga default na halaga. Makikita mo ang ganitong uri ng mga mensahe na "set parameter: x size: yy"
Maaari mong makita ang mga halagang ito sa loob ng code kahulugan ng paramValue. Siyempre maaari mong baguhin ang mga default na halagang ito bago i-download ang code ngunit maaari mo ring itakda ang iyong pagsasaayos sa pamamagitan ng utos sa paglaon. Mas mahusay ito kung balak mong magkaroon ng mga multipe gateway ans na panatilihin lamang ang isang bersyon ng code.
Gamitin ang monitor serial port upang magpadala ng utos (itakda sa NL at CR).
Dahil ang SSID ay hindi natukoy sa kasalukuyan maghintay para sa "Hindi makakonekta sa iyong subukan muli angecondssid: 5"
Pagkatapos ang isang pag-scan ng WIFI ay awtomatikong magsisimula
Panahon na upang itakda ang iyong mga SSID sa mga sumusunod na utos:
- SSID1 = yourchoice1
- PSW1 = yourpsw1
- SSID2 = yourchoice2
- PSW2 = yourpsw2
- SSID = 1 (upang mapili kung aling SSID ang magsisimula)
- I-restart ang WiFi
Pagkatapos ng ilang segundo maaari mong suriin ang koneksyon sa utos na "ShowWifi". Dapat mong makita ang IP address na nakuha ng gateway mula sa iyong DNS server. Kung ito ang kaso oras na upang pumunta sa karagdagang
Panahon na upang tukuyin ang iyong IP server address sa pamamagitan ng pagpasok ng 4 na mga subaddresses (server na tatakbo ang Java test code). Halimbawa:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Sa pamamagitan ng pagpapadala ng isang walang laman na utos makikita mo ang lahat ng mga sinusuportahang utos na maaari mong gamitin sa paglaon upang magkasya sa iyong mga kinakailangan. Ang lahat ng mga halagang parameter ay nakaimbak sa Eeprom at kailangan ng isang pag-reboot upang isaalang-alang.
Alisin ang configure wire
Ang kalasag ay tumatakbo ngayon bilang isang gateway
Hakbang 6: I-download ang Halimbawa ng Arduino Code
I-download muna ang pangunahing Arduino code doon sa GitHub
Pagkatapos i-download ang Arduino code na ito kahulugan ng utos at ang serial link code na ito sa iyong mga librairies
Pagkatapos buksan ang pangunahing code gamit ang isang bagong Arduino IDE
Itakda ang kalasag Lumipat ng 1 at 2 upang palayain ang Arduino serial link 0 para sa koneksyon sa USB
I-reset ang kalasag
Ikonekta ang mga wire na FTDI sa Mega Serial 2 (TX FTDI sa RX Mega at iba pa)
Magsimula ng isang bagong Arduino IDE (o isang tool na TTY), ikonekta ang FTDI Usb at simulang subaybayan ang serial link
I-upload ang Arduino code sa loob ng Mega
Itakda ang kalasag Lumipat ng 1 at 2 upang ikonekta ang serial link na Arduino 0
I-reset ang kalasag
Dapat mong makita ang mensaheng ito na "simulan ang usb print" sa monitor
Hakbang 7: Gawin Natin ang Side ng Server
Ang halimbawa ng server ay isang programang Java na maaari mong i-download dito sa GitHub
Patakbuhin lamang ito at tingnan ang Java console at tingnan ang FTDI monitor
Makikita mo ang mga palitan ng data sa pagitan ng server at Arduino
Hakbang 8: Upang Magpatuloy
Ang halimbawa ng code ng Arduino na ito ay batay sa isang bahagi ng balangkas ng aking imprastraktura sa aking pag-aautomat sa bahay.
Kung interesado ka sa imprastrakturang ito, ipaalam sa akin. Maglathala ako ng mga mapagkukunan.
Kung nais mo lamang gamitin ang gateway maaari mong gawing simple ang Arduino code.
Matapos ang pagkakaroon ng developp at subukan ang iyong code sa isang Arduino Mega, madali mong mapapalitan ito ng isang Uno!
Sa tuktok ng na maaari mong ikonekta ang isang kawad sa pagitan ng Arduino GPIO 7 at ESP8266 GPIO 5 kung nais mong suriin ng iyong Arduino ang koneksyon sa Wifi
Inirerekumendang:
Lora Gateway Batay sa MicroPython ESP32: 10 Mga Hakbang (na may Mga Larawan)
Lora Gateway Batay sa MicroPython ESP32: Lora ay naging tanyag sa mga nagdaang taon. Ang module ng wireless na komunikasyon gamit ang teknolohiyang ito ay karaniwang mura (gumagamit ng libreng spectrum), maliit ang sukat, mahusay sa enerhiya at may mahabang distansya sa komunikasyon, at higit sa lahat ay ginagamit para sa kapwa komunik
Paghahatid ng Data ng NBIoT Paano Gumagamit ng BC95G Modem Batay Mga Kalasag - UDP Test at Network Status Signaling: 4 Hakbang
Paghahatid ng Data ng NBIoT Paano Gumagamit ng BC95G Modem Batay Mga Kalasag - Pagsubok ng UDP at Pag-sign ng Katayuan sa Network: Tungkol sa mga proyektong ito: Subukan ang mga kakayahan ng network ng NB IoT at hilaw na paghahatid ng data ng UDP gamit ang xyz-mIoT ng kalasag ng itbrainpower.net na nilagyan ng Quectel BC95G modem. Kinakailangan na oras: 10-15 minuto. Pinagkakahirapan: intermediate. Remarque: kinakailangan ang mga kasanayan sa paghihinang
Pamamahala ng Tanim na Batay sa Batay sa Solar Na May ESP32: 7 Mga Hakbang (na may Mga Larawan)
Pamamahala ng Tanim na Batay sa Batay ng Solar Sa ESP32: Ang paglaki ng mga halaman ay masaya at pagtutubig at pag-aalaga sa kanila ay hindi talaga isang abala. Ang mga aplikasyon ng Microcontroller upang subaybayan ang kanilang kalusugan ay nasa buong internet at ang inspirasyon para sa kanilang disenyo ay nagmula sa static na katangian ng halaman at ang kadalian ng moni
Batay sa Autonomous na Batay ng Arduino Gamit ang Ultrasonic Sensor: 5 Mga Hakbang (na may Mga Larawan)
Batay ng Autonomous na Batay ng Arduino Paggamit ng Ultrasonic Sensor: Lumikha ng iyong sariling Arduino based Autonomous Bot gamit ang Ultrasonic Sensor. Ang bot na ito ay maaaring lumipat sa sarili nitong walang pag-crash ng anumang mga hadlang. Karaniwan kung ano ang ginagawa nito ay nakita nito ang anumang uri ng mga hadlang sa paraan nito at nagpapasya ang pinakamahusay na pa
BeanBot - isang Batay sa Autonomous na Robot ng Batay sa Arduino !: 8 Mga Hakbang (na may Mga Larawan)
BeanBot - isang Arduino Batay sa Autonomous Paper Robot !: Mayroon bang anumang mas nakasisigla kaysa sa isang blangko na papel? Kung ikaw ay isang masugid na tinkerer o tagabuo pagkatapos ay walang alinlangan na simulan mo ang iyong mga proyekto sa pamamagitan ng pag-sketch ng mga ito sa papel. Nagkaroon ako ng ideya upang makita kung posible na bumuo ng isang frame ng robot na wala sa papel