fedora:aplikacje:thonny
Różnice
Różnice między wybraną wersją a wersją aktualną.
Nowa wersja | Poprzednia wersja | ||
fedora:aplikacje:thonny [2023/10/17 19:20] – utworzono sindap | fedora:aplikacje:thonny [Nieznana data] (aktualna) – edycja zewnętrzna (Nieznana data) 127.0.0.1 | ||
---|---|---|---|
Linia 1: | Linia 1: | ||
+ | ====== Thonny ====== | ||
+ | |||
Po zainstalowaniu przez polecenie: | Po zainstalowaniu przez polecenie: | ||
- | dnf install thonny | + | < |
+ | dnf install thonny | ||
+ | </ | ||
- | Upewnić się, że mamy zainstalowany pakiet [[esptool]].<br> | + | Upewnić się, że mamy zainstalowany pakiet [[fedora: |
Przydzielić użytkownika do grupy dialout poleceniem: | Przydzielić użytkownika do grupy dialout poleceniem: | ||
- | usermod -aG dialout nazwa_użytkownika | + | < |
+ | usermod -aG dialout nazwa_użytkownika | ||
+ | </ | ||
Po modyfikacji może zajść konieczność restartu systemu. | Po modyfikacji może zajść konieczność restartu systemu. | ||
- | == Instalacja MicroPython na ESP-12F == | + | ===== Instalacja MicroPython na ESP-12F ===== |
- | Pobrać obraz firmware ze strony: https:// | + | |
- | Przykładowo: | + | |
- | Uruchomić program Thonny<br> | + | Pobrać obraz firmware ze strony: https:// |
- | Wybrać:<br> | + | Przykładowo: |
- | Narzędzia -> Opcje -> Interpreter<br> | + | |
- | Wybrać urządzenie: | + | Uruchomić program Thonny\\ |
- | Port or WebREPL: USB Serial (/ | + | Wybrać:\\ |
- | Install or update firmware:<br> | + | Narzędzia -> Opcje -> Interpreter\\ |
- | Port: USB Serial (/ | + | Wybrać urządzenie: |
- | Firmware: / | + | Port or WebREPL: USB Serial (/ |
- | Flash mode: From image file (keep)<br> | + | Install or update firmware:\\ |
- | Zaznaczamy erase flash before installing o ile chcemy wyczyścić jego pamięć przed wgraniem firmware.<br> | + | Port: USB Serial (/ |
+ | Firmware: / | ||
+ | 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: | Konfiguracją WiFi w pliku boot.py: | ||
- | import network | + | < |
- | | + | import network |
- | | + | sta_if = network.WLAN(network.STA_IF); |
- | | + | sta_if.scan() |
- | | + | sta_if.connect(" |
+ | sta_if.isconnected() | ||
+ | </ | ||
Przykład pliku main.py: | Przykład pliku main.py: | ||
- | from machine import Pin | + | <code bash>from machine import Pin |
- | from time import sleep | + | from time import sleep |
- | # Niebieska dioda LED | + | # Niebieska dioda LED |
- | # Pin2 to ten na płytce ESP-12F | + | # Pin2 to ten na płytce ESP-12F |
- | led = Pin(2, Pin.OUT) | + | led = Pin(2, Pin.OUT) |
- | # off podaje stan niski czyli dioda LED się zaświeci | + | # off podaje stan niski czyli dioda LED się zaświeci |
- | # LED sterowany minusem. Domyslnie po uruchomieniu OFF. | + | # LED sterowany minusem. Domyslnie po uruchomieniu OFF. |
- | # led.off() | + | # led.off() |
- | # Migająca dioda LED | + | # Migająca dioda LED |
- | while True: | + | while True: |
- | | + | led.value(not led.value()) |
- | | + | sleep(0.5) |
- | # Pozostałe przykładowe możliwe przyciski | + | # Pozostałe przykładowe możliwe przyciski |
- | # button = Pin(4, Pin.IN) # przycisk GPIO4 (19 wemos d1 mini) SDA | + | # button = Pin(4, Pin.IN) # przycisk GPIO4 (19 wemos d1 mini) SDA |
- | # button = Pin(5, Pin.IN) # przycisk GPIO5 (20 wemos d1 mini) SCL | + | # 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. | + | # Powyższe wyjścia lepiej zostawić do podłączenia expandera GPIO po I2C. |
- | # Także pozostają poniższe 4 sztuki. | + | # Także pozostają poniższe 4 sztuki. |
- | # button = Pin(12, Pin.IN) # przycisk GPIO12 (6 wemos d1 mini) | + | # button = Pin(12, Pin.IN) # przycisk GPIO12 (6 wemos d1 mini) |
- | # button = Pin(13, Pin.IN) # przycisk GPIO13 (7 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) | + | # button = Pin(14, Pin.IN) # przycisk GPIO14 (5 wemos d1 mini) |
- | # Przykładowy aktywny przycisk. | + | # Przykładowy aktywny przycisk. |
- | | + | button = Pin(16, Pin.IN) # przycisk GPIO16 (4 wemos d1 mini) |
- | while True: | + | 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 | + | #from machine import Pin, I2C |
- | #i2c = I2C(scl=Pin(5), | + | #i2c = I2C(scl=Pin(5), |
- | # | + | #i2c.scan() |
- | from machine import Pin, I2C | + | from machine import Pin, I2C |
- | | + | import time |
- | | + | import mcp23017 |
- | i2c = I2C(scl=Pin(5), | + | i2c = I2C(scl=Pin(5), |
- | mcp = mcp23017.MCP23017(i2c, | + | mcp = mcp23017.MCP23017(i2c, |
- | # pierwszy port stan wysoki | + | # pierwszy port stan wysoki |
- | | + | mcp[0].output(1) |
- | # drugi port stan niski | + | # drugi port stan niski |
- | | + | mcp[1].output(0) |
- | # Przycisk GPB0 | + | # Przycisk GPB0 |
- | | + | mcp[8].input() |
- | # Sterowanie przyciskiem GPIO16 (4 wemos d1 mini) | + | # Sterowanie przyciskiem GPIO16 (4 wemos d1 mini) |
- | # Wyjściem GPA0 (MCP23017 pin 21) | + | # Wyjściem GPA0 (MCP23017 pin 21) |
- | while True: | + | 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) | + | # Sterowanie przyciskiem GPB0 (MCP23017 pin 1) |
- | # Wyjściem GPA0 (MCP23017 pin 21) | + | # Wyjściem GPA0 (MCP23017 pin 21) |
- | while True: | + | 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 ===== | ||
- | == Instalacja MicroPython na ESPs2 == | + | Pobrać obraz firmware ze strony: https:// |
- | Pobrać obraz firmware ze strony: https:// | + | Przykładowo: |
- | Przykładowo: | + | Włączenie układu w tryb debugowania przyciskamy BOOT i RESET.\\ |
- | Włączenie układu w tryb debugowania przyciskamy BOOT i RESET.<br> | + | |
- | Uruchomić program Thonny<br> | + | Uruchomić program Thonny\\ |
- | Wybrać:<br> | + | Wybrać:\\ |
- | Narzędzia -> Opcje -> Interpreter<br> | + | Narzędzia -> Opcje -> Interpreter\\ |
- | Wybrać urządzenie: | + | Wybrać urządzenie: |
- | Port or WebREPL: USB Serial (/ | + | Port or WebREPL: USB Serial (/ |
- | Install or update firmware:<br> | + | Install or update firmware:\\ |
- | Port: USB Serial (/ | + | Port: USB Serial (/ |
- | Firmware: / | + | Firmware: / |
- | Flash mode: From image file (keep)<br> | + | Flash mode: From image file (keep)\\ |
- | Uwaga! Nie zaznaczamy erase flash before installing. Kasowanie robimy osobno przed wgraniem firmware.< | + | Uwaga! Nie zaznaczamy erase flash before installing. Kasowanie robimy osobno przed wgraniem firmware.\\ |
Aby pobawić się diodą LED wybieramy Pin15. | Aby pobawić się diodą LED wybieramy Pin15. | ||
fedora/aplikacje/thonny.1697563224.txt.gz · ostatnio zmienione: 2023/10/17 19:20 (edycja zewnętrzna)