Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Táto príručka vám umožňuje získať akékoľvek údaje z ESP8266 a ovládať ich v pythone bez príkazov AT.
Pre začiatočníkov je väčšina sprievodcov používaním ESP8266 náročná, pretože chcú, aby ste na čip blikali „AT COMMANDS“, čo je:
- Zbytočné
- Plytvanie pamäťou ESP
- Poskytuje vám obmedzenú kontrolu
- Ťažké a náročné
- A nie je vhodný pre všetky moduly ESP8266
Preto som vytvoril veľmi jednoduchý komunikačný systém mDNS, ktorý je ovládaný iba 3 jednoduchými funkciami. Tiež vám dáva plnú kontrolu.
Krok 1: Teória
Náš esp sa pripojí k našej wifi, vytvorí server localhost a začne čakať na žiadosť. Zakaždým, keď náš python pošle požiadavku tomuto localhostu, esp spustí požadovaný kód a potom vráti výsledok ako požiadavku http. Nakoniec python načíta vrátené údaje ako požiadavku http a vyberie z nich tieto premenné. Vďaka tomu môže esp vracať reťazce, údaje a polia. Kód Pythonu porozumie ich dátovému typu.
Krok 2: Príprava požadovaných knižníc
Najprv si musíte stiahnuť arduino ide knižnicu ESP8266. Ak neviete ako, tu je návod.
Potom si musíte odtiaľ stiahnuť moju mikro knižnicu.
Po stiahnutí sa v priečinku knižnice nachádza súbor s názvom „ESP_MICRO.h“, skopírujte ho do priečinka s kódovaním aktuálneho projektu arduino. Áno, nekopírujte ho do knižníc arduina, je to mikro knižnica, takže ho skopírujete do priečinka aktuálneho projektu arduino.
Teraz sú naše požiadavky splnené. Môžeme začať s kódovaním.
Krok 3: Napíšte jednoduchý kód žiadosti
Po otvorení projektu.ino sa vám zobrazia dve karty arduino ide. Jedným z nich je váš projekt a druhým je naša mikro knižnica „ESP_MICRO.h“.
Teraz máte funkciu 5 v ESP_MICRO.h vo svojom hlavnom kóde (funkcie sú vysvetlené v prvých riadkoch ESP_MICRO.h)
Tu je jednoduchý kód zvyšujúci premenné.
Arduino kód:
/* TEST F5 PRE ESP2PY
* Napísal Junicchi * https://github.com/KebabLord/esp_to_python * Jednoducho zvýši a vráti premennú vždy, keď príde požiadavka pythonu */#include "ESP_MICRO.h" // Zahrňte mikroknižnicu int testvariable = 0; void setup () {Serial.begin (9600); // Spustenie sériového portu na zobrazenie podrobných informácií („USERNAME“, „PASSWORD“); // EnAIt sa pripojí k vašej sieti Wi -Fi s danými podrobnosťami} void loop () {waitUntilNewReq (); // Čaká, kým príde nová požiadavka z pythonu/* zvýši index, keď príde nová požiadavka*/testvariable += 1; returnThisInt (testovateľná); // Vráti údaje do pythonu}
Krok 4: Odovzdanie
Programovanie Nodemcu ESP8266s je jednoducho zapojením USB a odoslaním náčrtu z arduina.
Programovanie ESP8266-1 je však ťažšie, existujú dva spôsoby, ako ich naprogramovať
Programovanie ESP prostredníctvom arduina
Ak vám to ide s prepojkami, môžete to pomocou tohto obvodu naprogramovať cez arduino. Ale z dlhodobého hľadiska je to bolesť. Preto navrhujem inú metódu.
Programovanie pomocou programátora ESP
Je to oveľa jednoduchšie a rýchlejšie. Je to len 1 dolár, kúpte si jeden a použite programátor USB.
Naučiť sa IP adresu ESP
Počas nahrávania kódu otvorte sériový port a uvidíte, že po dokončení nahrávania sa vytlačia podrobnosti. Zistite IP adresu esp a všimnite si to. Pamätajte si, že IP ESP na lokálnom serveri; zmení sa z wifi na wifi, nie z relácie na reláciu, takže keď ju neskôr zatvoríte a otvoríte, nezmení sa.
Krok 5: Čítanie a Python
V knižnici esp_to_python/„EXAMPLE_PYTHON_READER.py“
upravte ho, zmeňte 5. riadok pomocou adresy IP modulu esp, ktorý je vytlačený na sériovom porte, a spustite skript python. V tomto projekte som použil python na odoslanie a čítanie požiadavky. Surové údaje si však môžete prezrieť aj v prehliadači, pričom do prehliadača vložíte IP adresu ESP. Alebo si môžete vytvoriť aplikáciu na jej prečítanie alebo dokonca použiť iný jazyk. Ovládanie modulu cez python je tiež vysvetlené v projekte "ledControl" v priečinku examples.
Krok 6: Dokončenie
Všetky funkcie a kódy sú vysvetlené v ESP_MICRO.h a v súbore README.md.
Ak vám tento projekt pomohol, môžete pôvodný projekt označiť hviezdičkou na github.