Po zainstalowaniu przez polecenie:
dnf install thonny
Upewnić się, że mamy zainstalowany pakiet esptool.
Przydzielić użytkownika do grupy dialout poleceniem:
usermod -aG dialout nazwa_użytkownika
Po modyfikacji może zajść konieczność restartu systemu.
Pobrać obraz firmware ze strony: https://micropython.org/download/esp8266-1m/
Przykładowo: https://micropython.org/resources/firmware/esp8266-1m-20220618-v1.19.1.bin
Uruchomić program Thonny
Wybrać:
Narzędzia → Opcje → Interpreter
Wybrać urządzenie: MicroPython (ESP8266)
Port or WebREPL: USB Serial (/dev/ttyUSB0)
Install or update firmware:
Port: USB Serial (/dev/ttyUSB0)
Firmware: /home/nazwa_uzytkownika/Pobrane/esp8266-1m-20220618-v1.19.1.bin
Flash mode: From image file (keep)
Zaznaczamy erase flash before installing o ile chcemy wyczyścić jego pamięć przed wgraniem firmware.
Konfiguracją WiFi w pliku boot.py:
import network sta_if = network.WLAN(network.STA_IF); sta_if.active(True) sta_if.scan() sta_if.connect("NAZWA_SIECI", "haslo_do_sieci") sta_if.isconnected()
Przykład pliku main.py:
from machine import Pin from time import sleep # Niebieska dioda LED # Pin2 to ten na płytce ESP-12F led = Pin(2, Pin.OUT) # off podaje stan niski czyli dioda LED się zaświeci # LED sterowany minusem. Domyslnie po uruchomieniu OFF. # led.off() # Migająca dioda LED while True: led.value(not led.value()) sleep(0.5) # Pozostałe przykładowe możliwe przyciski # button = Pin(4, Pin.IN) # przycisk GPIO4 (19 wemos d1 mini) SDA # button = Pin(5, Pin.IN) # przycisk GPIO5 (20 wemos d1 mini) SCL # Powyższe wyjścia lepiej zostawić do podłączenia expandera GPIO po I2C. # Także pozostają poniższe 4 sztuki. # button = Pin(12, Pin.IN) # przycisk GPIO12 (6 wemos d1 mini) # button = Pin(13, Pin.IN) # przycisk GPIO13 (7 wemos d1 mini) # button = Pin(14, Pin.IN) # przycisk GPIO14 (5 wemos d1 mini) # Przykładowy aktywny przycisk. button = Pin(16, Pin.IN) # przycisk GPIO16 (4 wemos d1 mini) while True: if button.value() == 0 and led.value() == 1: sleep(0.3) led.value(0) if button.value() == 0 and led.value() == 0: sleep(0.3) led.value(1) #from machine import Pin, I2C #i2c = I2C(scl=Pin(5), sda=Pin(4), freq=100000) #i2c.scan() from machine import Pin, I2C import time import mcp23017 i2c = I2C(scl=Pin(5), sda=Pin(4)) mcp = mcp23017.MCP23017(i2c, 0x20) # pierwszy port stan wysoki mcp[0].output(1) # drugi port stan niski mcp[1].output(0) # Przycisk GPB0 mcp[8].input() # Sterowanie przyciskiem GPIO16 (4 wemos d1 mini) # Wyjściem GPA0 (MCP23017 pin 21) while True: if button.value() == 0 and mcp[0].value() == 1: sleep(0.3) mcp[0].value(0) if button.value() == 0 and mcp[0].value() == 0: sleep(0.3) mcp[0].value(1) # Sterowanie przyciskiem GPB0 (MCP23017 pin 1) # Wyjściem GPA0 (MCP23017 pin 21) while True: if mcp[8].value() == 0 and mcp[0].value() == 1: sleep(0.3) mcp[0].value(0) if mcp[8].value() == 0 and mcp[0].value() == 0: sleep(0.3) mcp[0].value(1) #while True: # mcp[2].output(0) # time.sleep_ms(1000) # mcp[2].output(1) # time.sleep_ms(1000)
Pobrać obraz firmware ze strony: https://micropython.org/download/LOLIN_S2_MINI/
Przykładowo: https://micropython.org/resources/firmware/LOLIN_S2_MINI-20220618-v1.19.1.bin
Włączenie układu w tryb debugowania przyciskamy BOOT i RESET.
Uruchomić program Thonny
Wybrać:
Narzędzia → Opcje → Interpreter
Wybrać urządzenie: MicroPython (ESP32)
Port or WebREPL: USB Serial (/dev/ttyACM3)
Install or update firmware:
Port: USB Serial (/dev/ttyACM3)
Firmware: /home/nazwa_uzytkownika/Pobrane/LOLIN_S2_MINI-20220618-v1.19.1.bin
Flash mode: From image file (keep)
Uwaga! Nie zaznaczamy erase flash before installing. Kasowanie robimy osobno przed wgraniem firmware.
Aby pobawić się diodą LED wybieramy Pin15.