Obsah:

Ako si vytvoríte vlastnú bránu WIFI na pripojenie zariadenia Arduino k sieti IP?: 11 krokov (s obrázkami)
Ako si vytvoríte vlastnú bránu WIFI na pripojenie zariadenia Arduino k sieti IP?: 11 krokov (s obrázkami)

Video: Ako si vytvoríte vlastnú bránu WIFI na pripojenie zariadenia Arduino k sieti IP?: 11 krokov (s obrázkami)

Video: Ako si vytvoríte vlastnú bránu WIFI na pripojenie zariadenia Arduino k sieti IP?: 11 krokov (s obrázkami)
Video: Высокая плотность 2022 2024, November
Anonim
Ako si vytvoriť vlastnú bránu WIFI na pripojenie Arduina k sieti IP?
Ako si vytvoriť vlastnú bránu WIFI na pripojenie Arduina k sieti IP?

Ako mnoho ľudí si myslíte, že Arduino je veľmi dobré riešenie pre domácu automatizáciu a robotiku

Ale z hľadiska komunikácie Arduinos jednoducho prichádzajú so sériovými linkami.

Pracujem na robote, ktorý musí byť trvalo spojený so serverom, na ktorom je spustený kód umelej inteligencie. Pokúsil som sa použiť RF sieť, ako som zvyknutý pre domotiku, ale nie je to dostatočne efektívne. Keď sa robot pohybuje, nemôžem použiť Ethernet Arduino Shield. Arduino Wifi Shield sú drahé a zdá sa mi, že sú starého dizajnu.

Potreboval som niečo, čo by si mohlo veľmi jednoduchým a efektívnym spôsobom vymieňať údaje so serverom.

Preto som sa rozhodol navrhnúť bránu na základe veľmi lacného a energeticky úsporného mikrokontroléra ESP8266

Tu nájdete informácie o tom, ako zostaviť elektronický komponent a stiahnuť softvér.

Túto bránu som použil na domácu automatizáciu a na robotiku.

Toto je súčasťou globálnej infraštruktúry pre domácu automatizáciu, ktorú si môžete pozrieť tu

Urobil som ďalší návod, ktorý používa štít ESP8266 a vyhýba sa spájkovaniu

Zásoby

Na túto tému som napísal ďalší návod

Krok 1: Ako to funguje?

Ako to funguje ?
Ako to funguje ?

Brána je založená na module ESP8266

Tento modul je z jednej strany prepojený so sériovým prepojením z druhej strany s IP sieťou Wifi.

Funguje ako čierna skrinka. Dátové pakety pochádzajúce zo sériového spojenia sú odoslané na port IP/Udp a naopak.

Pri prvom zapnutí brány stačí nastaviť vlastnú konfiguráciu (IP, WIFI …).

Môže prenášať surové ASCII a binárne údaje (bez HTTP, JSON …)

Je navrhnutý tak, aby spájal objekty so serverovým domácim softvérom, ktorý vyžaduje rýchly a častý prenos krátkeho paketu údajov.

Najľahšie sa používa s Arduino Mega, ktoré má viac ako jeden UART (napríklad Arduino Mega), ale je možné ich spustiť aj s UNO.

Krok 2: Aké sú hlavné funkcie?

Väčšinou sa jedná o čiernu skrinku, ktorá prevádza a odosiela sériové údaje do paketu UDP oboma spôsobmi.

Má 3 LED diódy, ktoré indikujú stav a prevádzku brány.

Poskytuje GPIO, ktoré môže Arduino použiť na čakanie na pripojenie brány WIFI a IP.

Funguje v 3 rôznych režimoch, ktoré sú nastavené pomocou prepínačov:

  • Režim brány, ktorý je normálnym režimom
  • Konfiguračný režim slúži na nastavenie parametrov
  • Režim ladenia, ktorý je určený pre režim ladenia

Väčšinu parametrov je možné upraviť tak, aby vyhovovali vašim potrebám.

Krok 3: Zostavenie materiálu

Stavba materiálu
Stavba materiálu

Na vrchole svojho Arduina budete potrebovať

  • 1 x modul ESP8266-vybral som si MOD-WIFI-ESP8266-DEV od Olimex, ktorý stojí okolo 5 eur a je celkom jednoduchý na používanie.
  • Napájací zdroj 1 x 5V
  • 1 x 3,3 V regulátor výkonu - používam LM1086
  • 1 x 100 mikrofaradový kondenzátor
  • 1 x modul ULN2803 APG (môže byť nahradený 3 x tranzistormi)
  • 8 x odpory (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x 33k)
  • 3 x LED (červená, zelená, modrá)
  • 1 x doska plošných spojov
  • niektoré vodiče a konektory

