Përmbajtje:
- Furnizimet
- Hapi 1: Si funksionon?
- Hapi 2: Cilat janë funksionet kryesore?
- Hapi 3: Ndërtimi i materialit
- Hapi 4: Le të Fillojmë Me Elektronikën në Breadboard
- Hapi 5: Le të shkojmë te Softueri
- Hapi 6: Le të bëjmë Konfigurimin
- Hapi 7: Le të bëjmë Anën Arduino
- Hapi 8: Le të bëjmë anën e serverit
- Hapi 9: Timeshtë koha për të bërë disa saldime
- Hapi 10: Le të bëjmë testin përfundimtar
- Hapi 11: Ju mund ta përshtatni këtë dizajn me kërkesat tuaja
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Si shumë njerëz ju mendoni se Arduino është një zgjidhje shumë e mirë për të bërë automatizimin e shtëpisë dhe robotikun
Por në aspektin e komunikimit Arduinos vijnë vetëm me lidhje serike.
Unë jam duke punuar në një robot që duhet të jetë i lidhur përgjithmonë me një server që përdor kodin e inteligjencës artificiale. Unë u përpoqa të përdor rrjetin RF siç jam mësuar të bëj për domotic, por nuk është mjaft efikas. Ndërsa roboti lëviz nuk mund të përdor Ethernet Arduino Shield. Arduino Wifi Shield janë të shtrenjta dhe më duket se janë të dizajnit të vjetër.
Më duhej diçka që mund të shkëmbejë të dhëna në një mënyrë shumë të thjeshtë dhe efikase me një server.
Kjo është arsyeja pse vendosa të krijoj një Gateway bazuar në mikrokontrolluesin shumë të lirë dhe efikas të energjisë ESP8266
Këtu mund të gjeni se si të ndërtoni komponentin elektronik dhe të shkarkoni softuerin.
Unë e përdor këtë portë për automatizimin e Shtëpisë dhe për Robotic.
Kjo merr pjesë në një infrastrukturë globale të automatizimit të shtëpisë, të cilën mund ta shikoni këtu
Bëra një udhëzues tjetër që përdor një mburojë ESP8266 dhe shmang bashkimin
Furnizimet
Kam shkruar një udhëzues tjetër mbi këtë temë
Hapi 1: Si funksionon?
Gateway bazohet në një modul ESP8266
Ky modul është i lidhur nga njëra anë me lidhjen serike nga ana tjetër me rrjetin IP me Wifi.
Ajo vepron si një kuti e zezë. Pakot e të dhënave që vijnë nga lidhja serike dërgohen në një port IP/Udp dhe vis et versa.
Thjesht duhet të vendosni konfigurimin tuaj (IP, WIFI …) një herë herën e parë që do të ndizni Gateway.
Mund të transferojë ose të dhëna ASCII të papërpunuara dhe binare (pa HTTP, JSON …)
Shtë projektuar për të lidhur objektet me softuerë të prodhuar në shtëpi të serverëve që kanë nevojë për transferime të shpejta dhe të shpeshta të paketave të shkurtra të të dhënave.
Iestshtë më e lehtë të përdoret me Arduino Mega që kanë më shumë se një UART (Arduino Mega për shembull), por mund të funksionojë edhe me një UNO.
Hapi 2: Cilat janë funksionet kryesore?
Kryesisht është një kuti e zezë që konverton dhe dërgon të dhëna serike në paketën UDP në të dyja mënyrat.
Ka 3 LED që tregojnë statusin dhe trafikun e Portës.
Ai siguron një GPIO që mund të përdoret nga Arduino për të pritur që Gateway të lidhet me WIFI dhe IP.
Ai funksionon në 3 mënyra të ndryshme të vendosura me ndërprerës:
- Mënyra e portës është mënyra normale
- Mënyra e konfigurimit përdoret për të vendosur parametrat
- Mënyra e korrigjimit që është për modalitetin e korrigjimit
Shumica e parametrave mund të modifikohen për t'iu përshtatur nevojave tuaja.
Hapi 3: Ndërtimi i materialit
Në krye të Arduino -s tuaj do t'ju duhet
- 1 x modul ESP8266-Unë zgjedh MOD-WIFI-ESP8266-DEV nga Olimex që kushton rreth 5 euro që është mjaft i lehtë për t’u përdorur.
- 1 x 5v burim energjie
- 1 x 3.3v rregullator i energjisë - Unë përdor LM1086
- Kondensator 1 x 100 mikrofarad
- 1 x modul APG ULN2803 (mund të zëvendësohet me 3 x transistorë)
- 8 x rezistorë (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
- 3 x LED (e kuqe, jeshile, blu)
- 1 x PCB Breadboard
- disa tela dhe lidhës
Vetëm gjatë hapave të ndërtimit, do t'ju duhet
- 1 x FTDI 3.3v për konfigurimin
- Saldim hekuri dhe kallaji
Para bashkimit, është e rëndësishme të vendosni të gjithë përbërësit në tabelë dhe të kontrolloni se gjithçka është në rregull.
Hapi 4: Le të Fillojmë Me Elektronikën në Breadboard
Paraqitja elektronike është në dispozicion në formatin Fritzing
Mund ta shkarkoni këtu hapin 1:
github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz
Thjesht bëni si skemë duke u kujdesur për tensionin.
Mos harroni se ESP8266 nuk mbështet tension më të lartë se 3.3v. FTDI duhet të vendoset në 3.3v.
Hapi 5: Le të shkojmë te Softueri
Le të fillojmë me anën e Gateway
Kam shkruar kodin me Arduino IDE. Kështu që ju nevojitet ESP8266 që të njiheni si bord nga IDE. Zgjidhni tabelën e duhur me menunë Tools / bordet.
Nëse nuk shihni ndonjë ESP266 në listë, kjo do të thotë që mund t'ju duhet të instaloni ESP8266 Arduino Addon (këtu mund të gjeni procedurën).
I gjithë kodi që ju nevojitet është i disponueshëm në GitHub. Timeshtë koha ta shkarkoni!
Kodi kryesor i Gateway është atje:
Në krye të standardit Arduino dhe ESP8266 përfshin kodin kryesor, këto 2 përfshijnë: LookFoString që përdoret për të manipuluar vargjet dhe është atje:
ManageParamEeprom që përdoret për të lexuar dhe ruajtur parametrat në Eeprom ans është atje:
Pasi të keni marrë të gjithë kodin, është koha ta ngarkoni në ESP8266. Së pari lidhni FTDI me një port USB të kompjuterit tuaj.
Unë ju sugjeroj të kontrolloni lidhjen para se të provoni të ngarkoni.
- Vendosni monitorin serik Arduino në portën e re USB.
- Vendosni shpejtësinë në 115200 të dyja CR nl (shpejtësia e parë për Olimex)
- Fuqia në tabelën e bukës (ESP8266 vjen me softuer që merret me komandat AT)
- Dërgoni "AT" me mjetin serial.
- Ju duhet të merrni "OK" në këmbim.
Nëse jo kontrolloni lidhjen tuaj dhe shikoni specifikimet tuaja ESP8266.
Nëse keni "OK", jeni gati të ngarkoni kodin
- Fikeni bordin e bukës, prisni disa sekonda,
- shtypni mbi mikro-swith-in e zi të ESP8266. Normalshtë normale të marrësh pak mbeturina në monitorin serik.
- Shtypni IDE -në e ngarkimit si për një Arduino.
- Pas përfundimit të ngarkimit, vendosni shpejtësinë serike në 38400.
Do të shihni diçka si në foto.
Urime që e ngarkuat me sukses kodin!
Hapi 6: Le të bëjmë Konfigurimin
Konfigurimi GPIO duhet të vendoset në 1 për të hyrë në modalitetin e konfigurimit
Në fillim skanoni WIFI duke futur komandën: ScanWifi. Do të shihni një listë të rrjetit të zbuluar.
- Pastaj vendosni SSID -in tuaj duke futur "SSID1 = rrjeti juaj"
- Pastaj vendosni fjalëkalimin tuaj duke futur "PSW1 = fjalëkalimi juaj"
- Pastaj futni "SSID = 1" për të përcaktuar rrjetin aktual
- Shkruani "Rinis" për të lidhur Portën me WIFI -in tuaj.
- Mund të verifikoni që keni marrë një IP duke futur "ShowWifi".
- LED blu do të jetë i ndezur dhe LED i kuq do të pulsojë.
It'sshtë koha për të përcaktuar adresën tuaj të serverit IP duke futur 4 nënadresat (server që do të ekzekutojë kodin e testit Java). Për shembull:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Hapi i fundit i kërkuar është të vendosni portën e dëgjimit të serverit UDP duke futur "listenPort = xxxx".
Futni "ShowEeprom" për të kontrolluar atë që sapo keni ruajtur në Eeprom
Tani lidhni GPIO2 në tokë për të lënë mënyrën e konfigurimit
Porta juaj është gati për të punuar
Ka disa komanda të tjera që mund t'i gjeni në dokumentacion.
Hapi 7: Le të bëjmë Anën Arduino
Së pari lidhni Arduino
Nëse keni një Mega do të jetë më e lehtë për të filluar. Sidoqoftë, mund të përdorni një Uno.
Për të kontrolluar punën tuaj më së miri është të përdorni shembullin.
Mund ta shkarkoni atje:
Ai përfshin kodin SerialNetwork që është këtu:
Thjesht ngarkoni kodin brenda Arduino -s tuaj.
LED i gjelbër po ndizet sa herë që Arduino dërgon të dhëna.
Hapi 8: Le të bëjmë anën e serverit
Shembulli i serverit është një program Java që mund ta shkarkoni këtu:
Thjesht drejtojeni
Shikoni tastierën Java.
Shikoni monitorin Arduino.
Arduino dërgon 2 pako të ndryshme.
- E para përmban statusin e kunjave dixhital 2 deri në 6.
- E dyta përmban 2 vlera të rastësishme, nivelin e tensionit A0 në mV dhe numërimin në rritje.
Programi Java
- printoni të dhënat e marra në formatin heksadecimal
- përgjigjuni llojit të parë të të dhënave me një vlerë të ndezur/fikur të rastësishme për të aktivizuar/fikur LED Arduino
- përgjigjuni llojit të dytë të të dhënave me numërimin e marrë dhe një vlerë të rastësishme.
Hapi 9: Timeshtë koha për të bërë disa saldime
Punon në tabelën e bukës!
Isshtë koha për ta bërë atë më të fortë duke bashkuar pjesë në një PCB
Mbi atë që keni bërë me tabelën e bukës, duhet të shtoni 3 lidhje.
- C1 1 x pin një që do të përdoret për të hyrë në modalitetin e gjurmimit të rrjetit.
- C2 3 x kunjat që do të përdoren për të kaluar midis modalitetit të funksionimit dhe konfigurimit.
- C3 6 x kunjat që do të përdoren për të lidhur Portën ose me një Arduino ose një FTDI.
C1 i lidhur me GPIO2 duhet të jetë i bazuar me dorë nëse doni të aktivizoni gjurmët e rrjetit.
C2 i lidhur me GPIO 4 mund të vendoset në 2 pozicione të ndryshme. Një që u vendos në tokë për mënyrën normale të funksionimit dhe një u vendos në 3.3v për të hyrë në modalitetin e konfigurimit.
Vendosni të gjithë përbërësit në PCB sipas diagramit dhe më pas filloni të bashkoni për të marrë produktin përfundimtar!
Hapi 10: Le të bëjmë testin përfundimtar
Filloni programin e testimit Java.
Lidhni Arduino.
Fuqia në Gateway.
Dhe shikoni tastierën Java, monitorin Arduino, LED Arduino dhe LED -at e Gateway.
Hapi 11: Ju mund ta përshtatni këtë dizajn me kërkesat tuaja
Në lidhje me harduerin
- Nëse zgjidhni ndonjë ESP8266 tjetër do t'ju duhet të përshtateni me specifikimet.
- Nëse zgjidhni një rregullator tjetër 3.3v, ai duhet të japë mbi 500mA dhe do t'ju duhet të përshtatni kondensatorin.
- Ju mund të modifikoni rezistorët LED për të rregulluar shkëlqimin.
- Ju mund të shtypni të gjithë LED -in, por unë rekomandoj që të mbani të paktën të kuqen ndezur.
- Ju mund të zëvendësoni ULN2803 me 3 transistorë (ose më pak se ju zgjidhni të mos mbani LED 3).
- Unë bëra testin, por atje duhet të punojë me bordet 3.3v Arduino. Thjesht lidhni Tx Rx me lidhësin 3.3v.
Lidhur me konfigurimin
- Mund të ruani 2 SSID të ndryshëm dhe të kaloni
- Ju mund të modifikoni GPIO të përdorur
Në lidhje me softuerin
Recommended:
Bëni termostatin tuaj të ngrohjes të lidhur dhe bëni kursime me ngrohje: 53 hapa (me fotografi)
Bëni Termostatin tuaj të Ngrohjes të Lidhur dhe Bëni Kursime Me Ngrohje: Cili është qëllimi? Rritni komoditetin duke ngrohur shtëpinë tuaj saktësisht si dëshironi Bëni kursime dhe zvogëloni emetimet e gazrave serë duke ngrohur shtëpinë tuaj vetëm kur keni nevojë Mbani kontroll mbi ngrohjen tuaj kudo që të jeni Jini krenarë që e keni bërë atë
Sistemi Ambilight për çdo hyrje të lidhur me televizorin tuaj. WS2812B Arduino UNO Raspberry Pi HDMI (Përditësuar më 12.2019): 12 hapa (me fotografi)
Sistemi Ambilight për çdo hyrje të lidhur me televizorin tuaj. WS2812B Arduino UNO Raspberry Pi HDMI (Përditësuar më 12.2019): Unë gjithmonë kam dashur të shtoj ambilight në televizorin tim. Duket shumë mirë! Më në fund e bëra dhe nuk u zhgënjeva! Kam parë shumë video dhe shumë mësime mbi krijimin e një sistemi Ambilight për televizorin tuaj, por kurrë nuk kam gjetur një mësim të plotë për fëmijën tim të saktë
Inverter i lidhur me rrjetin DIY, Përditësimi i Sistemit PV 3.0: 8 hapa
DIY Grid Tied Inverter, PV System Update 3.0: Këtu është përditësimi që të gjithë kemi pritur! Pra, që nga dy udhëzimet e para mbi këtë temë kam mësuar nga gabimet e mia dhe jam përmirësuar, copëtuar dhe ndryshuar sistemin në mënyrë të konsiderueshme, veçanërisht që kur jam transferuar në punëtori kemi b
Inverter i lidhur me rrjetin DIY (nuk e ushqen rrjetën) Alternativa UPS: 7 hapa (me fotografi)
Inverter i lidhur me rrjetin DIY (nuk e ushqen rrjetën) Alternativa UPS: Ky është një postim pasues nga Udhëzuesi im tjetër për të bërë një inverter të lidhjes së rrjetit që nuk futet përsëri në rrjet, pasi tani është gjithmonë e mundur ta bëni këtë në zona të caktuara si një projekt DIY dhe disa vende nuk lejojnë ushqimin atje
Bëni një robot të lidhur me uebin (për rreth 500 dollarë) (duke përdorur një Arduino dhe Netbook): 6 hapa (me fotografi)
Bëni një robot të lidhur me uebin (për rreth 500 dollarë) (duke përdorur një Arduino dhe Netbook): Ky udhëzues do t'ju tregojë se si të krijoni robotin tuaj të lidhur me uebin (duke përdorur një mikrokontrollues Arduino dhe Asus eee pc). Pse dëshironi të keni një Ueb Robot i lidhur? Për të luajtur me natyrisht. Drejtojeni robotin tuaj nga e gjithë dhoma ose nga numërimi