Программирование ESP8266: Arduino IDE и MicroPython
ESP8266 программируется в Arduino IDE (C++) или MicroPython. Выбор: библиотеки vs простота Python.
Arduino IDE (C++)
Установка
- Arduino IDE 2.x → arduino.cc
- Настройки → URL:
http://arduino.esp8266.com/stable/package_esp8266com_index.json - Tools → Board Manager → esp8266 → Install
Настройка
- Board: NodeMCU 1.0 (ESP-12E)
- Upload Speed: 115200
- Flash Size: 4MB (FS:2MB OTA)
Пример: Wi-Fi
#include <ESP8266WiFi.h>
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
int n = WiFi.scanNetworks();
for (int i = 0; i < n; ++i) {
Serial.println(WiFi.SSID(i));
}
}
void loop() {}
Через 100 мс выполняет сканирование доступных Wi-Fi сетей;
Выводит в Serial Monitor список SSID всех найденных сетей;
В loop() ничего не делает — сканирование происходит только один раз в setup().
MicroPython
Установка
- Скачать .bin: micropython.org
- esptool.py erase_flash
- esptool.py write_flash -fm dout 0x00000 firmware.bin
REPL
Подключить: screen /dev/ttyUSB0 115200
Пример: Wi-Fi скан
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
nets = wlan.scan()
for net in nets:
print(net[0].decode())
Сравнение
| Arduino IDE | MicroPython | |
|---|---|---|
| Язык | C++ | Python |
| Библиотеки | 1000+ | меньше, но растёт |
| Скорость | выше | ниже |
| Память | эффективнее | больше RAM |
| Отладка | Serial.print | REPL |
Рекомендации
- Arduino IDE: IoT, реле, датчики, OTA
- MicroPython: прототипы, скрипты, веб-REPL
Заключение
Arduino — для производительности, MicroPython — для скорости разработки. Начните с Arduino, попробуйте MicroPython для веб-интерфейсов.
FAQ — Программирование ESP8266: Arduino IDE и MicroPython
Какие способы программирования доступны для ESP8266?
ESP8266 можно программировать через Arduino IDE (на C++) и MicroPython. Первый вариант обеспечивает скорость и совместимость с библиотеками, второй — простоту и интерактивность через REPL.
Как установить поддержку ESP8266 в Arduino IDE?
В Arduino IDE нужно добавить URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json в настройках плат, затем установить «esp8266» через Board Manager и выбрать плату NodeMCU 1.0 (ESP-12E).
Как прошить ESP8266 прошивкой MicroPython?
Сначала нужно стереть флеш с помощью команды esptool.py erase_flash, затем записать бинарный файл прошивки esptool.py write_flash -fm dout 0x00000 firmware.bin. После этого модуль будет готов к работе с REPL.
Чем отличается Arduino IDE от MicroPython при работе с ESP8266?
Arduino IDE использует язык C++, обладает большим числом библиотек и обеспечивает высокую производительность. MicroPython — интерпретируемый язык, упрощающий отладку и разработку, но работает медленнее и требует больше памяти.
Что выбрать: Arduino IDE или MicroPython?
Для IoT-проектов, работы с реле и датчиками удобнее Arduino IDE. Для быстрых экспериментов, обучения и веб-скриптов подойдёт MicroPython. Оба варианта совместимы и могут использоваться параллельно.