Железо
Подключение
- Подключаем по USB
- Проверяем видимость: ls /dev/ttyU* на выходе получаем /dev/ttyUSB0
Окружение
- Нельзя ставить в env: conda deactivate
- Ставим утилиту: pip3 install esptool
- Проверка: esptool.py -h
- Добавим себя в группу: sudo groupadd dialout (новая группа действует после перелогина)
Права для записи: sudo chmod o+rw /dev/ttyUSB0(чтобы не перелогиниваться сразу)
Прошивка
- Стираем прошивку: esptool.py --port /dev/ttyUSB0 erase_flash
Выход:
esptool.py v4.6.2Serial port /dev/ttyUSB0Connecting....Detecting chip type... Unsupported detection protocol, switching and trying again...Connecting....Detecting chip type... ESP8266Chip is ESP8266EXFeatures: WiFiCrystal is 26MHzMAC: bc:dd:c2:57:56:0cUploading stub...Running stub...Stub running...Erasing flash (this may take a while)...Chip erase completed successfully in 1.1sHard resetting via RTS pin...
- Скачиваем прошивку: https://micropython.org/download/ESP8266_GENERIC берем latest .bin. На момент теста ESP8266_GENERIC-20231005-v1.21.0.bin
- Прошиваем: esptool.py --port /dev/ttyUSB0 write_flash --flash_size=detect -fm dio 0x00000 ./ESP8266_GENERIC-20231005-v1.21.0.bin
Выход:
esptool.py v4.6.2Serial port /dev/ttyUSB0Connecting....Detecting chip type... Unsupported detection protocol, switching and trying again...Connecting....Detecting chip type... ESP8266Chip is ESP8266EXFeatures: WiFiCrystal is 26MHzMAC: bc:dd:c2:57:56:0cUploading stub...Running stub...Stub running...Configuring flash size...Auto-detected Flash size: 4MBFlash will be erased from 0x00000000 to 0x0009cfff...Flash params set to 0x0240Compressed 641212 bytes to 425908...Wrote 641212 bytes (425908 compressed) at 0x00000000 in 37.7 seconds (effective 136.2 kbit/s)...Hash of data verified.
Проверка в IDE MU
- Ставим IDE: https://codewith.mu/
- Запускаем код:
from machine import Pin
from time import sleep
LED = Pin(2, Pin.OUT)
while True:
LED.value(not LED.value())
sleep(0.5)
- При успехе мигает светодиод
from time import sleep
LED = Pin(2, Pin.OUT)
while True:
LED.value(not LED.value())
sleep(0.5)
Проверка в IDE PyCharm
- Ставим плагин MicroPython
- File->Settings->Languages and Frameworks->MicroPython. Указываем Enable MicroPython support, Device type - ESP8266, Device path - /dev/ttyUSB0
- Правой кнопкой на файле и run
Запуск из консоли
- Ставим плагин MicroPython
- File->Settings->Languages and Frameworks->MicroPython. Указываем Enable MicroPython support, Device type - ESP8266, Device path - /dev/ttyUSB0
- Правой кнопкой на файле и run
- pip3 install adafruit-ampy
- Список файлов ampy -p /dev/ttyUSB0 ls
- Загрузка ampy -p /dev/ttyUSB0 put ./main.py
- Запуск ampy -p /dev/ttyUSB0 run ./main.py
Для автозапуска файл должен называться main.py
