Përmbajtje:

Si të bëni portën tuaj WIFI për të lidhur Arduino -n tuaj me rrjetin IP?: 11 hapa (me fotografi)
Si të bëni portën tuaj WIFI për të lidhur Arduino -n tuaj me rrjetin IP?: 11 hapa (me fotografi)
Anonim
Si të krijoni portën tuaj WIFI për të lidhur Arduino -n tuaj me rrjetin IP?
Si të krijoni portën tuaj WIFI për të lidhur Arduino -n tuaj me rrjetin IP?

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?

Si punon ?
Si punon ?

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

Ndërtimi i materialit
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

Le të Fillojmë Me Elektronikën në Breadboard!
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ë shkojmë te Softueri!
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

Le të bëjmë Konfigurimin!
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

Le të bëjmë Anën Arduino!
Le të bëjmë Anën Arduino!
Le të bëjmë Anën Arduino!
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

Le të bëjmë anën e serverit!
Le të bëjmë anën e serverit!
Le të bëjmë anën e serverit!
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

Isshtë koha për të bërë disa saldime!
Isshtë koha për të bërë disa saldime!
Timeshtë koha për të bërë disa saldime!
Timeshtë koha për të bërë disa saldime!
Timeshtë koha për të bërë disa saldime!
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

Image
Image

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: