Inhaltsverzeichnis:

ESP32-Entwicklung auf einem Windows-Subsystem für Linux - Gunook
ESP32-Entwicklung auf einem Windows-Subsystem für Linux - Gunook

Video: ESP32-Entwicklung auf einem Windows-Subsystem für Linux - Gunook

Video: ESP32-Entwicklung auf einem Windows-Subsystem für Linux - Gunook
Video: Windows Subsystem for Linux (WSL2) - Tool Tipp #4 2024, Juli
Anonim
ESP32-Entwicklung auf dem Windows-Subsystem für Linux
ESP32-Entwicklung auf dem Windows-Subsystem für Linux

ESP32 ist ein kostengünstiges Mikrocontroller-Board mit geringem Stromverbrauch von Espressif. Es ist bei den Herstellern wegen seiner geringen Kosten und seiner integrierten Peripheriegeräte, zu denen WLAN und Bluetooth gehören, beliebt. Die Entwicklungstools für ESP32 erfordern jedoch eine Unix-ähnliche Umgebung, deren Einrichtung und Wartung auf einem Windows-System schwierig sein kann.

Dank der kürzlich eingeführten seriellen Kommunikation können wir das Microsoft Windows-Subsystem für Linux verwenden, um die gesamte Linux-basierte Toolchain nativ auf Windows 10 auszuführen, ohne dass virtuelle Maschinen oder Container neu kompiliert oder verwendet werden müssen.

Windows Subsystem for Linux (WSL) ermöglicht die native Ausführung von Linux-Binärdateien (oder ELF64, um ihnen ihren formelleren Namen zu geben) als spezielle Prozessklasse, die als Pico-Prozess bezeichnet wird. Windows fängt Linux-Systemaufrufe ab und übersetzt sie automatisch in den entsprechenden Windows-Executive-Aufruf. Das Ergebnis ist, dass die meisten wohlerzogenen Linux-Anwendungen unter Windows laufen.

Schritt 1: Aktivieren Sie die Funktion in Windows

Aktivieren Sie die Funktion in Windows
Aktivieren Sie die Funktion in Windows

Um WSL nutzen zu können, müssen wir die Funktion zunächst im Betriebssystem aktivieren. Klicken Sie mit der rechten Maustaste auf die Schaltfläche Start und wählen Sie Ausführen. Geben Sie OptionalFeatures.exe ein und drücken Sie die Eingabetaste. Stellen Sie sicher, dass das Windows-Subsystem für Linux aktiviert ist, und klicken Sie dann auf OK. Möglicherweise müssen Sie neu starten, damit die Funktion installiert werden kann.

Schritt 2: Linux-Distribution installieren

Linux-Distribution installieren
Linux-Distribution installieren
Linux-Distribution installieren
Linux-Distribution installieren

Öffnen Sie als nächstes den Windows Store und suchen Sie nach Ubuntu. Dies ist die Linux-Distribution, die wir für unsere Entwicklungsumgebung verwenden werden. Nachdem Sie die Ubuntu-App installiert und gestartet haben, werden Sie aufgefordert, einen Benutzernamen und ein Passwort auszuwählen. (Dies muss nicht mit Ihrem Windows-Benutzernamen und -Passwort identisch sein, aber es sollte etwas logisches sein, an das Sie sich erinnern werden).

Schritt 3: ESP32 Toolchain installieren

Zuerst müssen wir die Voraussetzungen für die Toolchain installieren. Dies geschieht mit dem Paketmanager von Ubuntu. Starten Sie Ubuntu und geben Sie Folgendes ein:

sudo apt-get update

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

Um die Toolchain zu installieren, müssen wir sie herunterladen und entpacken:

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

Schritt 4: Installieren Sie das ESP IoT Development Framework

Das Erstellen eines Git-Klons des Espressif-IDF-Repositorys ist der erste Schritt zur Installation des Entwicklungs-Frameworks:

cd ~/espgit clone --rekursiv

ESP-IDF benötigt einige Umgebungsvariablen, um ordnungsgemäß ausgeführt zu werden. Wir werden diese im Profil unserer Kommandozeilen-Shell setzen, damit sie jedes Mal verfügbar sind, wenn wir Bash starten.

