INHOUDSOPGAWE:
- Voorrade
- Stap 1: Hoe werk dit?
- Stap 2: Wat is die belangrikste funksies?
- Stap 3: Bou van materiaal
- Stap 4: Laai die Gateway -kode af
- Stap 5: Kom ons doen die gateway -konfigurasie
- Stap 6: Laai die voorbeeld van die Arduino -kode af
- Stap 7: Kom ons doen die bedienerkant
- Stap 8: Om verder te gaan
Video: Seriële UDP/IP -gateway vir Arduino Gebaseer op ESP8266 Shield: 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Ek het reeds in 2016 hierdie instruksies gepubliseer "Hoe om u eie Wifi -gateway te maak om u Arduino aan IP -netwerk te koppel". Aangesien ek 'n paar kodeverbeterings aangebring het en ek nog steeds hierdie oplossing gebruik.
Tog is daar nou 'n paar ESP8266 -skilde waarmee u dieselfde kan doen sonder om te soldeer, solank u nie Micro- of Nano -borde gebruik nie.
Hierdie instruksies sal verduidelik hoe u hierdie ESP82 -skilde as seriële UDP/IP -gateway kan gebruik.
Dit maak deel uit van 'n wêreldwye tuisautomatiseringsinfrastruktuur wat u hier kan sien
Meer inligting oor die skild met hierdie instruksies
Voorrade
1 Arduino Mega (die beste is om ten minste 1 Mega te hê vir ontwikkeling en 1 Uno vir aanloopfase)
1 Rokoo ESP8266 ESP-12E UART WIFI Convertisseur
1 FTDI 3.3v
2 broodbord drade
Stap 1: Hoe werk dit?
Die Gateway is gebaseer op 'n ESP8266 -module
Hierdie module is aan die een kant verbind met die seriële skakel van die ander kant na die IP -netwerk met die Wifi.
Dit dien as 'n swart boks. Datapakkies wat van die seriële skakel af kom, word gestuur na 'n IP/Udp -poort en omgekeerd.
U hoef net u eie konfigurasie (IP, WIFI …) in te stel sodra u die Gateway die eerste keer aanskakel.
Dit kan rou ASCII en binêre data oordra (geen HTTP, JSON …)
Dit is ontwerp om voorwerpe te verbind met tuisgemaakte sagteware vir bedieners wat vinnige en gereelde oordrag van kort pakkie data benodig.
Stap 2: Wat is die belangrikste funksies?
Meestal is dit 'n swart boks wat seriële data na UDP -pakket op twee maniere omskakel.
Maar die poort kan ook op sy eie werk deur interne inligting na die bediener te stuur en 'n paar opdragte van die bediener af te ontvang.
Arduino kan boodskappe stuur en ontvang na / van 'n bediener wat via die internet gekoppel is, net deur 'n reeksskakel te druk / lees. Die Arduino -ontwikkelaar hoef nie die IP -protokol te bekommer nie.
Boonop bied dit 'n GPIO wat deur Arduino gebruik kan word om te kontroleer of die Gateway korrek aan die WIFI gekoppel is en die Gateway outomaties twee verskillende SSID's kan in geval van mislukking
Die Gateway het 2 verskillende loopmodusse wat gekies word deur 'n GPIO in te stel
As GPIO op die grond gestel word, gaan die gateway in die konfigurasiemodus.
As GPIO vrygestel word, gaan die gateway in die gateway -modus af.
Boonop kan die Gateway UDP/IP -konfigurasie op afstand verander word
Stap 3: Bou van materiaal
Baie min dinge word vereis
1 ESP8266 Shield - ek vind hierdie UNO R3 ESP8266 Serial WiFi Shield Extend Board Module vir minder as 9 €
1 UNO dit is die teiken Arduino
1 Mega wat die arduino -ontwikkelingshulpmiddel is (u kan sonder, maar dit is redelik moeilik om te ontfout)
1 FTDI 3.3/5v vir ontwikkeling
Sommige drade
Stap 4: Laai die Gateway -kode af
Tydens hierdie stap word die Arduino slegs gebruik om die ESP8266 -skild (met USB of 'n ander kragbron) aan te skakel
Koppel die ESP8266 GPIO4 aan die grond (om in die konfigurasiemodus te gaan)
Stel die FTDI in op 3.3v soos vereis deur die skild
Koppel die FTDI aan die skerm (RX na TX)
Stel die stelskakelaar op 1: af 2: af 3: aan 4: aan
Koppel die USB -kant van die FTDI aan u rekenaar
Stel die skerm terug met die ESP-RST-drukknop
Laai die Gateway -kode daar af op GitHub
Maak Arduino IDE oop
- Kies die FTDI -monitorpoort
- Maak die IDE Serial Monitor oop - Stel die spoed op 38400
- Kies die generiese ES8266 -modulebord
- Gradeer die skerm -firmware op met die gateway -kode
Stel skakelaar 3: af 4: af
Maak die IDE Serial Monitor oop
Stel die skerm terug met die ESP-RST-drukknop
U moet boodskappe op die monitor sien wat begin met "EEPROM -inisialisering" "Initialisering voltooi" …
Dit is tyd om die opset te doen
Stap 5: Kom ons doen die gateway -konfigurasie
As u die gateway -kode vir die eerste keer aflaai, word die ESP8266 Eeprom geïnitialiseer met die standaardwaardes. U sal hierdie soort boodskappe sien "stel parameter: x grootte: jj"
U kan hierdie waardes vind binne die kode -definisie van paramValue. U kan natuurlik hierdie standaardwaardes verander voordat u die kode aflaai, maar u kan ook u opset later met opdrag stel. Dit is beter as u van plan is om multi -gateway te hê en slegs een weergawe van die kode te hou.
Gebruik die seriële poort van die monitor om die opdrag te stuur (ingestel op NL en CR).
Aangesien SSID tans nie gedefinieer is nie, wag vir "Kon nie aan u tweede sekond probeer nie: 5"
Dan begin 'n skandering van WIFI outomaties
Dit is tyd om u SSID's met die volgende opdragte in te stel:
- SSID1 = jou keuse1
- PSW1 = yourpsw1
- SSID2 = jou keuse2
- PSW2 = yourpsw2
- SSID = 1 (om te kies met watter SSID u moet begin)
- Herbegin WiFi
Na 'n paar sekondes kan u die verbinding met die opdrag "ShowWifi" kontroleer. U moet die IP -adres wat die gateway van u DNS -bediener gekry het, sien. As dit die geval is, is dit tyd om verder te gaan
Dit is tyd om u IP -bedieneradres te definieer deur die 4 subadresse in te voer (bediener wat die Java -toetskode sal uitvoer). Byvoorbeeld:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Deur 'n leë opdrag te stuur, sien u al die ondersteunde opdragte wat u later kan gebruik om aan u vereistes te voldoen. Al die parameterswaardes word in Eeprom gestoor en moet herlaai word om in ag te neem.
Verwyder die konfigurasie draad
Die skild loop nou as 'n poort
Stap 6: Laai die voorbeeld van die Arduino -kode af
Laai eers die belangrikste Arduino -kode af op GitHub
Laai dan die Arduino -kode af wat hierdie opdrag definisie en hierdie reeksskakelkode in u biblioteke plaas
Maak dan die hoofkode oop met 'n nuwe Arduino IDE
Skakel die skildskakelaar 1 en 2 uit om die Arduino -seriële skakel 0 vir USB -verbinding te bevry
Stel die skild terug
Koppel die FTDI -drade aan die Mega Serial 2 (TX FTDI na RX Mega en so aan)
Begin 'n nuwe Arduino IDE (of 'n TTY -instrument), koppel die FTDI Usb aan en begin om die seriële skakel te monitor
Laai die Arduino -kode in die Mega op
Skakel die skildskakelaar 1 en 2 aan om die Arduino -seriële skakel 0 aan te sluit
Stel die skild terug
U moet hierdie boodskap "begin usb -afdruk" op die monitor sien
Stap 7: Kom ons doen die bedienerkant
Die bedienervoorbeeld is 'n Java -program wat u hier op GitHub kan aflaai
Begin dit net, kyk na die Java -konsole en kyk na die FTDI -monitor
U sien data -uitruilings tussen bediener en Arduino
Stap 8: Om verder te gaan
Hierdie voorbeeld van Arduino -kode is gebaseer op 'n raamwerk van my tuisautomatiseringsinfrastruktuur.
Laat weet my as u belangstel in hierdie infrastruktuur. Ek sal bronne publiseer.
As u net die gateway wil gebruik, kan u die Arduino -kode vereenvoudig.
Nadat u die kode ontwikkel het en u kode op 'n Arduino Mega getoets het, kan u dit maklik deur 'n Uno vervang!
Boonop kan u 'n draad tussen Arduino GPIO 7 en ESP8266 GPIO 5 aansluit as u wil hê dat u Arduino die Wifi -verbinding moet kontroleer
Aanbeveel:
Ontwerp van huidige oscillator gebaseer op huidige modus vir Klas D -versterkers: 6 stappe
Ontwerp van huidige modus -gebaseerde ossillator vir Klas D klankversterkers: In die afgelope jaar het Klas D klankversterkers die voorkeur -oplossing geword vir draagbare klankstelsels soos MP3 en selfone vanweë hul hoë doeltreffendheid en lae kragverbruik. Die ossillator is 'n belangrike deel van die klas D au
PWM -gereguleerde waaier gebaseer op CPU -temperatuur vir Framboos Pi: 4 stappe (met foto's)
PWM -gereguleerde waaier gebaseer op die CPU -temperatuur vir Raspberry Pi: Baie gevalle vir Raspberry Pi het 'n klein 5V -waaier om die SVE af te koel. Hierdie waaiers is egter gewoonlik raserig en baie mense koppel dit aan die 3V3 -pen om die geraas te verminder. Hierdie waaiers word gewoonlik beoordeel vir 200mA, wat redelik hoog is
Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi: 21 stappe
Volledige buitenshuise beveiligingskamera gebaseer op Raspberry Pi: as u teleurstellende ervarings gehad het met goedkoop webcams, hul swak geskrewe sagteware en/of onvoldoende hardeware, kan u maklik 'n semi-professionele webkamera bou met 'n Raspberry Pi en 'n paar ander elektroniese komponente. om te vind op watter hardloop
Maak 'n USB-poort wat gebaseer is op SAMD21 in 'n hardeware-seriële poort !: 3 stappe
Maak 'n USB-poort wat gebaseer is op SAMD21 in 'n hardeware-seriële poort!: Dit is deesdae standaard om 'n Arduino (of enige ander versoenbare) USB-poort as 'n nagemaakte seriële poort te gebruik. Dit is baie handig om data van ons lieflike borde te ontfout, te stuur en te ontvang. Ek het aan uChip gewerk toe ek deur die data gaan
N Goedkoop monitor vir IoT-luggehalte gebaseer op RaspberryPi 4: 15-stappe (met foto's)
N Goedkoop IoT-luggehalte-monitor wat gebaseer is op RaspberryPi 4: Santiago, Chili, tydens 'n winteromgewing, het die voorreg om in een van die mooiste lande ter wêreld te woon, maar dit is ongelukkig nie alles rose nie. Chili gedurende die winterseisoen ly baie onder lugbesmetting