Kazalo:

Kako narediti lasten prehod WIFI za povezavo vašega Arduina z omrežjem IP?: 11 korakov (s slikami)
Kako narediti lasten prehod WIFI za povezavo vašega Arduina z omrežjem IP?: 11 korakov (s slikami)

Video: Kako narediti lasten prehod WIFI za povezavo vašega Arduina z omrežjem IP?: 11 korakov (s slikami)

Video: Kako narediti lasten prehod WIFI za povezavo vašega Arduina z omrežjem IP?: 11 korakov (s slikami)
Video: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, Julij
Anonim
Kako narediti lasten prehod WIFI za povezavo vašega Arduina z omrežjem IP?
Kako narediti lasten prehod WIFI za povezavo vašega Arduina z omrežjem IP?

Kot mnogi ljudje menite, da je Arduino zelo dobra rešitev za domačo avtomatizacijo in robotizacijo

Toda v smislu komunikacije Arduinos ima samo serijske povezave.

Delam na robotu, ki mora biti trajno povezan s strežnikom, ki upravlja kodo umetne inteligence. Poskušal sem uporabiti RF omrežje, kot sem to storil za domotike, vendar ni dovolj učinkovito. Ko se robot premika, ne morem uporabljati Ethernet Arduino Shield. Arduino Wifi Shield so dragi in se mi zdijo stare oblike.

Potreboval sem nekaj, kar lahko na zelo preprost in učinkovit način izmenjuje podatke s strežnikom.

Zato sem se odločil, da bom zasnoval prehod na osnovi zelo poceni in energetsko učinkovitega mikrokrmilnika ESP8266

Tukaj lahko najdete, kako sestaviti elektronsko komponento in prenesti programsko opremo.

Ta prehod sem uporabil za avtomatizacijo doma in za robotizacijo.

To je del globalne infrastrukture za avtomatizacijo doma, ki si jo lahko ogledate tukaj

Naredil sem še eno navodilo, ki uporablja ščit ESP8266 in se izogiba spajkanju

Zaloge

Na to temo sem napisal drugo navodilo

1. korak: Kako deluje?

Kako deluje ?
Kako deluje ?

Prehod temelji na modulu ESP8266

Ta modul je povezan z eno stranjo s serijsko povezavo z druge strani v omrežje IP z Wifi.

Deluje kot črna škatla. Podatkovni paketi, ki prihajajo iz serijske povezave, se pošljejo na vrata IP/Udp in obratno.

Ko prvič vklopite prehod, morate nastaviti lastno konfiguracijo (IP, WIFI …).

Lahko prenaša surove ASCII in binarne podatke (brez HTTP, JSON …)

Zasnovan je za povezovanje predmetov s strežniško domačo programsko opremo, ki potrebuje hiter in pogost prenos kratkega paketa podatkov.

Najlažje je uporabljati z Arduino Mega, ki ima več kot en UART (na primer Arduino Mega), lahko pa deluje tudi z UNO.

2. korak: Katere so glavne funkcije?

Večinoma gre za črno skrinjico, ki na oba načina pretvori in pošlje serijske podatke v paket UDP.

Ima 3 LED, ki označujejo stanje in promet prehoda.

Zagotavlja GPIO, ki ga lahko Arduino uporablja za čakanje, da se prehod poveže z WIFI in IP.

Deluje v treh različnih načinih, ki so nastavljeni s stikali:

  • Način prehoda, ki je običajen način
  • Konfiguracijski način za nastavitev parametrov
  • Način odpravljanja napak, ki je za način odpravljanja napak

Večino parametrov lahko prilagodite svojim potrebam.

3. korak: Izdelava materiala

Gradnja materiala
Gradnja materiala

Poleg Arduina boste potrebovali

  • 1 x modul ESP8266-Izberem MOD-WIFI-ESP8266-DEV podjetja Olimex, ki stane okoli 5 evrov in je precej enostaven za uporabo.
  • 1 x 5v vir napajanja
  • 1 x 3.3v regulator moči - uporabljam LM1086
  • 1 x 100 mikrofarad kondenzator
  • 1 x ULN2803 APG modul (lahko ga zamenjate s 3 x tranzistorji)
  • 8 x uporov (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x 33k)
  • 3 x LED (rdeča, zelena, modra)
  • 1 x tiskana vezja za ploščo
  • nekaj žic in priključkov

