Spisu treści:

Programowanie ESP32 w podsystemie Windows dla systemu Linux: 7 kroków
Programowanie ESP32 w podsystemie Windows dla systemu Linux: 7 kroków

Wideo: Programowanie ESP32 w podsystemie Windows dla systemu Linux: 7 kroków

Wideo: Programowanie ESP32 w podsystemie Windows dla systemu Linux: 7 kroków
Wideo: 01 - AVR USB - komunikacja HID vs Sterowniki LibUSB 2024, Lipiec
Anonim
Programowanie ESP32 w podsystemie Windows dla systemu Linux
Programowanie ESP32 w podsystemie Windows dla systemu Linux

ESP32 to tania, energooszczędna płytka mikrokontrolera firmy Espressif. Jest popularny wśród producentów ze względu na niski koszt i wbudowane urządzenia peryferyjne, w tym WiFi i Bluetooth. Jednak narzędzia programistyczne dla ESP32 wymagają środowiska podobnego do Uniksa, które może być trudne do skonfigurowania i utrzymania w systemie Windows.

Dzięki niedawnemu dodaniu komunikacji szeregowej możemy użyć podsystemu Microsoft Windows dla systemu Linux, aby uruchomić cały łańcuch narzędzi oparty na systemie Linux natywnie w systemie Windows 10, bez konieczności ponownej kompilacji lub używania maszyn wirtualnych lub kontenerów.

Podsystem Windows dla systemu Linux (WSL) umożliwia natywne wykonywanie plików binarnych systemu Linux (lub ELF64, aby nadać im bardziej formalną nazwę) do uruchamiania jako specjalnej klasy procesu, zwanej procesem pico. Windows przechwytuje wywołania systemowe Linux i automatycznie tłumaczy je na odpowiednie wywołanie wykonawcze systemu Windows. W rezultacie większość dobrze wychowanych aplikacji linuksowych będzie działać w systemie Windows.

Krok 1: Włącz funkcję w systemie Windows

Włącz funkcję w systemie Windows
Włącz funkcję w systemie Windows

Aby korzystać z WSL, najpierw musimy włączyć tę funkcję w systemie operacyjnym. Kliknij prawym przyciskiem myszy przycisk Start i wybierz Uruchom. Wpisz OptionalFeatures.exe i naciśnij klawisz Enter. Upewnij się, że podsystem Windows dla systemu Linux jest zaznaczony, a następnie kliknij przycisk OK. Może być konieczne ponowne uruchomienie, aby funkcja została zainstalowana.

Krok 2: Zainstaluj dystrybucję Linuksa

Zainstaluj dystrybucję Linuksa
Zainstaluj dystrybucję Linuksa
Zainstaluj dystrybucję Linuksa
Zainstaluj dystrybucję Linuksa

Następnie otwórz Sklep Windows i wyszukaj Ubuntu. To jest dystrybucja Linuksa, której będziemy używać w naszym środowisku programistycznym. Po zainstalowaniu i uruchomieniu aplikacji Ubuntu zostaniesz poproszony o wybranie nazwy użytkownika i hasła. (Nie musi to być to samo, co nazwa użytkownika i hasło systemu Windows, ale powinno to być coś logicznego, co zapamiętasz).

Krok 3: Zainstaluj Toolchain ESP32

Najpierw musimy zainstalować wymagania wstępne dla zestawu narzędzi. Odbywa się to za pomocą menedżera pakietów Ubuntu. Uruchom Ubuntu i wpisz:

aktualizacja sudo apt-get

sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial

Aby zainstalować toolchain, musimy go pobrać i rozpakować:

cd ~

wget https://dl.espressif.com/dl/xtensa-esp32-elf-linu… mkdir esp cd esp tar -xzf ~/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0. tar.gz

Krok 4: Zainstaluj ESP IoT Development Framework

Stworzenie klona git repozytorium Espressif IDF jest pierwszym krokiem do zainstalowania frameworka programistycznego:

cd ~/espgit clone --recursive

ESP-IDF wymaga pewnych zmiennych środowiskowych do poprawnego działania. Ustawimy je w profilu naszej powłoki wiersza poleceń, aby były dostępne za każdym razem, gdy uruchamiamy Bash.