Len počas stavebných krokov budete potrebovať

  • 1 x FTDI 3.3v pre konfiguráciu
  • Spájkovačka a cín

Pred spájkovaním je dôležité nastaviť všetky súčasti na dosku a skontrolovať, či je všetko v poriadku.

Krok 4: Začnime s elektronikou na Breadboarde

Začnime s elektronikou na Breadboarde!
Začnime s elektronikou na Breadboarde!

Elektronické rozloženie je k dispozícii vo formáte Fritzing

Môžete si ho stiahnuť tu, krok 1:

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

Postupujte podľa schémy a dávajte pozor na napätie.

Nezabudnite, že ESP8266 nepodporuje napätie vyššie ako 3,3 V. FTDI musí byť nastavené na 3,3 V.

Krok 5: Prejdeme k softvéru

Poďme na softvér!
Poďme na softvér!

Začnime stranou Gateway

Kód som napísal pomocou Arduino IDE. Takže potrebujete, aby bol ESP8266 známy ako doska podľa IDE. V ponuke Nástroje / dosky vyberte príslušnú dosku.

Ak v zozname nevidíte žiadny ESP266, znamená to, že budete musieť nainštalovať doplnok ESP8266 Arduino (postup nájdete tu).

Všetok potrebný kód je k dispozícii na GitHub. Je načase si ho stiahnuť!

Hlavný kód brány je tam:

Okrem štandardu Arduino a ESP8266 obsahuje hlavný kód, ktorý tieto 2 obsahujú: LookFoString, ktorý sa používa na manipuláciu so reťazcami a je tu:

ManageParamEeprom, ktorý sa používa na čítanie a ukladanie parametrov v serveroch Eeprom, je k dispozícii:

Akonáhle získate celý kód, je čas ho nahrať do ESP8266. Najprv pripojte FTDI k portu USB vášho počítača.

Pred pokusom o nahranie odporúčam skontrolovať pripojenie.

  • Nastavte sériový monitor Arduino na nový port USB.
  • Nastavte rýchlosť na 115200 ot / min (predvolená rýchlosť pre Olimex)
  • Zapnite na doske (ESP8266 je dodávaný so softvérom, ktorý sa zaoberá príkazmi AT)
  • Pošlite „AT“pomocou sériového nástroja.
  • Na oplátku musíte dostať „OK“.

Ak nie, skontrolujte svoje pripojenie a pozrite sa na špecifikácie svojho ESP8266.

Ak ste dostali „OK“, ste pripravení kód nahrať

  • Vypnite dosku, počkajte niekoľko sekúnd,
  • zatlačte na čierny mikrospínač ESP8266. Je normálne dostať na sériový monitor nejaké odpadky.
  • Stlačte IDE nahrávania ako pre Arduino.
  • Po dokončení nahrávania nastavte sériovú rýchlosť na 38 400.

Uvidíte niečo ako na obrázku.

Blahoželáme, že ste úspešne nahrali kód!

Krok 6: Vykonajme konfiguráciu

Poďme na konfiguráciu!
Poďme na konfiguráciu!

Pre vstup do konfiguračného režimu musí byť configGPIO nastavený na 1

Najprv skenujte WIFI zadaním príkazu: ScanWifi. Zobrazí sa zoznam zistenej siete.

  • Potom nastavte svoje SSID zadaním „SSID1 = vaša sieť“
  • Potom nastavte heslo zadaním „PSW1 = vaše heslo“
  • Potom zadajte „SSID = 1“a definujte aktuálnu sieť
  • Zadajte „Reštartovať“a pripojte bránu k svojmu WIFI.
  • Svoju IP môžete overiť zadaním „ShowWifi“.
  • Modrá LED dióda bude svietiť a červená LED bliká.

Je načase definovať adresu IP servera zadaním 4 podadries (server, na ktorom bude spustený testovací kód Java). Napríklad:

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

Posledným požadovaným krokom je nastavenie portu na počúvanie servera UDP zadaním „listenPort = xxxx“.

Zadajte „ShowEeprom“a skontrolujte, čo ste práve uložili do Eepromu

