Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Tato příručka vám umožňuje získat jakákoli data z ESP8266 a ovládat je přes python bez AT příkazů.
Pro začátečníky je většina příruček o používání ESP8266 obtížná, protože chtějí, abyste flashovali „AT COMMANDS“do čipu, což je:
- Zbytečné
- Plýtvání pamětí ESP
- Poskytuje vám omezenou kontrolu
- Těžké a náročné
- A není vhodný pro všechny moduly ESP8266
Proto jsem vytvořil velmi jednoduchý komunikační systém mDNS, který je řízen pouze třemi jednoduchými funkcemi. Také vám dává plnou kontrolu.
Krok 1: Teorie
Náš esp se připojí k naší wifi a vytvoří server localhost a začne čekat na požadavek. Pokaždé, když náš python odešle požadavek tomuto localhostu, esp spustí požadovaný kód a poté vrátí výsledek jako požadavek http. Nakonec python přečte vrácená data jako požadavek http a vezme z něj tyto proměnné. Díky tomu může esp vrátit řetězce, data a pole. Kód Pythonu porozumí jejich datovému typu.
Krok 2: Příprava požadovaných knihoven
Nejprve si musíte stáhnout arduino ide knihovnu karet ESP8266. Pokud nevíte jak, zde je návod.
Poté si odtud musíte stáhnout moji mikro knihovnu.
Po stažení je ve složce knihovny soubor s názvem „ESP_MICRO.h“, zkopírujte jej do své kódovací složky aktuálního projektu arduino. Ano, nekopírujte do knihoven arduina, je to mikro knihovna, takže je zkopírujete do složky aktuálního projektu arduino.
Nyní jsou naše požadavky splněny. Můžeme začít kódovat.
Krok 3: Napište jednoduchý kód požadavku
Když otevřete project.ino, zobrazí se vám dvě karty arduino ide. Jedním z nich je váš projekt, druhým je „ESP_MICRO.h“naše mikro knihovna.
Nyní máte funkci 5 v ESP_MICRO.h v hlavním kódu (funkce jsou vysvětleny v prvních řádcích ESP_MICRO.h)
Zde je jednoduchý kód zvyšující proměnnou.
Arduino kód:
/* TEST F5 PRO ESP2PY
* Napsal Junicchi * https://github.com/KebabLord/esp_to_python * Jednoduše zvyšuje a vrací proměnnou pokaždé, když přijde požadavek pythonu */#include "ESP_MICRO.h" // Zahrnout mikrotéku int testvariable = 0; neplatné nastavení () {Serial.begin (9600); // Spuštění sériového portu pro zobrazení podrobností start ("USERNAME", "PASSWORD"); // EnAIt se připojí k vaší wifi s danými podrobnostmi} void loop () {waitUntilNewReq (); // Čeká, až přijde nový požadavek z pythonu/* zvýší index, když přijde nový požadavek*/testvariable += 1; returnThisInt (testovatelná); // Vrátí data do pythonu}
Krok 4: Nahrávání
Programování Nodemcu ESP8266s jednoduše připojíte USB a nahrajete skicu z Arduina.
Programování ESP8266-1 je ale těžší, existují dva způsoby, jak je naprogramovat
Programování ESP prostřednictvím arduina
Pokud vám to jde s propojkami, můžete to naprogramovat přes arduino s tímto obvodem. Ale dlouhodobě je to bolest. Navrhuji tedy jinou metodu.
Programování pomocí ESP programátoru
Je to mnohem jednodušší a rychlejší. Je to jen 1 dolar, kupte si jeden a použijte USB programátor.
Naučit se IP adresu ESP
Při nahrávání kódu otevřete sériový port a uvidíte, že se po dokončení nahrávání vytisknou podrobnosti. Zjistěte IP adresu esp a všimněte si toho. Pamatujte, IP ESP na místní; změní se z wifi na wifi, ne z relace na relaci, takže když ji zavřete a otevřete později, nezmění se.
Krok 5: Čtení a Python
V knihovně esp_to_python/knihovna je „EXAMPLE_PYTHON_READER.py“
upravte jej, změňte 5. řádek pomocí adresy IP modulu esp, který je vytištěn na sériovém portu, a spusťte skript python. V tomto projektu jsem použil python k odeslání a čtení požadavku. Můžete však také zobrazit nezpracovaná data pomocí prohlížeče a vložit IP adresu ESP do prohlížeče. Nebo si můžete vytvořit aplikaci, která ji přečte, nebo dokonce můžete použít jiný jazyk. Ovládání modulu přes python je také vysvětleno v projektu „ledControl“ve složce examples.
Krok 6: Dokončení
Všechny funkce a kódy jsou vysvětleny v souboru ESP_MICRO.h a v souboru README.md.
Pokud vám tento projekt pomohl, můžete původní projekt označit hvězdičkou na github.