In 15 Minuten zum eigenen C++ Programm zum ausgeben der Systemtemperatur des Raspberry Pi Zero W – Teil 2

In der ersten Lektion haben wir in 15 Minuten gesehen wie wir checken können ob C++ auf dem Raspberry Pi installiert ist und haben unser 1. eigenes C++ Programm auf dem Pi mit der Kommandozeile erstellt, compiliert und ausgeführt.

Nun wollen wir auf dem Pi, in 15 Minuten die erste Klasse erstellen, da wir ja Objektorientiert programmieren wollen. Dazu erstellen wir mit dem vi ein einfache Klasse zum ausgeben der Temperatur des Pi.

Wir nennen die Klasse Temperatur. Damit wir nicht alles in einer Datei haben, erstellen wir für jedes Objekt eine eigene Datei. Also zuerst die Deklaration in der Temperatur.h:

Wir haben also eine Methode, ausgeben() deklariert. Damit diese Header Datei nicht mehrfach includet wird, definieren wir die __TEMPERATUR_INCLUDE__

So, jetzt noch die eigentliche C++ Datei Temperatur.cpp mit der Implementierung der Temperatur:

Wir brauchen da noch zwei Import Dateien für das Aufrufen der system und ifstream Funktionen. Es ist eigentlich nicht so gut, Betriebssystem abhängige Funktionen aufzurufen. Aber wir bleiben auf dem Raspberry Pi. Und es geht hier nur um C++. Es wird die Temperatur, die in der temp Datei steht in eine neue Datei temp.txt geschrieben und dann mit read Buffer gelesen und ausgeben.

So nun noch das Hauptprogramm programm-2.cpp:

Oben, mit der include Anweisung, binden wir die Deklaration der Temperatur.h Datei ein. In der main() Methode erzeugen wir eine Instanz und rufen die ausgeben() Methode auf.

So, jetzt compilieren wir die zwei Dateien. Aber dieses mal im Ansi Modus und mit allen Warnungen.

So, wenn es keine Fehler gab, führen wir das Programm mit

./start-prg-2

aus. Mit diesem Ergebnis:

Super, es wird jetzt die Temperatur ausgegben.

Hausaufgabe:

Dieser Wert muss noch durch 1000 geteilt werden um die Temperatur zu erhalten.

Wer postet die notwendigen Änderungen als erster? So das folgendes ausgegeben wir:

Temperatur 36,318 Grad Celsius

Entweder hier auf dem Blog, oder besser als Pull Request auf Github.