Teraz zapojte GPIO2 do zeme a opustite konfiguračný režim

Vaša brána je pripravená pracovať

V dokumentácii nájdete niekoľko ďalších príkazov.

Krok 7: Poďme na stranu Arduino

Poďme na stranu Arduino!
Poďme na stranu Arduino!
Poďme na stranu Arduino!
Poďme na stranu Arduino!

Najprv pripojte Arduino

Ak máte Mega, bude najľahšie začať. Napriek tomu môžete použiť Uno.

Na kontrolu svojej práce je najlepšie použiť príklad.

Môžete si ho stiahnuť tam:

Obsahuje kód SerialNetwork, ktorý je tu:

Stačí nahrať kód do svojho Arduina.

Zelená LED dióda bliká vždy, keď Arduino odosiela údaje.

Krok 8: Poďme na serverovú stranu

Poďme na stranu servera!
Poďme na stranu servera!
Poďme na stranu servera!
Poďme na stranu servera!

Príkladom servera je program Java, ktorý si môžete stiahnuť tu:

Stačí to spustiť

Pozrite sa na konzolu Java.

Pozrite sa na monitor Arduino.

Arduino odosiela 2 rôzne pakety.

  • Prvý obsahuje stav digitálnych pinov 2 až 6.
  • Druhá obsahuje 2 náhodné hodnoty, úroveň napätia A0 v mV a prírastkový počet.

Program Java

  • vytlačte prijaté údaje v hexadecimálnom formáte
  • odpovedzte na prvý druh údajov s náhodnou hodnotou zapnutia/vypnutia a zapnite/vypnite LED Arduino
  • odpovedzte na druhý druh údajov prijatým počtom a náhodnou hodnotou.

Krok 9: Je čas urobiť nejaké spájkovanie

Je čas urobiť nejaké spájkovanie!
Je čas urobiť nejaké spájkovanie!
Je čas urobiť nejaké spájkovanie!
Je čas urobiť nejaké spájkovanie!
Je čas urobiť nejaké spájkovanie!
Je čas urobiť nejaké spájkovanie!

Funguje to na doske!

Je načase urobiť ho odolnejším spájkovaním dielov na doske plošných spojov

Okrem toho, čo ste urobili s doskou, musíte pridať 3 konektory.

  • C1 1 x pin, ktorý sa bude používať na zadávanie v režime sledovania siete.
  • C2 3 x kolíky, ktoré sa budú používať na prepínanie medzi prevádzkovým a konfiguračným režimom.
  • C3 6 x kolík, ktorý sa použije na pripojenie brány k Arduinu alebo FTDI.

Ak chcete aktivovať trasovanie siete, musí byť C1 pripojený k GPIO2 ručne uzemnený.

C2 pripojený k GPIO 4 je možné nastaviť v 2 rôznych polohách. Jeden, ktorý bol nastavený na uzemnenie v normálnom prevádzkovom režime, a druhý nastavený na 3,3 V na vstup do konfiguračného režimu.

Nastavte všetky súčiastky na DPS podľa schémy a potom začnite spájkovať, aby ste získali konečný produkt!

Krok 10: Vykonajme záverečný test

Image
Image

Spustite testovací program Java.

Pripojte Arduino.

Napájanie na bráne.

Pozrite sa na konzolu Java, monitor Arduino, LED Arduino a LED diódy Gateway.

Krok 11: Tento dizajn si môžete prispôsobiť svojim vlastným požiadavkám

Ohľadom hardvéru

  • Ak zvolíte nejaký iný ESP8266, budete sa musieť prispôsobiť špecifikáciám.
  • Ak zvolíte iný regulátor 3,3 V, musí dodávať viac ako 500 mA a budete musieť prispôsobiť kondenzátor.
  • Jas LED môžete upraviť tak, aby upravoval jas.
  • Môžete potlačiť všetky diódy LED, ale odporúčam ponechať zapnutú aspoň červenú farbu.
  • ULN2803 môžete nahradiť tromi tranzistormi (alebo menej, ak sa rozhodnete ponechať 3 LED diódy).
  • Testoval som, ale tam to musí fungovať s doskami Arduino 3,3 V. Stačí pripojiť Tx Rx k 3,3 V konektoru.

Pokiaľ ide o konfiguráciu

  • Môžete uložiť 2 rôzne SSID a prepínať
  • Použité GPIO môžete zmeniť

Čo sa týka softvéru

Odporúča: