====== ESP8266 ====== * https://espressif.com/en/ * http://nodemcu-build.com/ ===== Params ===== * 802.11 b/g/n * Integrated low power 32-bit MCU * Integrated 10-bit ADC * Integrated TCP/IP protocol stack * Integrated TR switch, balun, LNA, power amplifier and matching network * Integrated PLL, regulators, and power management units * Supports antenna diversity * WiFi 2.4 GHz, support WPA/WPA2 * Support STA/AP/STA+AP operation modes * Support Smart Link Function for both Android and iOS devices * SDIO 2.0, (H) SPI, UART, I2C, I2S, IR Remote Control, PWM, GPIO * STBC, 1x1 MIMO, 2x1 MIMO * A-MPDU & A-MSDU aggregation & 0.4s guard interval * Deep sleep power <10uA, Power down leakage current < 5uA * Wake up and transmit packets in < 2ms * Standby power consumption of < 1.0mW (DTIM3) * +20 dBm output power in 802.11b mode * Operating temperature range -40C ~ 125C * FCC, CE, TELEC, WiFi Alliance, and SRRC certified ===== Arduino IDE ===== * Soubor -> Vlastnosti: Additional Boards Manager URLs * http://arduino.esp8266.com/stable/package_esp8266com_index.json {{:nodemcu-arduino-ide-01.png?400|}}\\ {{:nodemcu-arduino-ide-02.png?400|}}\\ {{:nodemcu-arduino-ide-03.png?400|}}\\ {{:nodemcu-arduino-ide-04.png?400|}}\\ {{:nodemcu-arduino-ide-05.png?400|}}\\ {{:nodemcu-arduino-ide-06.png?400|}}\\ {{::nodemcu-arduino-ide-07.png?400|}} ===== Flash NodeMCU ===== * https://github.com/nodemcu/nodemcu-flasher * https://github.com/marcelstoer/nodemcu-pyflasher (alternativa) shell$ git clone https://github.com/nodemcu/nodemcu-flasher.git ==== Build NodeMCU ==== * https://nodemcu-build.com/ * https://nodemcu.readthedocs.io/en/master/en/flash/ * https://nodemcu-build.com/faq.php#support Vyplnit e-mail, kam přijdou odkazy ke stažení buildu NodeMCU. Dále vybrat moduly, které chceme mít ve zkompilovaném balíčku a potvrdit. {{::nodemcu-build.com-01.png?400|}}\\ {{::nodemcu-build.com-01.png?400|}}\\ {{::nodemcu-build.com-03.png?400|}} ==== Zapojení ESP-12E ==== ===== První program ===== #include #include #include #include MDNSResponder mdns; const char* ssid = "xxx"; const char* password = "xxx"; ESP8266WebServer server(80); int ledState = 0; void setup(){ delay(1000); Serial.begin(9600); pinMode(D0, OUTPUT); digitalWrite(D0, LOW); Serial.println(); Serial.print("Pripojuji k "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.println("WiFi pripojena!"); Serial.print("Pouzij k pripojeni tuto adresu: "); Serial.print("http://"); Serial.println(WiFi.localIP()); if (mdns.begin("esp8266", WiFi.localIP())) { Serial.println("MDNS responder started"); } server.on("/", [](){ server.send(200, "text/html", returnWebPage(ledStateInfo(ledState))); }); server.on("/ZapnoutSvetlo", [](){ ledState = 1; server.send(200, "text/html", returnWebPage(ledStateInfo(ledState))); digitalWrite(D0, HIGH); }); server.on("/VypnoutSvetlo", [](){ ledState = 0; server.send(200, "text/html", returnWebPage(ledStateInfo(ledState))); digitalWrite(D0, LOW); }); server.begin(); Serial.println("HTTP server spusten"); } void loop() { server.handleClient(); } String returnWebPage(String message) { String webPage; webPage += ""; webPage += ""; webPage += ""; webPage += "ESP8266 WebServer"; webPage += ""; webPage += ""; webPage += ""; webPage += ""; webPage += ""; webPage += "
"; webPage += "

Wi-Fi LED

"; webPage += "
"; webPage += "
"; webPage += "
"; webPage += "
"; webPage += "

Stav

"; webPage += "
"; webPage += "
"; webPage += message; webPage += "
"; webPage += "
"; webPage += "
"; webPage += "
"; webPage += "ZAPNOUT"; webPage += "
"; webPage += "
"; webPage += "VYPNOUT"; webPage += "
"; webPage += "
"; webPage += "
"; webPage += "
"; webPage += "
"; webPage += ""; webPage += ""; return webPage; } String ledStateInfo(int state) { if (state == 0) { return "VYPNUTO"; } else { return "ZAPNUTO"; } }