Mein ThingSpeak Setup

Schon etliche Jahre betreibe ich einen Temperatur Sensor DS18B20 bei ThingSpeak. Aber irgendwann dieses Jahr ist mir mein Raspberry abgeschmiert und lieferte keine Daten mehr.

Mein ThingSpeak Channel

Heute hatte ich endlich die Muse mich um das kleine Kästchen zu kümmern. Wie sich herausstellte ist die SD Card korrupt. Also der Supergau. Das Raspian stammte von Mai-2016 (nicht schlecht, 3 1/2 Jahre)

Dieser Beitrag zeigt wie ich meinen Raspberry wieder zum Leben erweckt habe. Also eine Komplettinstallation und die Installation meiner Python Tools und Skripte.

Das Basis Setup

Als erstes einmal das aktuelle Raspian heruntergeladen.

Wie man es installiert und auf die SD Karte bringt habe ich ja schon beschrieben. Siehe Quickstart V3 und Quickstart V2. Nur auf die WLAN Konfiguration habe ich verzichtet, da mein Raspi kein WLAN besitzt und auch bisher am LAN hängt.

Updating to STABLE Kernal

Bisher bin ich immer davon ausgegangen, dass

sudo rpi-update

den aktuellen, stabilen Linux kernel und Raspberry Pi firmware installieren.

Wie ich aber nun in der “Updating the Kernal” Seite lese, bekomme ich möglicherweise Beta und instabile Version. Das richtige Vorgehen ist:

sudo apt update
sudo apt install --reinstall raspberrypi-bootloader raspberrypi-kernel

Aktuelle Version des Bootloader und des Kernel abfragen:

uname -a
Linux pi-thingspeak 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux

Hier noch einmal der komplette Update/Upgrade Weg:

First, update your system's package list by entering the following command:

# sudo apt update

Next, upgrade all your installed packages to their latest versions with the following command:

# sudo apt full-upgrade

Note that full-upgrade is used in preference to a simple upgrade, as it also picks up any dependency changes that may have been made. 

VNC aktivieren

Wie in meinem Post aus 2018 erklärt, ist RealVNC Teil der Installation. Einfach der Anleitung auf Raspberry.org folgen.

Python Files kopieren

Nachdem nun alles normal funktioniert:

  • SSH
  • VNC
  • User Settings
  • upgrade und update

kopiere ich meine BACKUP Dateien wieder in das pi Home Verzeichnis.

DS18B20 aktivieren

Als nächstes den Temperatur Sensor aktivieren und mit einem kleinen Script local testen. Infos zum Sensor habe ich in einem Beitrag zusammengefasst.

Device Treiber aktivieren. Das geht auch über das Rasp-Config Tool:

Sensor device am w1 bus identifizieren (könnte jetzt anders sein).

Mit Script example_ds18b20_sensor.py den Sensor local prüfen.

LED testen

Mein Script verwendet auch noch eine LED.

ThingSpeak manuell testen

Als erstes einmal das Testskript laufen lassen, das eine einfach Status Meldung absetzt:

Nun kommt der entscheidende Schritt. Das Python Script zum Senden eines Temperatur Wertes alle 15min starten.

Nun ein paar Stunden laufen lassen und prüfen, ob auch ThingSpeak allmählich eine Kurve erscheint und auch die anderen Daten vernünftig aussehen.

Skript im systemd etablieren

Dazu habe ich schon einen Beitrag geschrieben. Das Konfigurations Skript habe ich natürlich noch. Raspberry.org hat auch eine gute Beschreibung.

Die Raspberry Anleitung verweist auch auf diese Seite:

Raspberry Pi: 1-wire & DS18B20

DS18B20 Prinzip

Bei dem DS18B20 handelt es sich um einen kalibierten Temperatur Sensor. Er wird an einem 1-wire Draht betrieben und kommt somit mit drei Leitungen aus: +3.3V, GND, Data. Er wird in zwei Arten vertrieben: als Bausstein TO-92 Gehäuse (wie ein Transistor) als Outdoor gekapselter Sensor mit Drahtleitung.

DS18B20-TO92
Im TO-92 Gehäuse

DS18B20-WaterProof
Wasserdicht mit Kabel

DS18B20 Anschluss

An den Raspberry wird der DS18B20 wie in der folgenden Abbildung angeschlossen. Das Data Pin (4) kann variieren, muss dann aber im Treiber entsprechend konfiguriert werden.

Anschluss-DS18B20

DS18B20 Software Konfiguration

Als erstes muss der Device Treiber aktiviert werden. Dazu in der Datei /boot/config.txt den folgenden Eintrag ergänzen:

# enable 1-wire module for DS18B20
dtoverlay=w1-gpio,gpiopin=4

Über den optionalen parameter gpiopin kann auch ein anderer PIN am Raspberry gewählt werden. Danach den Raspberry rebooten!

 

Quellen