Obsah:
- Zásoby
- Krok 1: Ako to funguje?
- Krok 2: Aké sú hlavné funkcie?
- Krok 3: Zostavenie materiálu
- Krok 4: Stiahnite si kód brány
- Krok 5: Vykonajme konfiguráciu brány
- Krok 6: Stiahnite si príklad kódu Arduino
- Krok 7: Poďme na stranu servera
- Krok 8: Choďte ďalej
Video: Sériová brána UDP/IP pre Arduino na základe štítu ESP8266: 8 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
V roku 2016 som už publikoval tento návod „Ako si vytvoriť vlastnú bránu Wifi na pripojenie zariadenia Arduino k sieti IP“. Pretože som urobil niekoľko vylepšení kódu a stále používam toto riešenie.
Napriek tomu teraz existuje niekoľko štítov ESP8266, ktoré umožňujú robiť to isté bez spájkovania, pokiaľ nepoužívate dosky Micro alebo Nano.
Tento návod vysvetlí, ako používať tieto štíty ESP82 ako sériovú bránu UDP/IP.
Toto je súčasťou globálnej infraštruktúry pre domácu automatizáciu, ktorú si môžete pozrieť tu
Viac informácií o štíte s týmto pokynom
Zásoby
1 Arduino Mega (najlepšie je mať aspoň 1 Mega na vývoj a 1 Uno na spustenú fázu)
1 Rokoo ESP8266 ESP-12E UART WIFI Inzerent
1 FTDI 3.3v
2 drôtené dosky
Krok 1: 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.
Krok 2: Aké sú hlavné funkcie?
Väčšinou ide o čiernu skrinku, ktorá prevádza sériové údaje na paket UDP oboma spôsobmi.
Brána však môže fungovať aj samostatne, a to odoslaním interných informácií na server a prijatím niektorých príkazov zo servera.
Arduino môže odosielať a prijímať správy zo servera pripojeného cez internet / zo servera iba vytlačením / prečítaním sériového odkazu. Nie je potrebné, aby sa vývojár Arduino obťažoval IP protokolom.
Navyše poskytuje GPIO, ktoré môže Arduino použiť na kontrolu správneho pripojenia brány k WIFI a že brána môže v prípade poruchy automaticky prepnúť medzi 2 rôznymi SSID
Gateway má 2 rôzne prevádzkové režimy, ktoré sa vyberajú nastavením GPIO
Nastavenie GPIO na zem a brána prejde do konfiguračného režimu.
Nastavením GPIO zadarmo a brána prejde do režimu brány.
Navyše konfiguráciu brány UDP/IP je možné vzdialene upravovať
Krok 3: Zostavenie materiálu
Vyžaduje sa veľmi málo vecí
1 štít ESP8266 - našiel som tento modul UNO R3 ESP8266 Serial WiFi Shield Extend Board Module za menej ako 9 €
1 UNO, čo je cieľ Arduino
1 mega, ktorý je nástrojom na vývoj arduino (môžete to urobiť bez, ale je ťažké ho odladiť)
1 FTDI 3,3/5v na vývoj
Niektoré drôty
Krok 4: Stiahnite si kód brány
Počas tohto kroku sa Arduino používa iba na napájanie (pomocou USB alebo iného zdroja napájania) štítu ESP8266
Pripojte ESP8266 GPIO4 k zemi (aby ste vstúpili do režimu konfigurácie)
Dávajte pozor, aby ste FTDI nastavili na 3,3 V, ako to vyžaduje štít
Pripojte FTDI k štítu (RX až TX)
Nastavte prepínač štítu na 1: vypnutý 2: vypnutý 3: zapnutý 4: zapnutý
Pripojte USB stranu FTDI k vášmu počítaču
Resetujte štít pomocou tlačidla ESP-RST
Stiahnite si kód brány tam na GitHub
Otvorte Arduino IDE
- Vyberte port monitora FTDI
- Otvorte sériový monitor IDE - nastavte rýchlosť na 38400
- Vyberte generickú dosku modulu ES8266
- Inovujte firmvér štítu pomocou kódu brány
Nastavte spínač 3: vypnuté 4: vypnuté
Otvorte sériový monitor IDE
Resetujte štít pomocou tlačidla ESP-RST
Na monitore musíte vidieť správy začínajúce na „Inicializácia EEPROM“„Inicializácia dokončená“….
Je čas vykonať konfiguráciu
Krok 5: Vykonajme konfiguráciu brány
Pri prvom sťahovaní kódu brány sa ESP8266 Eeprom inicializuje s predvolenými hodnotami. Uvidíte tento druh správ „nastaviť parameter: x veľkosť: yy“
Tieto hodnoty nájdete v definícii kódu paramValue. Tieto predvolené hodnoty môžete samozrejme zmeniť pred stiahnutím kódu, ale konfiguráciu môžete nastaviť aj príkazom neskôr. Je to lepšie, ak plánujete mať viacúrovňovú bránu a ponechať iba jednu verziu kódu.
Na odoslanie príkazu použite sériový port monitora (nastavený na NL a CR).
Pretože SSID nie je v súčasnosti definovaný, počkajte na „Nepodarilo sa pripojiť k vášmu druhému serveru, skúste to znova: 5“
Potom sa automaticky spustí skenovanie WIFI
Je načase nastaviť SSID pomocou nasledujúcich príkazov:
- SSID1 = vaša voľba1
- PSW1 = yourpsw1
- SSID2 = vaša voľba2
- PSW2 = yourpsw2
- SSID = 1 (na výber, ktorým SSID začať)
- Reštartujte WiFi
Po niekoľkých sekundách môžete skontrolovať pripojenie pomocou príkazu „ShowWifi“. Musíte vidieť IP adresu, ktorú brána získala z vášho servera DNS. Ak je to tak, je načase ísť ďalej
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"
Odoslaním prázdneho príkazu uvidíte všetky podporované príkazy, ktoré môžete neskôr použiť, aby vyhovovali vašim požiadavkám. Všetky hodnoty parametrov sú uložené v Eeprom a je potrebné vziať do úvahy reštart.
Odstráňte konfiguračný vodič
Štít teraz beží ako brána
Krok 6: Stiahnite si príklad kódu Arduino
Najprv si stiahnite hlavný kód Arduino na GitHub
Potom si stiahnite kód Arduino, ktorý obsahuje definíciu príkazov, a tento kód sériového odkazu do svojich knižníc
Potom otvorte hlavný kód s novým Arduino IDE
Vypnite štítový spínač 1 a 2, aby sa uvoľnilo sériové prepojenie Arduino 0 pre pripojenie USB
Resetujte štít
Pripojte káble FTDI k Mega Serial 2 (TX FTDI k RX Mega a tak ďalej)
Spustite nové IDE Arduino (alebo nástroj TTY), pripojte FTDI USB a začnite monitorovať sériové prepojenie
Nahrajte kód Arduino do Mega
Nastavte štítový spínač 1 a 2 na pripojenie sériového prepojenia Arduino 0
Resetujte štít
Na monitore sa musí zobraziť táto správa „začať tlač z USB“
Krok 7: Poďme na stranu servera
Príkladom servera je program Java, ktorý si môžete stiahnuť tu na GitHub
Stačí ho spustiť a pozrieť sa na konzolu Java a pozrieť sa na monitor FTDI
Uvidíte výmenu údajov medzi serverom a Arduinom
Krok 8: Choďte ďalej
Tento príklad kódu Arduino je založený na rámcovej časti mojej infraštruktúry pre domácu automatizáciu.
Ak vás táto infraštruktúra zaujíma, dajte mi vedieť. Budem zverejňovať zdroje.
Ak chcete len používať bránu, môžete kód Arduino zjednodušiť.
Po vyvinutí a otestovaní kódu na Arduino Mega ho môžete ľahko vymeniť za Uno!
Okrem toho môžete pripojiť vodič medzi Arduino GPIO 7 a ESP8266 GPIO 5, ak chcete, aby váš Arduino skontroloval pripojenie Wifi
Odporúča:
Riadená garážová brána Alexa s Arduino Esp8266: 6 krokov
Riadená garážová brána Alexa s Arduino Esp8266: Nápad na tento projekt mi prišiel zo starého projektu, na ktorom som pred chvíľou pracoval. Zapojil som jednoduchý obvod s tlačidlom, ktorý rozsvieti LED diódu, keď bolo na garážovej bráne stlačené tlačidlo. Táto metóda sa ukázala ako nespoľahlivá a nie príliš užitočná
Brána LoRa ESP8266 Arduino DIY: 5 krokov
LoRa Gateway ESP8266 Arduino DIY: Tento návod vám pomôže vytvoriť bránu LoRa kompatibilnú so sieťou vecí pre všetky svetové regióny pomocou ESP8266 spolu s rádiovým modulom RFM95/96. K dispozícii je aj zdrojový kód, aby fungoval, a je dodávaný s integrovaným
Sériová komunikácia Arduino: 5 krokov
Sériová komunikácia Arduino: Mnoho projektov Arduino sa spolieha na prenos údajov medzi niekoľkými Arduinos. Bez ohľadu na to, či ste nadšenec, ktorý stavia RC auto, RC lietadlo alebo navrhuje meteorologickú stanicu so vzdialeným displejom, budete musieť vedieť, ako na to spoľahlivo. prenosové série
Hviezdna brána pre vašu pracovnú plochu - DPS: 6 krokov (s obrázkami)
Stargate for Your Desktop - Dizajn plošných spojov: Ak sa vám tento projekt páči, zvážte jeho hlasovanie v súťaži o PCB (v spodnej časti stránky)! Stargate SG -1 je moja najobľúbenejšia televízna šou všetkých čias - bodka. Za posledných pár mesiacov som nútil svoju priateľku, aby sa pozerala na
Brána Mozilla IoT s ESP8266 a Z-Wave: 7 krokov
Brána Mozilla IoT s ESP8266 a Z-Wave: sila pre ľudí! Mozilla chce uvoľniť protokol IoT. Cieľom tohto projektu je „zaistiť, aby bol internet globálnym verejným zdrojom, ktorý je otvorený a prístupný pre všetkých“. Internet vecí (IoT) je nová éra internetu. A podobne ako Intern