Am Puls von Microsoft

Wochenendprojekt: Mit dem Raspberry Pi das Raumklima in Excel visualisieren

Wochenendprojekt: Mit dem Raspberry Pi das Raumklima in Excel visualisieren

Ein Gastbeitrag von Tobias Scholze.

Meine Motivation: Es ist immer schön zu wissen, wie man denn eigentlich Szenario XYZ mit den selbst zur Verfügung stehenden Möglichkeiten realisieren könnte.

Dies führte dazu, dass ich gern mein Raumklima über den Tag hinweg visuell aufbereitet betrachten wollte. An heißen Sommertagen kann es beispielsweise sehr interessant sein, wie sich die Temperatur zur Helligkeit im Raum verhält.

Da dies, zumindest für einen Prototypen, in der heutigen Zeit anscheinend mit wenig Aufwand realisiert werden kann, widmete ich mich ein Wochenende lang der Lösung dieses Szenarios.

Benötigte Komponenten

Da der Datenschreibling möglichst lange durchlaufen soll, hierbei jedoch wenig Platz und Strom verbrauchen soll und darüber hinaus zum Zweck der Messgenauigkeit wenig eigene Abwärme produzieren sollte, fiel hierbei die Wahl auf den kleinen und sehr preisgünstigen Raspberry Pi Z (günstige / empfohlene Variante), welcher von einem Raspbian Linux gesteuert wird.

Mit dem Raspberry Pi das Raumklima in Excel visualisieren

Mit dem Raspberry Pi das Raumklima in Excel visualisieren

Als zentrale Platine für alle Sensoren ist ein ebenfalls sehr günstiger Pimoroni enviro pHAT auf dem Raspberry Pi angebracht.

Da auf modernen Linux-Systemen python3 und pip3 bereits vorinstalliert sind und das Skript gegen diese entsprechende Version 3.5 entwickelt wurde, entfällt hier eine weitere Vorbehandlung des Betriebssystems.

Optional sind Hilfsmittel wie ein Adapterset für den Raspberry Pi Z als auch eine entsprechende Tastatur- und Maus-Kombination, zum Beispiel die Logitech K400+, sinnvoll.

Ablauf vom Pi zu Azure zu Excel

Als Allererstes muss, um auf Excel via der Microsoft Graph API zugreifen zu können, eine entsprechende App im Azure Active Directory angelegt werden (Microsoft Docs Artikel). Hierüber erfolgt die Zugriffsrechteverwaltung der App. Hierbei wird festgelegt, welche Rechte der Benutzer des Skripts einräumen muss, damit es Daten speichern kann. Das bisherige Microsoft App Registration Portal wurde abgekündigt – dennoch ist es noch in vielen Anleitungen aus Redmond zu finden.

Mit dem Raspberry Pi das Raumklima in Excel visualisieren

Das Skript fragt aus Gründen der Simplizität des Quelltextes bei jedem Start den Benutzer nach einer erneuten Legitimation. Dies geschieht über eine spezielle Webseite von Microsoft, wo der Anwender des Skriptes einen im Terminal angezeigten Code eintragen muss. Anschließend wird automatisch das Programm darüber informiert, dass der Vorgang erfolgreich war. Hierbei wird auch gleich der eigentliche Schlüssel zur Benutzung der Graph API mit übertragen.

Anschließend startet ein Timer alle zehn Minuten eine Messung und einen zeitgleichen Push in das zuvor nach OneDrive kopierten Excel Sheet.

Mit dem Raspberry Pi das Raumklima in Excel visualisieren

Mit dem Raspberry Pi das Raumklima in Excel visualisieren

Anschließend können die Daten in Excel mittels Diagrammen und sonstigen Features der Tabellenkalkulation ausgewertet und visualisiert werden. Excel Online muss, um neue Werte anzuzeigen, nicht zwingend geschlossen und wieder geöffnet werden. Ein Live-Update wird automatisch ausgeführt.

Die exakte Bedienung und Voraussetzungen sind im Repository des Programms auf GitHub hinterlegt.

Wieder etwas gelernt

Wie bei jedem Wochenendprojekt nimmt man am Ende einige neue Erkenntnisse mit. Einerseits hat sich das Offensichtliche bewahrheitet und der Aufbau ist nicht wirklich für konkrete Werte geeignet. Durch die Nähe zwischen Sensoren und dem heißen Prozessor des Pis können manche Messwerte wie die Temperatur eher als Trend angesehen werden. Nichtsdestotrotz: Daten sammeln, auswerten und Rückschlüsse ziehen zu können ist immer großartig – so lang es nur die eigenen sind. Andererseits macht es Microsoft es hier eventuell auch recht schwer, Hobbyisten und Maker anzusprechen.

Fazit

Es funktioniert. Nachdem die ersten Hürden in Form verschiedentlich gealterter Anleitungen überwunden wurden, lief die Entwicklung, wie es sich für ein Wochenendprojekt gehört, stressfrei und zielführend voran.

Es ist schade, dass für dieses Szenario durch die Verknüpfung mit dem Azure Active Directory anscheinend wirklich ein Arbeits- oder Schulkonto benötigt wird. Office 365 Home/Personal ist nicht ausreichend.

Mögliche Erweiterungen

Wie am Anfang des Beitrages erwähnt, ist dies ein Prototyp, wie ein solches Szenario realisiert werden könnte. Für exaktere Messwerte kann beispielsweise entweder ein Abstandshalter für den pHAT verwendet werden,  oder man tauscht den enviro pHAT gegen ein höherwertiges enviro+ HAT mit externen Komponenten wie einem Partikelmassenmesser aus.

Alternativen

Wer kein O365-Benutzer in einem Arbeits- oder Schul-Tenant ist, kann zum Beispiel ein anderes Skript (GitHub) nutzen, welches ebenfalls dieselbe Hardware nutzt, stattdessen aber ein Google Docs Sheet als Datenendpunkt. Dies ist mit jedem Google-Konto realisierbar.

Quellcode

Die Quelldateien sowie eine Excel Datei, welche als Template verwendet werden kann, sind im Repository auf GitHub frei verfügbar. Forken, Mitentwickeln und Bewerten ist ausdrücklich erwünscht.

Ebenfalls wünschenswert wäre die Mithilfe bei dem Ziel, dieses Programm mehreren Microsoft Account-Typen zugänglich zu machen.

Danke an dieser Stelle an Raphael Koellner (Twitter, Blog) für die Bereitstellung eines entsprechenden O365-Benutzers.

Über den Autor

Dr. Windows

Dr. Windows

Dies ist der allgemeine Redaktions-User von Dr. Windows. Wird verwendet für allgemeine Ankündigungen, Anzeigen- und Gastartikel

Anzeige