Sadržaj:

Kako napraviti vlastiti WIFI pristupnik za povezivanje vašeg Arduina na IP mrežu?: 11 koraka (sa slikama)
Kako napraviti vlastiti WIFI pristupnik za povezivanje vašeg Arduina na IP mrežu?: 11 koraka (sa slikama)

Video: Kako napraviti vlastiti WIFI pristupnik za povezivanje vašeg Arduina na IP mrežu?: 11 koraka (sa slikama)

Video: Kako napraviti vlastiti WIFI pristupnik za povezivanje vašeg Arduina na IP mrežu?: 11 koraka (sa slikama)
Video: Leap Motion SDK 2024, Juli
Anonim
Kako napraviti vlastiti WIFI pristupnik za povezivanje vašeg Arduina na IP mrežu?
Kako napraviti vlastiti WIFI pristupnik za povezivanje vašeg Arduina na IP mrežu?

Kao i mnogi ljudi, mislite da je Arduino jako dobro rješenje za kućnu automatizaciju i robotizaciju

Ali u smislu komunikacije, Arduinos dolazi samo sa serijskim vezama.

Radim na robotu koji mora biti trajno povezan sa serverom koji koristi kôd umjetne inteligencije. Pokušao sam koristiti RF mrežu kao što sam to radio za domotike, ali nije dovoljno efikasan. Dok se robot kreće, ne mogu koristiti Ethernet Arduino štit. Arduino Wifi Shield su skupi i čini mi se da je stari dizajn.

Trebalo mi je nešto što može razmjenjivati podatke na vrlo jednostavan i efikasan način sa serverom.

Zato sam odlučio dizajnirati Gateway zasnovan na vrlo jeftinom i energetski efikasnom mikrokontroleru ESP8266

Ovdje možete pronaći kako izgraditi elektroničku komponentu i preuzeti softver.

Ovaj pristupnik sam koristio za kućnu automatizaciju i za robote.

Ovo je dio globalne infrastrukture kućne automatizacije koju možete pogledati ovdje

Napravio sam još jedno uputstvo koje koristi ESP8266 štit i izbjegava lemljenje

Supplies

Napisao sam još jedno uputstvo na ovu temu

Korak 1: Kako to funkcionira?

Kako to radi ?
Kako to radi ?

Gateway je zasnovan na modulu ESP8266

Ovaj je modul povezan s jedne strane serijskom vezom s druge strane na IP mrežu s Wifi -jem.

Djeluje kao crna kutija. Paketi podataka koji dolaze sa serijske veze šalju se na IP/Udp port i obrnuto.

Samo morate postaviti vlastitu konfiguraciju (IP, WIFI …) kada prvi put uključite Gateway.

Može prenositi sirove ASCII i binarne podatke (nema HTTP, JSON …)

Dizajniran je za povezivanje objekata sa softverom napravljenim od servera koji zahtijeva brz i čest prijenos kratkog paketa podataka.

Najlakše je koristiti s Arduino Mega -om koja ima više od jednog UART -a (Arduino Mega na primjer), ali može raditi i s UNO -om.

Korak 2: Koje su glavne funkcije?

Uglavnom je to crna kutija koja pretvara i šalje serijske podatke u UDP paket na oba načina.

Ima 3 LED diode koje pokazuju status i promet na Gatewayu.

Pruža GPIO koji Arduino može koristiti za čekanje da se Gateway poveže putem WIFI i IP veze.

Radi u 3 različita načina rada koji su podešeni prekidačima:

  • Gateway način rada koji je normalan
  • Konfiguracijski način rada za postavljanje parametara
  • Način otklanjanja grešaka koji je za način uklanjanja pogrešaka

Većina parametara može se promijeniti prema vašim potrebama.

Korak 3: Izrada materijala

Izrada materijala
Izrada materijala

