PlatformIO

Seit ich ESPHome ausprobiert habe bin ich wirklich begeistert. Als Framework benutzt es PlatformIO und deswegen wollte ich es mal ausprobieren.

Obwohl es nicht in der offiziellen Anleitung steht kann man PlatformIO sehr leicht mit poetry installieren:

poetry init
poetry add platformio

Ich habe ein paar billige Arduino Nano Klone gekauft, die ich damit programmieren möchte. Das PlatformIO Setup sieht wie folgt aus:

poetry shell
pio project init --board nanoatmega328

Eine volle Liste der Boards findet man hier. Die Datei platformio.ini sollte ungefähr so aussehen:

[env:nanoatmega328]
platform = atmelavr
board = nanoatmega328
framework = arduino

Hier ist ein einfaches Beispiel aus der Quickstart Seite zum Testen.

src/main.cpp:

/**
 * Blink
 *
 * Turns on an LED on for one second,
 * then off for one second, repeatedly.
 */
#include "Arduino.h"

#ifndef LED_BUILTIN
#define LED_BUILTIN 13
#endif

void setup()
{
  // initialize LED digital pin as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
  // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED_BUILTIN, HIGH);

  // wait for a second
  delay(1000);

  // turn the LED off by making the voltage LOW
  digitalWrite(LED_BUILTIN, LOW);

   // wait for a second
  delay(1000);
}

Den Code kann man mit PlatformIO kompilieren und flashen:

pio run
pio run -t upload

Das zweite Kommando sollte den Code auf den Controller laden.