Wpisz nano ~/.profile, aby rozpocząć edycję. Dodaj następujące wiersze na końcu:

export PATH="$PATH:$HOME/esp/xtensa-esp32-elf/bin"eksportuj IDF_PATH="$HOME/esp/esp-idf"

Zapisz i wyjdź za pomocą Ctrl+X.

Krok 5: Zainstaluj i skonfiguruj sterowniki portu szeregowego USB

Zainstaluj i skonfiguruj sterowniki portu szeregowego USB
Zainstaluj i skonfiguruj sterowniki portu szeregowego USB

Większość płyt rozwojowych ESP32 zawiera mostek USB na szeregowy, dzięki czemu można je zaprogramować i monitorować dane wyjściowe z komputera. Jednak nie używają układu FTDI, który robi większość płyt Arduino. Zamiast tego większość korzysta z układu CP210x firmy Silicon Labs. Musisz pobrać i zainstalować sterowniki przed podłączeniem urządzenia.

Gdy to zrobisz, otwórz Menedżera urządzeń i potwierdź, że urządzenie zostało rozpoznane. Musisz wiedzieć, który port COM system Windows przypisał Twojemu urządzeniu. W moim przypadku jest to COM4, ale u Ciebie może być inaczej.

W Ubuntu nie odnosimy się do urządzenia przez port COM Windows, zamiast tego używamy nazwy pliku /dev/ttyS X - gdzie X jest numerem portu COM Windows. Tak więc COM4 byłby /dev/ttyS4.

Aby móc pisać na porcie szeregowym, musimy ustawić uprawnienia. Aby to zrobić, wpisz:

sudo chmod 0666 /dev/ttyS4

NB W moim przypadku używam /dev/ttyS4. Zamiast tego należy zastąpić nazwę swojego urządzenia.

Krok 6: Zbuduj i Flashuj program

Twórz i Flashuj program
Twórz i Flashuj program
Twórz i Flashuj program
Twórz i Flashuj program

Przetestujmy nasze ESP32, budując i flashując wszechobecny program Hello World.

Być może zauważyłeś, że do tej pory pracowaliśmy w uniksopodobnym systemie plików z katalogami takimi jak /dev, /bin i /home. Skopiujemy pliki projektu na nasz główny dysk C, aby w razie potrzeby móc je edytować za pomocą dowolnego edytora tekstu Windows. Wszystkie nasze dyski są dostępne w WSL poprzez katalog /mnt.

mkdir /mnt/c/espcp -r $IDF_PATH/examples/get-started/hello_world /mnt/c/espcd /mnt/c/esp/hello_worldmake menuconfig

NB Spowoduje to utworzenie folderu w katalogu głównym dysku C: o nazwie esp. Jeśli wolisz pracować w innym miejscu, po prostu zastąp ścieżkę.

Musimy zmienić domyślny port szeregowy na podstawie urządzenia, które zidentyfikowaliśmy wcześniej. W moim przypadku oznacza to zmianę domyślnego portu szeregowego na /dev/ttyS4. Nie zapomnij zapisać po wyjściu z menuconfig.

make -j16 allmake flash

Opcja -j16 nie jest konieczna, ale pomaga przyspieszyć proces kompilacji na komputerach wieloprocesorowych. Jak mam maszynę 16-nitkową, przekazuję -j16. Jeśli masz procesor czterowątkowy, powinieneś użyć -j4.

Moja płyta ma przycisk oznaczony IOO, który należy nacisnąć, aby włączyć proces flashowania. Wystarczyło krótkie naciśnięcie podczas fazy łączenia…….

Krok 7: Podłączanie do ESP32 i przeglądanie danych wyjściowych

Podłączanie do ESP32 i wyświetlanie wyjścia
Podłączanie do ESP32 i wyświetlanie wyjścia

Aby wyświetlić dane wyjściowe z ESP32, po prostu wpisz

zrobić monitor

Spowoduje to wyświetlenie danych wyjściowych z naszej aplikacji hello_world. Gratulacje, pomyślnie zaprogramowałeś swoje urządzenie ESP32 przy użyciu podsystemu Windows dla systemu Linux!

Zalecana: