Obsah:
- Zásoby
- Krok 1: Jak to funguje?
- Krok 2: Jaké jsou hlavní funkce?
- Krok 3: Stavba materiálu
- Krok 4: Stáhněte si kód brány
- Krok 5: Pojďme provést konfiguraci brány
- Krok 6: Stáhněte si příklad kódu Arduino
- Krok 7: Pojďme na stranu serveru
- Krok 8: Přejít dále
Video: Sériová brána UDP/IP pro Arduino na štítu ESP8266: 8 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Již jsem v roce 2016 publikoval tento návod „Jak vytvořit vlastní bránu Wifi pro připojení Arduina k síti IP“. Protože jsem provedl několik vylepšení kódu a toto řešení stále používám.
Přesto nyní existuje několik štítů ESP8266, které umožňují dělat totéž bez pájení, pokud nepoužíváte desky Micro nebo Nano.
Tento instruktážní program vysvětlí, jak používat tyto štíty ESP82 jako sériovou bránu UDP/IP.
To je součástí globální infrastruktury pro domácí automatizaci, kterou si můžete prohlédnout zde
Další informace o štítu s tímto návodem
Zásoby
1 Arduino Mega (nejlepší je mít alespoň 1 Mega pro vývoj a 1 Uno pro běžící fázi)
1 Rokoo ESP8266 ESP-12E UART WIFI Inzerent
1 FTDI 3.3v
2 dráty na prkénko
Krok 1: Jak to funguje?
Brána je založena na modulu ESP8266
Tento modul je z jedné strany připojen k sériové lince z druhé strany k síti IP pomocí Wifi.
Funguje jako černá skříňka. Datové pakety pocházející ze sériového propojení jsou odesílány na port IP/Udp a naopak.
Jednoduše si musíte nastavit vlastní konfiguraci (IP, WIFI…), jakmile bránu poprvé zapnete.
Může přenášet buď nezpracovaná ASCII a binární data (bez HTTP, JSON…)
Je navržen tak, aby propojoval objekty se serverovými domácími softwary, které vyžadují rychlé a časté přenosy krátkých datových paketů.
Krok 2: Jaké jsou hlavní funkce?
Většinou se jedná o černou skříňku, která převádí sériová data na UDP paket oběma způsoby.
Brána však může fungovat také samostatně odesláním interních informací na server a přijetím některých příkazů ze serveru.
Arduino může odesílat a přijímat zprávy na / ze serveru připojeného přes internet pouhým tiskem / čtením sériového odkazu. Není nutné, aby se vývojář Arduina obtěžoval protokolem IP.
Kromě toho poskytuje GPIO, které může Arduino použít ke kontrole, zda je brána správně připojena k WIFI a že brána může v případě selhání automaticky přepínat mezi 2 různými SSID
Gateway má 2 různé provozní režimy, které jsou vybrány nastavením GPIO
Nastavení GPIO na zem a brána vstoupí do konfiguračního režimu.
Nastavení GPIO zdarma a brána přejde do režimu brány.
Kromě toho lze konfiguraci brány UDP/IP vzdáleně upravovat
Krok 3: Stavba materiálu
Je vyžadováno velmi málo věcí
1 štít ESP8266 - našel jsem tento modul UNO R3 ESP8266 Serial WiFi Shield Extend Board Module za méně než 9 €
1 UNO, což je cíl Arduino
1 Mega, což je nástroj pro vývoj arduina (obejdete se bez něj, ale ladění je docela obtížné)
1 FTDI 3,3/5v pro vývoj
Nějaké dráty
Krok 4: Stáhněte si kód brány
Během tohoto kroku se Arduino používá pouze k napájení (pomocí USB nebo jiného zdroje napájení) štítu ESP8266
Připojte ESP8266 GPIO4 k zemi (pro vstup do konfiguračního režimu)
Dávejte pozor, abyste FTDI nastavili na 3,3 V, jak to vyžaduje štít
Připojte FTDI ke štítu (RX až TX)
Nastavte přepínač štítu na 1: vypnuto 2: vypnuto 3: zapnuto 4: zapnuto
Připojte USB stranu FTDI k vašemu počítači
Resetujte štít pomocí tlačítka ESP-RST
Stáhněte si kód brány tam na GitHub
Otevřete Arduino IDE
- Vyberte port monitoru FTDI
- Otevřete IDE Serial Monitor - Nastavte rychlost na 38400
- Vyberte obecnou desku modulu ES8266
- Upgradujte firmware štítu pomocí kódu brány
Nastavte spínač 3: vypnuto 4: vypnuto
Otevřete IDE Serial Monitor
Resetujte štít pomocí tlačítka ESP-RST
Na monitoru musíte vidět zprávy začínající „inicializace EEPROM“„Inicializace dokončena“….
Je čas provést konfiguraci
Krok 5: Pojďme provést konfiguraci brány
Při prvním stahování kódu brány bude ESP8266 Eeprom inicializován s výchozími hodnotami. Uvidíte tento druh zpráv „nastavit parametr: x velikost: yy“
Tyto hodnoty najdete uvnitř definice kódu paramValue. Tyto výchozí hodnoty můžete samozřejmě změnit před stažením kódu, ale konfiguraci můžete také nastavit příkazem později. To je lepší, pokud plánujete mít víceprostorovou bránu a ponechat si pouze jednu verzi kódu.
K odeslání příkazu použijte sériový port monitoru (nastaven na NL a CR).
Protože SSID není aktuálně definováno, počkejte na „Nelze se připojit k vašemu druhému pokusu o opakování: 5“
Poté se automaticky spustí skenování WIFI
Je na čase nastavit SSID pomocí následujících příkazů:
- SSID1 = vaše volba1
- PSW1 = yourpsw1
- SSID2 = vaše volba2
- PSW2 = yourpsw2
- SSID = 1 (vyberte SSID, kterým chcete začít)
- Restartujte WiFi
Po několika sekundách můžete zkontrolovat připojení pomocí příkazu „ShowWifi“. Musíte vidět IP adresu, kterou brána získala z vašeho serveru DNS. Pokud tomu tak je, je čas jít dál
Je na čase definovat adresu IP serveru zadáním 4 podadres (server, na kterém bude spuštěn testovací kód Java). Například:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Odesláním prázdného příkazu uvidíte všechny podporované příkazy, které můžete později použít, aby vyhovovaly vašim požadavkům. Všechny hodnoty parametrů jsou uloženy v Eepromu a je třeba vzít v úvahu restart.
Odstraňte konfigurační vodič
Štít nyní běží jako brána
Krok 6: Stáhněte si příklad kódu Arduino
Nejprve si stáhněte hlavní kód Arduino na GitHub
Poté si stáhněte kód Arduino, definici tohoto příkazu a tento kód sériového odkazu do svých knihoven
Poté otevřete hlavní kód s novým Arduino IDE
Vypněte přepínač Shield 1 a 2, aby se uvolnilo sériové propojení Arduino 0 pro připojení USB
Resetujte štít
Připojte vodiče FTDI k Mega Serial 2 (TX FTDI k RX Mega a tak dále)
Spusťte nové IDE Arduino (nebo nástroj TTY), připojte FTDI USB a začněte sledovat sériové připojení
Nahrajte kód Arduino do Mega
Chcete -li připojit sériové propojení Arduino 0, zapněte štítový přepínač 1 a 2
Resetujte štít
Na monitoru se musí zobrazit tato zpráva „spustit tisk z USB“
Krok 7: Pojďme na stranu serveru
Příkladem serveru je program Java, který si můžete stáhnout zde na GitHub
Stačí jej spustit a podívat se na konzolu Java a podívat se na monitor FTDI
Uvidíte výměnu dat mezi serverem a Arduinem
Krok 8: Přejít dále
Tento příklad kódu Arduino je založen na rámcové části mé infrastruktury pro domácí automatizaci.
Pokud vás tato infrastruktura zajímá, dejte mi vědět. Zveřejním zdroje.
Pokud chcete bránu pouze používat, můžete kód Arduino zjednodušit.
Poté, co vyvinete a otestujete svůj kód na Arduino Mega, můžete jej snadno nahradit Uno!
Kromě toho můžete připojit kabel mezi Arduino GPIO 7 a ESP8266 GPIO 5, pokud chcete, aby váš Arduino zkontroloval připojení Wifi
Doporučuje:
Sériová konfigurace HC-05 přes Bluetooth: 10 kroků
Sériová konfigurace HC-05 přes Bluetooth: Při používání zařízení Android a modulů Bluetooth SPP HC-05 pro některé projekty Arduino jsem chtěl zkontrolovat a změnit přenosové rychlosti HC-05 a další parametry bez připojení k USB portu počítače. Z toho se stalo toto. Moduly HC-05 spojují sériový a Blu
Sériová komunikace Arduino: 5 kroků
Sériová komunikace Arduino: Mnoho projektů Arduino spoléhá na přenos dat mezi několika Arduiny. Ať už jste fanouškem stavění RC auta, RC letadla nebo navrhování meteorologické stanice se vzdáleným displejem, budete muset vědět, jak spolehlivě přenos seria
Brána ESP32 Lora Thingspeak s uzlem senzoru: 9 kroků
Brána ESP32 Lora Thingspeak se senzorovým uzlem: v tomto projektu IoT jsem navrhl ESP32 LoRa Gateway & také senzorový uzel ESP32 LoRa pro bezdrátové monitorování čtení senzoru z několika kilometrů. Odesílatel bude číst údaje o vlhkosti a teplotě pomocí snímače DHT11. Poté vysílá
Hvězdná brána pro vaši plochu - design DPS: 6 kroků (s obrázky)
Stargate for Your Desktop - PCB Design: Pokud se vám tento projekt líbí, zvažte prosím jeho hlasování v soutěži PCB (v dolní části stránky)! Stargate SG -1 je můj oblíbený televizní pořad všech dob - tečka. Během posledních několika měsíců jsem nutil svou přítelkyni sledovat, aby sledovala
Sériová komunikace PIC MCU a Python: 5 kroků
Sériová komunikace PIC MCU a Python: Dobrý den, lidi! V tomto projektu se pokusím vysvětlit své experimenty na sériové komunikaci PIC MCU a Python. Přes internet existuje mnoho návodů a videí, jak komunikovat s PIC MCU přes virtuální terminál, což je velmi užitečné. Howev