Potrebovali boste le med gradnjo

  • 1 x FTDI 3.3v za konfiguracijo
  • Spajkalnik in kositer

Pred spajkanjem je pomembno, da vse komponente sestavite na ploščo in preverite, ali je vse v redu.

4. korak: Začnimo z elektroniko na ploščici

Začnimo z elektroniko na ploščici!
Začnimo z elektroniko na ploščici!

Elektronska postavitev je na voljo v formatu Fritzing

Lahko ga prenesete tukaj 1. korak:

github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz

Naredite to shemo tako, da pazite na napetost.

Ne pozabite, da ESP8266 ne podpira napetosti višje od 3,3 V. FTDI je treba nastaviti na 3,3 V.

5. korak: Pojdimo na programsko opremo

Pojdimo na programsko opremo!
Pojdimo na programsko opremo!

Začnimo s strani Gateway

Kodo sem napisal z Arduino IDE. Zato potrebujete ESP8266, da ga IDE pozna kot ploščo. Z menijem Orodja / plošče izberite ustrezno ploščo.

Če na seznamu ne vidite nobenega ESP266, to pomeni, da boste morda morali namestiti ESP8266 Arduino Addon (postopek najdete tukaj).

Vsa koda, ki jo potrebujete, je na voljo na GitHubu. Čas je, da ga naložite!

Glavna koda prehoda je tam:

Poleg standardnih Arduino in ESP8266 vključuje glavno kodo, ki jo potrebujeta ti dve: LookFoString, ki se uporablja za manipulacijo nizov in je tam:

ManageParamEeprom, ki se uporablja za branje in shranjevanje parametrov v Eepromu, je na voljo:

Ko dobite vso kodo, je čas, da jo naložite v ESP8266. Najprej priključite FTDI na vrata USB v računalniku.

Predlagam, da pred nalaganjem preverite povezavo.

  • Serijski monitor Arduino nastavite na nova vrata USB.
  • Hitrost nastavite na 115200 tako cr nl (privzeta hitrost za Olimex)
  • Vklopite matično ploščo (ESP8266 je priložen programski opremi, ki obravnava ukaze AT)
  • Pošljite "AT" s serijskim orodjem.
  • V zameno morate dobiti "OK".

Če ne preverite povezave in poglejte specifikacije ESP8266.

Če dobite "V redu", ste pripravljeni naložiti kodo

  • Izklopite ploščo, počakajte nekaj sekund,
  • pritisnite na črni mikro swith ESP8266. Normalno je, da na serijski monitor pride nekaj smeti.
  • Pritisnite IDE za nalaganje kot pri Arduinu.
  • Po končanem nalaganju nastavite serijsko hitrost na 38400.

Videli boste nekaj, kot je na sliki.

Čestitamo, kodo ste uspešno naložili!

6. korak: Naredimo konfiguracijo

Naredimo konfiguracijo!
Naredimo konfiguracijo!

Za vstop v konfiguracijski način mora biti configGPIO nastavljen na 1

Najprej optično preberite WIFI z vnosom ukaza: ScanWifi. Videli boste seznam zaznanih omrežij.

  • Nato nastavite svoj SSID tako, da vnesete "SSID1 = vaše omrežje"
  • Nato nastavite geslo tako, da vnesete "PSW1 = vaša geslo"
  • Nato vnesite "SSID = 1", da določite trenutno omrežje
  • Vnesite "Ponovni zagon", da povežete prehod z WIFI.
  • Preverite, ali imate IP, tako da vnesete "ShowWifi".
  • Modra LED bo svetila, rdeča pa utripa.

Čas je, da svoj IP strežnik določite tako, da vnesete 4 podnaslove (strežnik, ki bo izvajal preskusno kodo Java). Na primer:

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

Zadnji zahtevani korak je nastavitev poslušalnih vrat strežnika UDP z vnosom "listenPort = xxxx".

Vnesite "ShowEeprom", da preverite, kaj ste pravkar shranili v Eepromu