Geben Sie nano ~/.profile ein, um mit der Bearbeitung zu beginnen. Fügen Sie am Ende die folgenden Zeilen hinzu:

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

Speichern und mit Strg+X beenden.

Schritt 5: USB-Seriell-Treiber installieren und konfigurieren

Installieren und Konfigurieren von seriellen USB-Treibern
Installieren und Konfigurieren von seriellen USB-Treibern

Die meisten ESP32-Entwicklungsboards verfügen über eine USB-Seriell-Brücke, sodass Sie sie programmieren und die Ausgabe Ihres Computers überwachen können. Sie verwenden jedoch nicht den FTDI-Chip, den die meisten Arduino-Boards verwenden. Stattdessen verwenden die meisten den CP210x-Chip von Silicon Labs. Sie müssen die Treiber herunterladen und installieren, bevor Sie das Gerät anschließen.

Öffnen Sie anschließend den Geräte-Manager und bestätigen Sie, dass das Gerät erkannt wurde. Sie müssen wissen, welchen COM-Port Windows Ihrem Gerät zugewiesen hat. In meinem Fall ist es COM4, aber bei Ihnen kann es anders sein.

In Ubuntu beziehen wir uns nicht auf das Gerät über den Windows-COM-Port, sondern verwenden stattdessen den Dateinamen /dev/ttyS X - wobei X die Windows-COM-Portnummer ist. COM4 wäre also /dev/ttyS4.

Um auf den seriellen Port schreiben zu können, müssen wir die Berechtigungen setzen. Geben Sie dazu Folgendes ein:

sudo chmod 0666 /dev/ttyS4

Hinweis: In meinem Fall verwende ich /dev/ttyS4. Sie sollten stattdessen Ihren Gerätenamen ersetzen.

Schritt 6: Erstellen und flashen Sie ein Programm

Erstellen und flashen eines Programms
Erstellen und flashen eines Programms
Erstellen und flashen eines Programms
Erstellen und flashen eines Programms

Lassen Sie uns unser ESP32 testen, indem wir das allgegenwärtige Hello World-Programm erstellen und flashen.

Sie haben vielleicht bemerkt, dass wir bisher in einem Unix-ähnlichen Dateisystem mit Verzeichnissen wie /dev, /bin und /home gearbeitet haben. Wir kopieren die Projektdateien auf unser Hauptlaufwerk C, damit wir sie bei Bedarf mit einem beliebigen Windows-Texteditor bearbeiten können. Alle unsere Laufwerke sind in WSL über das Verzeichnis /mnt verfügbar.

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

Hinweis: Dies erstellt einen Ordner im Stammverzeichnis des Laufwerks C: namens esp. Wenn Sie lieber an einem anderen Ort arbeiten möchten, ersetzen Sie einfach den Pfad.

Wir müssen den standardmäßigen seriellen Port basierend auf dem zuvor identifizierten Gerät ändern. In meinem Fall bedeutet dies, den standardmäßigen seriellen Port in /dev/ttyS4 zu ändern. Vergessen Sie nicht zu speichern, wenn Sie menuconfig verlassen.

make -j16 allmake flash

Die Option -j16 ist nicht erforderlich, aber sie hilft, den Build-Prozess in Computern mit mehreren Prozessoren zu beschleunigen. Da ich eine 16-Thread-Maschine habe, übergebe ich -j16. Wenn Sie einen Prozessor mit vier Threads haben, sollten Sie -j4 verwenden.

Mein Board hat einen Druckknopf mit der Bezeichnung IOO, den Sie drücken müssen, um den Flash-Vorgang zu aktivieren. Ein kurzes Drücken während der Connecting……-Phase genügte.

Schritt 7: Anschließen an den ESP32 und Anzeigen der Ausgabe

Anschließen an den ESP32 und Anzeigen der Ausgabe
Anschließen an den ESP32 und Anzeigen der Ausgabe

Um die Ausgabe des ESP32 anzuzeigen, geben Sie einfach ein

Monitor machen

Dadurch wird die Ausgabe unserer hello_world-Anwendung angezeigt. Herzlichen Glückwunsch, Sie haben Ihr ESP32-Gerät erfolgreich mit dem Windows-Subsystem für Linux programmiert!

Empfohlen: