Obsah:
- Krok 1: Teória
- Krok 2: Príprava požadovaných knižníc
- Krok 3: Napíšte jednoduchý kód žiadosti
- Krok 4: Odovzdanie
- Krok 5: Čítanie a Python
- Krok 6: Dokončenie
Video: Komunikácia ESP8266 a Python pre Noobs: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11: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.
Odporúča:
Bezdrôtová komunikácia LoRa 3 km až 8 km s nízkymi nákladmi na zariadenie E32 (sx1278/sx1276) pre Arduino, Esp8266 alebo Esp32: 15 krokov
Bezdrôtová komunikácia LoRa 3 km až 8 km s nízkymi nákladmi na zariadenie E32 (sx1278/sx1276) pre Arduino, Esp8266 alebo Esp32: Vytváram knižnicu na správu EBYTE E32 na základe série zariadení LoRa Semtech, veľmi výkonného, jednoduchého a lacného zariadenia. Verzia 3 km tu, verzia 8 km tu Môžu pracovať na vzdialenosť 3 000 až 8 000 m a majú mnoho funkcií
STM32F4 Discovery Board a komunikácia Python USART (STM32CubeMx): 5 krokov
STM32F4 Discovery Board a komunikácia Python USART (STM32CubeMx): Ahoj! V tomto návode sa pokúsime nadviazať komunikáciu USART medzi STM32F4 ARM MCU a Pythonom (je možné ho nahradiť iným jazykom). Začnime teda
Sériová komunikácia PIC MCU a Python: 5 krokov
Sériová komunikácia PIC MCU a Python: Dobrý deň, chlapci! V tomto projekte sa pokúsim vysvetliť svoje experimenty so sériovou komunikáciou PIC MCU a Python. Cez internet existuje mnoho návodov a videí o tom, ako komunikovať s PIC MCU prostredníctvom virtuálneho terminálu, čo je veľmi užitočné. Howev
Bezdrôtová komunikácia pomocou transceiverového modulu NRF24L01 pre projekty založené na Arduino: 5 krokov (s obrázkami)
Bezdrôtová komunikácia pomocou transceiverového modulu NRF24L01 pre projekty založené na Arduine: Toto je môj druhý návod s pokynmi k robotom a mikroovládačom. Je skutočne úžasné vidieť svojho robota nažive a pracovať podľa očakávania a verte mi, že to bude zábavnejšie, ak budete svojho robota alebo iné veci ovládať rýchlo a
Komunikácia LoRa ESP8266 a rádio RFM95: 9 krokov
Komunikácia LoRa ESP8266 a rádio RFM95: Jedna z najznámejších technológií, ktoré sa majú implementovať pre internet vecí, ktorá má veľmi pozoruhodné vlastnosti, ako je komunikácia na diaľku a nízky výkon, čo sa prejavuje nízkou spotrebou, LoRa „Lo ng - Ra nge“, táto typ modulácie ha