Spis treści

Thonny

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.

Instalacja MicroPython na ESP-12F

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)

Instalacja MicroPython na ESPs2

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.