Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Czy kiedykolwiek chciałeś pracować z prawdziwym systemem operacyjnym na mikrokontrolerze? A może nawet próbowałeś stworzyć własny? Dlatego tu jestem!
Wroombian to próba stworzenia działającego systemu operacyjnego dla mikrokontrolera ESP-WROOM-32. Opiera się na nieznacznie zmodyfikowanym oprogramowaniu Micropython i LoBo Micropython i pozwala na tworzenie różnego rodzaju projektów do różnych celów.
Zasadniczo pozwala tworzyć, utrzymywać i uruchamiać dowolny skrypt Pythona, który może obsłużyć urządzenie. Możesz więc tworzyć tyle programów, ile pozwala na to pamięć, i uruchamiać niektóre z nich, kiedy potrzebujesz. Lub nawet dwa z nich jednocześnie, stwórz skrypt bash, aby uruchomić je w określonej kolejności i kontrolować cały system przez Internet!
I to nie jest cała lista funkcji. Wrombian pozwoli Ci na tworzenie różnego rodzaju projektów, bez względu na to, czy będzie to zdalny włącznik światła, rewolucyjny wynalazek IoT czy jakaś kolekcja przenośnych gier!
Wejdź na naszą stronę wiki, aby dowiedzieć się więcej o Wroombianie!
Kieszonkowe dzieci
Płytka rozwojowa ESP32, PC, kabel micro USB
Krok 1: Instalowanie oprogramowania układowego
Przede wszystkim pobierz lub sklonuj nasze repozytorium na swój komputer:
Aby przygotować ESP32 do pracy należy skasować pamięć flash płyty i wgrać firmware za pomocą skryptu flash.sh:
1. Zainstaluj Pythona
2. Zainstaluj esptool za pomocą polecenia pip:
pip zainstalować esptool
3. Flashuj swoją tablicę:
- Linux
Pobierz lub sklonuj folder repozytorium, otwórz /firmware/flash.sh, zmień wartość FLASH_COMPORT na swój port ESP32 (np. /dev/ttyUSB0). Następnie w terminalu wpisz:
./oprogramowanie układowe/flash.sh
- Windows
Zainstaluj Git dla Windows, pobierz lub sklonuj folder repozytorium, otwórz /firmware/flash.sh, zmień wartość FLASH_COMPORT na swój port ESP32 (np. COM1).
Następnie w bash Git wpisz:
./oprogramowanie układowe/flash.sh
LUB
Przejdź do folderu oprogramowania układowego i uruchom polecenia ręcznie (działa również w systemie Linux, nie zapomnij wpisać prawidłowego portu szeregowego):
esptool --port COM1 erase_flash
esptool --chip esp32 --port COM1 --baud 460800 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size wykryć 0x1000 bootloader/bootloader.bin 0xf000 phy_init_data.bin 0x10000 MicroPython 0x8000 partycje_mpy.bin 0x8000 partycje_mpy.bin
Gotowe! Teraz możesz przejść do następnego kroku!
Krok 2: Przesyłanie plików systemowych
Aby Wroombian działał, musimy załadować wszystkie pliki systemowe do jego pamięci flash. Możesz do tego użyć Thonny IDE (lub dowolnego innego IDE Micropython).
Pobierz i zainstaluj Thonny, uruchom go, a następnie przejdź do Narzędzia> Opcje> Interpreter i wybierz swoją tablicę z listy urządzeń. Otwórz pobrany/sklonowany katalog projektu w edytorze. Powinieneś wtedy otrzymać komunikat w dolnej powłoce REPL podobny do tego na obrazku #1. Jeśli widzisz jakieś błędy lub dziwny tekst - spróbuj ponownie załadować Thonny'ego za pomocą Ctrl + F2 kilka razy, aż problem zniknie.
Następnie przejdź do katalogu flash projektu (w oknie „Ten komputer”) i prześlij wszystkie pliki i foldery jeden po drugim (jak na obrazku #2). Powinny pojawić się w górnym oknie plików urządzenia.
Krok 3: Zacznij tworzyć lepszy świat
Do połączenia z płytą można użyć portu szeregowego, telnet lub FTP, więc użyjmy połączenia szeregowego do pierwszego uruchomienia. Pobierz i zainstaluj Putty, otwórz go, wybierz Połączenie szeregowe, jak pokazano na obrazku, wpisz swój port szeregowy i ustaw szybkość transmisji 115200. Następnie otwórz połączenie!
Wroombian ma dość dobrze opisaną stronę wiki, do której możesz się odwołać, jeśli masz problemy z konfiguracją lub podczas tworzenia własnego projektu. Zapraszam do zadawania pytań w dziale Problemy!
Polecenie „pomoc” pokaże Ci wszystkie dostępne polecenia i ich zastosowanie.
Możesz rozpocząć swoją podróż, uruchamiając nasz wstępnie napisany skrypt blink w następujący sposób:
uruchom home/blink.py
I patrz, jak miga dioda LED na pokładzie!
Dziękuję za uwagę! Odwiedź nasze repozytorium github, aby uzyskać więcej informacji: