PlatformIO

PlatformIO ist eine kommandozeilen-basierte Entwicklungsumgebung (es gibt auch eine grafische IDE), mit der sich sehr komfortabel verschiedenste Mikrocontroller-Boards im Handumdrehen programmieren lassen. PlatformIO sorgt dafür, dass alle nötigen Tools, die für das entsprechende Board gebraucht werden, installiert werden. Auch Arduino-Bibliotheken lassen sich sehr leicht nachinstallieren.

PlatformIO installieren

Zuerst Linuxbrew installieren:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"
$ PATH="$HOME/.linuxbrew/bin:$PATH"
$ echo 'export PATH="$HOME/.linuxbrew/bin:$PATH"' >>~/.bash_profile

Jetzt kann mit Linuxbrew PlatformIO installiert werden:

$ sudo apt-get update
$ brew install platformio

Wemos D1 Mini (Pro)

Foto eines Wemos-D1-mini-Boards
Wemos D1 mini (CC BY 4.0 Diego Jahn)

Board anschließen

Vor dem Anschließen System-Logs anzeigen lassen:

$ tail -f /var/log/syslog

Wenn das Board per USB angeschlossen wird, sollte u. a. eine ähnliche Zeile wie diese hier dabei sein:

Mar 14 00:17:14 bastelpi kernel: [ 4376.415714] usb 1-1.2: ch341-uart converter now attached to ttyUSB0

Das Board ist also in diesem Fall Gerät ttyUSB0.

Tipp

Man findet das Board auch mit dem Befehl ls -l:

$ ls -l /dev/ttyUSB*
crw-rw-rw- 1 root dialout 188, 0 Mär 14 00:17 /dev/ttyUSB0

Neues Arduino-Projekt anlegen

Zuerst legen wir einen neuen Ordner für unser Projekt an und wechseln in diesen Ordner.

$ mkdir hello-world
$ cd hello-world

Mit $ platformio boards können wir uns alle von PlatformIO unterstützten Boards anzeigen lassen. Weil da jede Menge Geräte gelistet werden, ist es sinnvoll, die Ausgabe auf die gesuchte Plattform einzugrenzen, in diesem Beispiel auf den Hersteller “WeMos”.

$ platformio boards | grep WeMos

Wir erhalten dann folgende Ausgabe:

$ platformio boards | grep WeMos
d1                    ESP8266        80Mhz     4096kB  80kB   WeMos D1(Retired)
d1_mini               ESP8266        80Mhz     4096kB  80kB   WeMos D1 R2 & mini

Unser neues Projekt legen wir an mit:

$ platformio init --board d1_mini

Tipp

Die Ausgabe verrät schon alle wichtigen Informationen, die wir für die Programmierung des Boards brauchen:

The next files/directories have been created in /home/pi/coding/arduino/nodemcu/wemos/cansat-2017/hello-world
platformio.ini - Project Configuration File
src - Put your source files here
lib - Put here project specific (private) libraries

Project has been successfully initialized!
Useful commands:
`platformio run` - process/build project from the current directory
`platformio run --target upload` or `platformio run -t upload` - upload firmware to embedded board
`platformio run --target clean` - clean project (remove compiled files)
`platformio run --help` - additional information

In den neu entstandenen Ordner src muss die Ino-Datei (hier darf es nur eine mit der Endung “.ino” geben).

Tipp

Du kannst überprüfen, ob die o. g. Ordner alle angelegt worden sind, indem du ls -leingibst.

$ ls -l
insgesamt 12
drwxr-xr-x 2 pi pi 4096 Mär 15 08:22 lib
-rw-r--r-- 1 pi pi  439 Mär 15 08:22 platformio.ini
drwxr-xr-x 2 pi pi 4096 Mär 15 08:22 src

Mit den Befehlen platformio run kompiliert man das Programm. Gibt man platformio run --target upload ein, wird das Programm nicht nur übersetzt, sondern auch direkt auf das Board geladen und dort ausgeführt. Letzterer vereint also praktischerweise das Kompilieren und die Übertragung aufs Board. Diesen Befehl wirst du somit in aller Regel am häufigsten brauchen.

Tipp

Du kannst statt platformio auch den kürzeren Alias pio eingeben, bspw.

$ pio run --target upload

Hinterlasse einen Kommentar

Deine E-Mail Adresse wird nicht veröffentlicht. Benötigte Felder sind markiert *

Lade...