Private Credentials (z.B. Wifi-Passwort) ablegen
Damit private Credentials wie Passwörter oder API-KEYs nicht versehentlich mit einem Projekt mitveröffentlicht werden, bietet es sich an, diese in einer speziellen Stelle im Home/User-Verzeichnis abzulegen und nur per Include ins Projekt zu holen.
Im Home (Unix/Linux/MacOS) bzw. User (Windows) Verzeichnis gibt es einen versteckten .platformio Ordner.
Der Pfad unter Windows ist: C:\Users\<USERNAME>\.platformio.
Unter Mac/Linux/Unix ist der Pfad ~/.platformio/. Beim Mac-Finder muss ggf. Command + Shift + . gedrückt werden, damit die versteckten Ordner sichtbar werden.
Unter diesem .platformio Ordner nun folgende Ordnerstruktur mit der MyCreds.h-Datei erstellen:
.platformio/lib/MyCreds/MyCreds.h
Es können auch mehrere Dateien mit anderen Namen im MyCreds-Ordner liegen, z.B. eine MyCredsHackffm.h.
Diese Datei bekommt dann z.B. folgenden Inhalt:
#ifndef WIFI_SSID #define WIFI_SSID "MyWiFiSSID" #define WIFI_PASSWORD "MyWiFiPassword" #endif
Im PlatformIO-Projekt kann man dann einfach auf diese Credentials zugreifen:
#include <WiFi.h> #include <MyCreds.h> ... void setup() { ... WiFi.mode(WIFI_STA); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { Serial.print('.'); delay(500); } Serial.print("IP address: "); Serial.println(WiFi.localIP()); ... }
Temporäre Dateien nicht archivieren (.gitignore / seafile-ignore.txt)
Bei jedem Kompilieren werden viele temporäre Dateien erzeugt, insbesondere werden die Bibliotheken komplett geladen. Das macht sich nicht gut, wenn man seine Projekte in GIT oder auch Cloudspeichern ablegen will - gerne kommen Cloudspeicher da durcheinander, wenn sehr viele Dateien beim Build-Prozess umgebaut werden. Das kann man mit entsprechenden Ingore-Dateien verhindern:
Seafile
Die seafile-ignore.txt Datei muss ins Hauptverzeichnis der Seafile-Bibliothek, wo irgendwo das PlatformIO-Projekt liegt.