Программирование ESP8266: Arduino IDE и MicroPython

ESP8266 программируется в Arduino IDE (C++) или MicroPython. Выбор: библиотеки vs простота Python.

Arduino IDE и ESP8266

Arduino IDE (C++)

Установка

  1. Arduino IDE 2.x → arduino.cc
  2. Настройки → URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. 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() {}
Переводит ESP8266 в режим станции (WIFI_STA) и отключает текущее соединение;
Через 100 мс выполняет сканирование доступных Wi-Fi сетей;
Выводит в Serial Monitor список SSID всех найденных сетей;
В loop() ничего не делает — сканирование происходит только один раз в setup().

MicroPython

MicroPython на ESP8266

Установка

  1. Скачать .bin: micropython.org
  2. esptool.py erase_flash
  3. 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 IDEMicroPython
ЯзыкC++Python
Библиотеки1000+меньше, но растёт
Скоростьвышениже
Памятьэффективнеебольше RAM
ОтладкаSerial.printREPL

Рекомендации

  • 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. Оба варианта совместимы и могут использоваться параллельно.