Jak programovat WiFi procesor ESP8266

24. března 2015

Lang: cs en de es

ESP8266 je 32 bitový mikroprocesor s integrovaným WiFi čipem a TCP/IP stackem.

esp8266-esp-03

Čip ESP8266 se dá koupit v již hotovém funkčním modulu. Obvykle pod označením ESP-01 ESP-02 ESP-03 atd. kde se liší pouze způsob provedení. Tyto moduly obsahují krystal, několik pasivních součástek, čip ESP8266 a čip s flash pamětí, která je připojena přes SPI a v této paměti je nahrán program.
Dostupné moduly mají v sobě nahrát program, kterým lze čip ovládat pomocí AT příkazů obdobně jako telefonní u modemy. Zařízení (například mikroprocesor) se modulem propojí pomocí sériové linky (RS232 TTL 3,3V). Zařízení pak pomocí takového modulu je připojeno k síti Internet přes WIFI.

Zásadní problém na který narazí vývojář u těchto prodávaných modulů s čipem ESP8266 je napájení. Čip pracuje na 3,3V a ve špičce potřebuje až 300mA. Toto velmi malé napětí a při ne úplně zanedbatelném proudu není úplně běžné a na modulu není žádný stabilizátor. Proto je potřeba obstarat nějaký vhodný 3,3V zdroj nebo stabilizátor. Výstup 3,3 V z Arduina nebo USB-UART převodníků nestačí!

Po sériové lince se s modulem nejen komunikuje, ale přes ní zle do modulu nahrávat i aktualizace firmwaru.
Díku tomu, že výrobce poskytuje dokumentaci a kompletní SDK je možno vyvinou a do modulu nahrát i vlastní program! Proto záhy vniklo několik velmi zajímavých portací programů a i nových programů:

  • nodemcu je virtuální stroj pro esp8266, který vykonává programy napsané v jazyce Lua.
  • micropython pro esp8266 i v Pythonu se dájí programovat mikropočítače stačí mít v zařízení micropython.
  • frankeinsten je program který umožňuje mikrokontrolér konfigurovat z příkazové řádky podobně jako by jste byli přihlášeni na Unixový systém.
  • esphttpd je HTTP server, který běží přímo na mikroprocesoru a přes web je možné upravovat stavy procesoru nebo vyčítat data.
Díky tomu se moduly staly sami o sobě vývojovou platformou a dají se použít i úplně samostatně. Sám čip ESP8266 má několik vstupních/výstupních vývodů a dokáže například pomocí SPI natáhnout program z SDkarty. Všechny schopnosti čipu ESP8266 jsou popsaný v dokumentaci.

Názorná ukázka řešení: SoC ESP8266 je napájen baterií a je k němu připojeno čidlo teploty a vlhkosti. Běží na něm web server a naměřenou hodnotu poskytuje pomocí webové stránky. Stačí se k němu připojit mobilním telefon přes WiFi - zde OpenMoko Neo Freerunner, ale použít lze samozřejmě i telefony s OS Android a iOS.

esp8266 webserver freerunner

Čip ESP8266 je výborným řešením pro skutečné řešení ve smyslu IoT (Internet of Things) - tedy že každé zařízení je připojeno do Internetu. Mikroprocesor je navíc levný a velmi výkonný. Díky výše zmíněným projektům není třeba velkých programátorským znalostí. Proto IoT už skutečně přichází....

Články na podobné téma

Programovací jazyk Go
Analýza zadání a nacenění vývoje softwarového projektu
Python program na ovládání Dockeru pomocí API
Jak použít aplikaci MailCatcher pro testování emailů
Návod: Python OpenAI API
Vytvoření WebSocket webové aplikace a nastavení proxy
Řízení projektů: Agilní vývoj softwaru
Jak provozovat staré PHP aplikace
Co by měl umět dobrý programátor
Programovací jazyk Rust
NodeJS: vývoj, konfigurace serveru
Nette security bug CVE-2020-15227
Jak porovnat dvě stejné databáze?
REST API: API platform
Vlastní web a mail hosting se softwarem ISP Config
Programovní v SQL: PostgreSQL, MySQL/MariaDB
HTTPS: zabezpečený web
NoSQL databáze Mongo DB
Připojení k Microsoft SQL Serveru z Linuxu
Co je pracovní náplň programátora
Lokalizace aplikací v jazyce Python
Jaký mail a web hosting vybrat
How to make wireless low power Arduino
Digispark - Programujte mikrokontrolér Atmel ATtiny pomocí Arduino IDE
Program Roulette
Vývoj pro procesory ARM s Arduino IDE
Wireless low power Arduino
Pyradio - Python program for receive Internet radio with text user inteface
UPS monitor pro Android
Bezdrátový bateriově napájený WiFi teploměr
Comparison IQRF vs Wireless Arduino
Jakou platformu zvolit pro eshop? Například Prestashop
Development kits and gateways for wireless platform IQRF

OpenStreetMap a GPS trasy v mapě na webu
Quickplay
Java program pro přehledné monitorování záložních zdrojů
Čipové kontaktní a bezkontaktní karty Java Card OpenPlatform
Otevřený chytrý telefon s Linuxem - Openmoko Neo FreeRunner
Vývoj pro bezdrátové moduly s procesorem PIC pod GNU/Linux - IQRF
Grafický program pro embeded/mobilní zařízení na vyhledávání dopravního spoje.
O programování a ruzné programy v jazyce Java, Python a dalších
Java program a applet Kalkulačka
Java program na výpočet kvadratické rovnice

Odběr novinek

Pokud máte zájem dostávat příležitostně na email novinky.
Můžete se vyplněním emailu registrovat k odběru novinek.


+