Zdaj priključite GPIO2 na ozemljitev, da zapustite konfiguracijski način

Vaš prehod je pripravljen za delo

V dokumentaciji lahko najdete še nekaj drugih ukazov.

Korak 7: Naredimo stran Arduino

Naredimo Arduino stran!
Naredimo Arduino stran!
Naredimo Arduino stran!
Naredimo Arduino stran!

Najprej priključite Arduino

Če imate Mega, bo najlažje začeti. Kljub temu lahko uporabite Uno.

Za preverjanje svojega dela je najbolje uporabiti primer.

Lahko ga prenesete tam:

Vključuje kodo SerialNetwork, ki je tukaj:

Kodo preprosto naložite v svoj Arduino.

Zelena LED utripa vsakič, ko Arduino pošlje podatke.

8. korak: Naredimo stran strežnika

Naredimo na strani strežnika!
Naredimo na strani strežnika!
Naredimo na strani strežnika!
Naredimo na strani strežnika!

Primer strežnika je program Java, ki ga lahko prenesete tukaj:

Samo zaženi

Poglejte konzolo Java.

Poglejte monitor Arduino.

Arduino pošlje 2 različna paketa.

  • Prvi vsebuje status digitalnih nožic od 2 do 6.
  • Druga vsebuje 2 naključni vrednosti, raven napetosti A0 v mV in inkrementalno štetje.

Program Java

  • natisnite prejete podatke v šestnajstiški obliki
  • odgovorite na prvo vrsto podatkov z naključno vrednostjo vklopa/izklopa, da nastavite vklop/izklop LED Arduino
  • odgovor na drugo vrsto podatkov s prejetim štetjem in naključno vrednostjo.

9. korak: Čas je, da naredite nekaj spajkanja

Čas je za nekaj spajkanja!
Čas je za nekaj spajkanja!
Čas je za nekaj spajkanja!
Čas je za nekaj spajkanja!
Čas je za nekaj spajkanja!
Čas je za nekaj spajkanja!

Deluje na mizo!

Čas je, da ga naredimo bolj robustnega s spajkanjem delov na tiskano vezje

Poleg tega, kar ste naredili s ploščico, morate dodati 3 priključke.

  • C1 1 x pin one, ki bo uporabljen za vstop v način sledenja omrežju.
  • C2 3 x zatiči, ki se bodo uporabljali za preklapljanje med načinom delovanja in konfiguracijo.
  • C3 6 x zatiči, ki bodo uporabljeni za povezavo prehoda z Arduinom ali FTDI.

C1, priključen na GPIO2, morate ročno ozemljiti, če želite aktivirati omrežne sledi.

C2, priključen na GPIO 4, lahko nastavite v 2 različnih položajih. Eno, ki je nastavljeno na zemljo za normalni način delovanja, in eno, nastavljeno na 3,3 V za vstop v konfiguracijski način.

Vse komponente na tiskanem vezju nastavite v skladu z diagramom in nato začnite spajkati, da dobite končni izdelek!

10. korak: Naredimo zadnji test

Image
Image

Zaženite testni program Java.

Priključite Arduino.

Napajanje na prehodu.

In poglejte konzolo Java, monitor Arduino, LED Arduino in LED prehoda.

11. korak: To zasnovo lahko prilagodite svojim zahtevam

Kar zadeva strojno opremo

  • Če izberete kakšen drug ESP8266, se boste morali prilagoditi specifikacijam.
  • Če izberete drug regulator 3.3V, mora oddajati več kot 500 mA in prilagoditi morate kondenzator.
  • LED upore lahko spremenite tako, da prilagodite svetlost.
  • Vse LED diode lahko potlačite, vendar priporočam, da ostane vsaj rdeča.
  • ULN2803 lahko zamenjate s tremi tranzistorji (ali manj se odločite, da ne boste obdržali 3 LED).
  • Preizkusil sem, vendar mora delovati s 3.3v Arduino ploščami. Samo priključite Tx Rx na konektor 3.3v.

Kar se tiče konfiguracije

  • Shranite lahko 2 različna SSID in stikalo
  • Uporabljeni GPIO lahko spremenite

Glede programske opreme

Priporočena: