- Was ist PlatformIO?
- Einrichten von PlatformIO für Arduino Uno
- Programmieren von Arduino UNO mit der PlatformIO IDE
- Programmierung der STM32-Karte mit der PlatformIO-IDE
Die Entwicklung in Arduino und Arduino IDE war mit ihrer einfachen Benutzeroberfläche immer einfach und macht Spaß. Die Arduino IDE ist Open Source und kann kostenlos in der Entwicklungsumgebung mit allen Funktionen wie Schreiben, Kompilieren und Hochladen des Codes auf Arduino Boards verwendet werden. Es basiert auf Java und läuft unter wichtigen Betriebssystemen wie Windows, OS X und Linux. Bei aller Einfachheit und großen Community verfügt es jedoch nicht über einige Funktionen, die ein erfahrener Entwickler für eine schnelle Entwicklung benötigt, um die Entwicklungsdauer zu verkürzen. Es gibt viele Entwicklungsumgebungen für Arduino, aber alle haben einige Vor- und Nachteile. Heute beginnen wir mit der PlatformIO-Entwicklungsumgebung, die einfach zu verwenden ist und im Vergleich zur Arduino-Umgebung zusätzliche Funktionen bietet.
Was ist PlatformIO?
Das PlatformIO ist ein Python-basiertes Open-Source-Ökosystem für die IoT-Entwicklung und eine plattformübergreifende IDE mit einem einheitlichen Debugger, der unter Windows, Mac und Linux ausgeführt wird. PlatformIO wird mit einem Bibliotheksmanager für Plattformen wie Arduino- oder MBED-Unterstützung sowie Unit-Tests und Firmware-Updates geliefert. Das PlatformIO unterstützt eine Reihe von Plattformen, Frameworks und Boards wie Arduino, ESP32, ESP8266 und enthält eine Reihe von Beispielen und Bibliotheken. Es ist unabhängig von der Plattform, auf der es ausgeführt wird, und erfordert nur Python, das auf dem Computer installiert ist.
Vorteile von PlatformIO
Das PlatformIO bietet eine schnelle Entwicklung mit Funktionen wie C / C ++ - Code-Vervollständigung und Smart Code Linter für eine schnelle berufliche Entwicklung, die in der Arduino IDE nicht vorhanden ist. Darüber hinaus bietet die PlatformIO die Themenunterstützung mit dunklen und hellen Farben für die jederzeitige Entwicklung. Es kommt auch mit Smart Code Navigations und Code Formatierung. Zu den Hauptfunktionen gehören das Multi-Plattform-Build-System, der Bibliotheksmanager, der Serial Port Monitor usw.
Der Unified Debugger mit Unterstützung für mehrere Architekturen und Entwicklungsplattformen ermöglicht das Debuggen mehrerer eingebetteter Karten mit Zero-Configuration. Der PlatformIO Unified Debugger verfügt über Funktionen wie bedingte Haltepunkte, Ausdrücke und Überwachungspunkte, Speicheranzeige und einen Hot-Neustart einer aktiven Debugging-Sitzung. Der PlatformIO Core ist in Python 2.7 geschrieben und funktioniert unter Windows, MacOS, Linux, FreeBSD und sogar ARM-basierten Computern in Kreditkartengröße wie Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK usw. Abgesehen davon verfügt das PlatformIO über einen Datei-Explorer, der hilft Das Organisieren der Dateien, wenn das Projekt auf ein bestimmtes Niveau anwächst und das Organisieren erforderlich wird.
Einrichten von PlatformIO für Arduino Uno
Die Verwendung von PlatformIO ist sehr einfach und erfordert nur wenige Schritte, um loszulegen. Für PlatformIO muss Python auf dem Computer installiert sein, da, wie oben erläutert, der PlatformIO-Kern in Python 2.7 geschrieben wurde. Beachten Sie, dass PlatformIO Python 3 nicht unterstützt. Es wird daher empfohlen, die Python 2-Version zu installieren und dann mit dem Einrichten der PlatformIO-IDE fortzufahren. Das PlatformIO ist eine IDE und bietet offizielle Pakete (Plugins, Erweiterungen) für die beliebtesten IDEs und Texteditoren.
Heute werden wir PlatformIO in einem Texteditor wie Atom und Visual Studio Code installieren. In der offiziellen Dokumentation der Platform IDE heißt es, dass die PlatformIO IDE für VS-Code (Visual Studio Code) eine bessere Systemleistung bietet und die Benutzer den Einstieg erleichtert haben. Also werden wir PlatformIO in Visual Studio Code einrichten. Der VS-Code ist ein bekannter Texteditor mit einer Reihe von Erweiterungen, mit denen wir in verschiedenen Programmiersprachen entwickeln können.
Beginnen wir mit der Einrichtung von PlatformIO, um mit der Entwicklung von Code in Arduino UNO zu beginnen. Es sind Schritte erforderlich, die im Folgenden erläutert werden:
- Installieren Sie zunächst den Visual Studio-Code von der offiziellen Website. Die Installationsschritte von Visual Studio Code werden hier nicht erläutert, finden Sie jedoch auf der VS Code-Website. Es sind allgemeine Schritte erforderlich, genau wie bei der Installation anderer Software unter Windows.
- Der Visual Studio-Code sieht nach erfolgreicher Installation wie folgt aus.
- Der nächste Schritt umfasst die Installation von PlatformIO mithilfe von VS Code Extensions. Gehen Sie dazu zum Erweiterungssymbol in der oberen linken Ecke des VS-Codes. Es gibt ein quadratisches Box - Symbol, das das 5. Symbol in der oberen linken Ecke ist. Klicken Sie einfach darauf und ein Suchfeld wird direkt daneben angezeigt, in dem Sie viele Erweiterungen für verschiedene Programmiersprachen wie C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript und Node.js usw. finden.
- Suchen Sie im Erweiterungssuchfeld nach „PlatformIO“ und Sie sehen das PlatformIO-Symbol mit Name und Beschreibung. Klicken Sie einfach darauf und installieren Sie es. Die Installation von Toolchains und anderen Abhängigkeiten kann einige Zeit dauern. Zu den Abhängigkeiten gehört die C / C ++ - Umgebung, da die Arduino-Entwicklung hauptsächlich unter C / C ++ erfolgt.
- Nach Abschluss der Installation wird die folgende Oberfläche angezeigt. Die Benutzeroberfläche enthält alle erforderlichen Navigationsfunktionen wie das Erstellen eines neuen Projekts, das Importieren eines Arduino-Projekts, das Öffnen eines Projekts, Projektbeispiele usw. Es wird empfohlen, den VS-Code-Editor nach der Installation von PlatformIO neu zu starten.
Damit sind die Installationsschritte von PlatformIO abgeschlossen. Jetzt ist das PlatformIO installiert und einsatzbereit. Genau wie bei Arduino IDE beginnen wir mit dem Blink-Programm und versuchen, das Blink-Programm in die Arduino UNO hochzuladen.
Programmieren von Arduino UNO mit der PlatformIO IDE
Die PlatformIO-Schnittstelle wird gleichzeitig während der Programmierung von Arduino UNO erklärt. Hier programmieren wir Arduino für das Blinken der LED mit dem PlatformIO. Das gleiche kann mit Arduino IDE gemacht werden. Führen Sie die folgenden Schritte aus, um ein neues Projekt zum Blinken der LED zu erstellen.
- Wählen Sie im Schnellzugriffsmenü die Registerkarte „Neues Projekt“.
- Nennen Sie das Projekt (hier ist es 'Blink'). Suchen und wählen Sie das Board aus, das Arduino UNO ist. Da wir im Arduino-Framework arbeiten, wird das ausgewählte Framework Arduino sein. Nachdem Sie alle Details eingegeben haben, klicken Sie einfach auf Fertig stellen.
- Das Projekt wird erstellt, indem Ressourcen und andere Abhängigkeiten gesammelt werden.
- Wenn das Projekt erfolgreich erstellt wurde, erhalten Sie die Meldung "Projekt wurde erfolgreich initialisiert" mit allen ausgefüllten Details.
- Um das erstellte Projekt zu öffnen, scrollen Sie einfach im Home-Menü von PlatformIO nach unten und Sie sehen alle Listen der von Anfang an erstellten Projekte. Klicken Sie in der rechten Ecke des erstellten Projekts auf "Öffnen", um das Projekt zu öffnen und mit der Bearbeitung zu beginnen.
- Wenn das Projekt geöffnet wird, sieht es zunächst wie versteckt aus, aber keine Sorge, PlatformIO verfügt über eine Datei-Explorer-Funktion, in der alle Dateien des aktuellen Projekts gefunden werden. Gehen Sie einfach in die obere linke Ecke und öffnen Sie den 'Ohne Titel (Arbeitsplatz)'. Wenn Sie darauf klicken, werden alle Dateien als Dropdown-Menü angezeigt. Um den Texteditor zum Bearbeiten des 'Codes' zu finden, wählen Sie 'src' und öffnen Sie 'main.cpp'. Der Texteditor-Modus wird auf dem Startbildschirm mit dem Öffnen eines neuen Tabs angezeigt. Hier können Sie alle Codes des aktuellen laufenden Projekts schreiben.
- Schreiben Sie einfach den Blinkcode für Arduino UNO. Beachten Sie, dass PlatformIO nicht über den Standardzugriff auf Arduino-Bibliotheken verfügt. Fügen Sie daher jedes Mal, wenn Sie den Code für Arduino schreiben, die Arduino-Bibliothek ein, dh "#include" zu Beginn des Programms.
- Der nächste Schritt wäre das Kompilieren und Hochladen des Codes. Schauen wir uns dazu die Funktionen von PlatformIO an. Außerdem wählt PlatformIO standardmäßig den COM-Port aus. Sie können den Port aber auch ändern, wenn es sich nicht um den gewünschten COM-Port handelt. Die Änderung des COM-Anschlusses wird später in diesem Lernprogramm erläutert. PlatformIO verfügt über Funktionen wie Erstellen, Hochladen, Hochladen auf ein Remote-Gerät, Bereinigen, Testen, Ausführen von Aufgaben, Serielle Überwachung und Neues Terminal. Alle Funktionen finden Sie in der linken unteren Ecke des Editors. Wenn Sie den Mauszeiger über die Symbole bewegen, werden die Funktionen angezeigt.
- Um die Skizze zu erstellen, klicken Sie auf "Erstellen" und um die Skizze hochzuladen, klicken Sie auf das Symbol "Hochladen". Wenn der Upload abgeschlossen ist, können Sie die zum Hochladen benötigte Zeit mit allen anderen Details und der Meldung "Erfolgreich" anzeigen. Der Code wurde erfolgreich hochgeladen und Sie können das Blinken der LED auf dem Arduino Board sehen.
Um einen COM-Anschluss auszuwählen oder zu ändern, rufen Sie einfach den PlatformIO-Startbildschirm und dann die Geräte auf. Hier sehen Sie alle verfügbaren angeschlossenen Geräte. Wählen Sie den entsprechenden COM-Anschluss aus und gehen Sie genauso vor, um die Skizze hochzuladen.
Programmierung der STM32-Karte mit der PlatformIO-IDE
Das Programmieren der STM32-Karte hat genau ähnliche Schritte wie das oben erläuterte Programmieren von Arduino UNO. Der Unterschied besteht darin, dass das Board für STM32 ausgewählt wird, wenn ein neues Projekt für STM32 geöffnet wird. Das Gute an PlatformIO ist, dass es kein externes Paket benötigt, damit ein Board separat heruntergeladen werden kann. Es lädt automatisch alle Pakete herunter und erleichtert uns die Auswahl eines Boards und den Wechsel zum Editor. Wir werden einen externen JLink / JTAG / STLink / Serial Programmer verwenden, um eine Skizze auf STM32 hochzuladen. STM32 kann auch mit Arduino IDE programmiert werden. Fahren Sie mit den folgenden Schritten fort, um es mit PlatformIO zu programmieren.
- Nennen Sie einfach das Projekt (hier ist es 'Blink STM32'). Wählen Sie dann die Karte für STM32 aus, dh ' BluePill F103C8 (Generic) '. Wählen Sie dann Framework als Arduino. Klicken Sie auf Fertig stellen und warten Sie einige Zeit, da das Herunterladen der Pakete und Abhängigkeiten für Board STM32 zunächst einige Zeit in Anspruch nimmt.
- Nach dem Einrichten ist die nächste Projekterstellungszeit kürzer als die erste. Gehen Sie jetzt einfach im linken Datei-Explorer zu Untitled (Workspace) -> src -> main.cpp.
- Jetzt werden die bevorstehenden Schritte wichtig sein, da entschieden werden muss, welchen Programmierer wir zum Programmieren des STM32-Boards verwenden sollen. Es stehen viele Programmierer wie JTAG, STLink, JLink, Serial usw. zur Verfügung. Alle funktionieren, aber Sie müssen die Konfigurationsseite oder -datei 'platformio.ini' konfigurieren.
- In diesem Projekt verwenden wir den Serial Programmer CP210x USB to UART Bridge. Wir haben die STM32F103C8-Karte bereits über den USB-Anschluss programmiert. Die meisten Schritte werden nur von dort aus ausgeführt. Sie können den Link besuchen und mehr darüber erfahren.
- Zur einem Connect - Serienprogrammierer auf STM32 - Board mit folgenden Pin - Mapping und schließen Sie es an PC.
USB zu Serial Programmer |
STM32-Karte |
5V |
5V |
Gnd |
Gnd |
Rx |
A9 |
Tx |
A10 |
- Gehen Sie nun zum Projektexplorer und öffnen Sie die Seite 'platformio.ini' und ändern Sie die Anweisung wie im Bild gezeigt. Das upload_protocol gibt an, welchen Programmierer verwendet werden soll (STLink, JLink, Serial usw.). Der upload_port wählt den COM-Port aus. Sie finden dies unter "Geräte" auf der Startseite. Ändern Sie den COM-Anschluss entsprechend Ihrem COM-Anschluss.
- Gehen Sie zur 'main.cpp' und ändern Sie das Programm in Blink- Programm. Laden Sie jetzt einfach das Programm hoch und es zeigt die Erfolgsmeldung und die zum Hochladen benötigte Zeit an. Jetzt beginnt die LED am PC13-Pin der STM32-Karte zu blinken.
Damit ist das vollständige Tutorial zur Programmierung des Arduino UNO sowie des STM32-Boards mit PlatformIO abgeschlossen. Wenn Sie beim Befolgen der Schritte auf Schwierigkeiten stoßen, schreiben Sie bitte in unser Forum oder kommentieren Sie unten.