Povrh vašeg Arduina trebat će vam

  • 1 x ESP8266 modul-Odabrao sam MOD-WIFI-ESP8266-DEV iz Olimexa koji košta oko 5 eura i prilično je jednostavan za korištenje.
  • 1 x 5v izvor napajanja
  • 1 x 3.3v regulator snage - koristim LM1086
  • 1 x 100 mikrofarad kondenzator
  • 1 x ULN2803 APG modul (može se zamijeniti sa 3 x tranzistora)
  • 8 x otpornika (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
  • 3 x LED (crvena, zelena, plava)
  • 1 x PCB matične ploče
  • neke žice i konektore

Trebat će vam samo tijekom koraka izgradnje

  • 1 x FTDI 3.3v za konfiguraciju
  • Lemilica i lim

Prije lemljenja važno je postaviti sve komponente na matičnu ploču i provjeriti je li sve u redu.

Korak 4: Počnimo s elektronikom na pločici

Počnimo s elektronikom na pločici!
Počnimo s elektronikom na pločici!

Elektronski izgled dostupan je u Fritzing formatu

Ovdje možete preuzeti korak 1:

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

Učinite samo shemu vodeći računa o naponu.

Upamtite da ESP8266 ne podržava napon veći od 3,3 V. FTDI mora biti postavljen na 3,3 V.

Korak 5: Idemo na softver

Idemo na softver!
Idemo na softver!

Počnimo sa strane Gateway -a

Kod sam napisao sa Arduino IDE -om. Dakle, trebate da ESP8266 bude poznat kao ploča od IDE -a. Odaberite odgovarajuću ploču s izbornikom Alati / ploče.

Ako na popisu ne vidite nijedan ESP266, to znači da ćete možda morati instalirati ESP8266 Arduino dodatak (postupak možete pronaći ovdje).

Sav potreban kod dostupan je na GitHub -u. Vrijeme je za preuzimanje!

Glavni kod Gatewaya je tu:

Povrh standardnog, Arduino i ESP8266 uključuju glavni kôd koji ova dva uključuju: LookFoString koji se koristi za manipulaciju nizovima i koji je tu:

ManageParamEeprom koji se koristi za čitanje i spremanje parametara u Eepromu postoji:

Nakon što nabavite sav kôd, vrijeme je da ga otpremite u ESP8266. Prvo povežite FTDI na USB priključak vašeg računara.

Predlažem da prije pokušaja učitavanja provjerite vezu.

  • Postavite Arduino serijski monitor na novi USB priključak.
  • Postavite brzinu na 115200 za oba cr nl (zadana brzina za Olimex)
  • Uključite matičnu ploču (ESP8266 dolazi sa softverom koji se bavi AT naredbama)
  • Pošaljite "AT" sa serijskim alatom.
  • Zauzvrat morate dobiti "OK".

Ako ne provjerite svoju vezu i pogledajte specifikacije ESP8266.

Ako dobijete "OK", spremni ste za postavljanje koda

  • Isključite matičnu ploču, pričekajte nekoliko sekundi,
  • pritisnite crni mikroprekidač ESP8266. Normalno je da se na serijski monitor stavi nešto smeća.
  • Pritisnite IDE za učitavanje kao za Arduino.
  • Nakon dovršetka prijenosa postavite serijsku brzinu na 38400.

Vidjet ćete nešto kao na slici.

Čestitamo, uspješno ste učitali kôd!

Korak 6: Uradimo konfiguraciju

Uradimo konfiguraciju!
Uradimo konfiguraciju!

ConfigGPIO mora biti postavljen na 1 za ulazak u način konfiguracije

Prvo skenirajte WIFI unošenjem naredbe: ScanWifi. Vidjet ćete popis otkrivene mreže.

  • Zatim postavite svoj SSID unosom "SSID1 = vaša mreža"
  • Zatim postavite lozinku tako što ćete unijeti "PSW1 = vaša lozinka"
  • Zatim unesite "SSID = 1" da biste definirali trenutnu mrežu
  • Unesite "Ponovo pokreni" da biste povezali Gateway sa svojim WIFI -jem.
  • Možete provjeriti da li imate IP unošenjem "ShowWifi".
  • Plava LED dioda će svijetliti, a crvena će treptati.

Vrijeme je da definirate adresu svog IP servera unošenjem 4 podadrese (server koji će pokretati Java testni kod). Na primjer:

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

Posljednji potreban korak je postavljanje porta za slušanje UDP servera unošenjem "listenPort = xxxx".

Unesite "ShowEeprom" da provjerite šta ste upravo spremili u Eeprom

Sada priključite GPIO2 na masu kako biste napustili način konfiguracije

Vaš Gateway je spreman za rad

U dokumentaciji možete pronaći još neke naredbe.

Korak 7: Uradimo Arduino stranu

Uradimo Arduino stranu!
Uradimo Arduino stranu!
Uradimo Arduino stranu!
Uradimo Arduino stranu!

Prvo povežite Arduino

Ako imate Mega, najlakše ćete započeti. Ipak, možete koristiti Uno.

Za provjeru svog rada najbolje je upotrijebiti primjer.

Možete ga preuzeti tamo:

Uključuje kod SerialNetwork koji se nalazi ovdje:

Samo učitajte kôd u svoj Arduino.

Zelena LED lampica treperi svaki put kada Arduino pošalje podatke.

Korak 8: Idemo na serversku stranu

Uradimo na strani servera!
Uradimo na strani servera!
Uradimo na strani servera!
Uradimo na strani servera!

Primjer poslužitelja je Java program koji možete preuzeti ovdje:

Samo ga pokreni

Pogledajte Java konzolu.

Pogledajte Arduino monitor.

Arduino šalje 2 različita paketa.

  • Prvi sadrži status digitalnih pinova 2 do 6.
  • Druga sadrži 2 slučajne vrijednosti, naponski nivo A0 u mV i inkrementalni broj.

Java program

  • odštampajte primljene podatke u heksadecimalnom formatu
  • odgovorite na prvu vrstu podataka sa slučajnom vrijednošću uključivanja/isključivanja za postavljanje uključivanja/isključivanja Arduino LED diode
  • odgovor na drugu vrstu podataka s primljenim brojem i slučajnom vrijednošću.

Korak 9: Vrijeme je za lemljenje

Vrijeme je za lemljenje!
Vrijeme je za lemljenje!
Vrijeme je za lemljenje!
Vrijeme je za lemljenje!
Vrijeme je za lemljenje!
Vrijeme je za lemljenje!

Radi na osnovnoj ploči!

Vrijeme je da ga učinimo robusnijim lemljenjem dijelova na PCB

Povrh svega što ste uradili sa matičnom pločom, morate dodati 3 konektora.

  • C1 1 x pin one koji će se koristiti za ulazak u način praćenja mreže.
  • C2 3 x pinovi jedan koji će se koristiti za prebacivanje između načina rada i konfiguracije.
  • C3 6 x pinovi koji će se koristiti za povezivanje Gateway -a na Arduino ili FTDI.

C1 spojen na GPIO2 mora se ručno uzemljiti ako želite aktivirati mrežne tragove.

C2 spojen na GPIO 4 može se postaviti u 2 različita položaja. Jedan koji je postavljen na zemlju za normalni način rada i jedan postavljen na 3.3v za ulazak u konfiguracijski način.

Postavite sve komponente na PCB prema dijagramu i nakon toga počnite lemiti kako biste dobili konačni proizvod!

Korak 10: Uradimo završni test

Image
Image

Pokrenite Java test program.

Povežite Arduino.

Uključite mrežni ulaz.

Pogledajte Java konzolu, Arduino monitor, Arduino LED i Gateway LED diode.

Korak 11: Ovaj dizajn možete prilagoditi svojim zahtjevima

Što se tiče hardvera

  • Ako odaberete neki drugi ESP8266, morat ćete se prilagoditi specifikacijama.
  • Ako odaberete drugi regulator od 3,3 V, on mora isporučiti više od 500 mA i morat ćete prilagoditi kondenzator.
  • LED otpornike možete izmijeniti kako biste prilagodili svjetlinu.
  • Možete potisnuti sve LED diode, ali preporučujem da zadržite barem crvenu boju.
  • ULN2803 možete zamijeniti s 3 tranzistora (ili manje ako izaberete da ne zadržite 3 LED diode).
  • Ja sam testirao, ali mora raditi sa 3.3V Arduino pločama. Samo povežite Tx Rx na konektor od 3.3v.

Što se tiče konfiguracije

  • Možete pohraniti 2 različita SSID -a i preklopnik
  • Možete promijeniti GPIO koji se koristi

Što se tiče softvera

Preporučuje se: