COVID-19 (Coronavirus): Live-Ticker mit Sense HAT #MonthOfMaking

Kein Kommentar Autor: Jürgen (jdo)

Aus zwei aktuellen Anlässen ist hier nun mein Beitrag zum Coronavirus COVID-19 und zum #MonthOfMaking von der Raspberry Pi Foundation. Wenn sich zwei Fliegen schon mit einer Klappe schlagen lassen, dann sollte man das auch tun, oder? Da wir sowieso alle dem Untergang geweiht sind, ist es besser, den Beitrag so schnell wie möglich zu veröffentlichen. Schon bald wird ihn möglicherweise niemand mehr lesen können. Am Freitag ist auch noch der 13.! Uns bleibt wirklich nichts erspart …

Mein Freund aus Australien hat mir von Hamster- oder Panik-Käufen in Australien erzählt. Eine Frau hat 196 Rollen Klopapier gekauft. Beim Klopapier stehen in einigen Supermärkten nun Aufsichten, damit jeder nur eine bestimmte Menge kaufen kann. 196 Rollen – also, selbst wenn man eine Rolle pro Tag verscheißt … die Panik ist schlimmer als das Virus, wie mir scheint.

Ich mag den Podcast des NDR, in dem der Virologe Professor Christian Drosten Fakten nüchtern erklärt, sehr gern. Er ist gut, hilfreich und rückt die Situation doch sehr ins rechte Licht. Er spricht Tacheles und benutzt dann auch schon Ausdrücke wie gefährliches Halbwissen, wenn es angemessen ist. Einfach reinhören, das lohnt sich.

Wo bekomme ich die Daten her?

Die Updates für die Daten bekomme ich von https://covid19.mathdro.id/api, beziehungsweise möchte ich die Daten für Deutschland haben und benutze deswegen die URL https://covid19.mathdro.id/api/confirmed. Das Ergebnis sieht dann zum Beispiel so aus:

Covid-19 (Coronavirus) in Deutschland

COVID-19 (Coronavirus) in Deutschland

Um die URL abzufragen, benutze ich cfscraper. Ich weiß nicht, ob es in diesem Fall notwendig ist, aber bei meinem Bitcoin-Tracker brauche ich es, da sonst Cloudflare dazwischenfunkt. Du kannst es via PIP installieren. Ist das nicht vorhanden, dann installiere es:

sudo apt install python3-pip

Danach folgt ein

pip3 install cfscrape

Ebenso kannst Du gleich überprüfen, ob Sense HAT bereits installiert ist:

sudo apt-get install sense-hat

Der Live-Ticker zu COVID-19 (Coronavirus)

Nun habe ich alle Komponenten, um an die Daten zu kommen. Mein Programm sieht so aus – ich frage nur die Daten aus Deutschland ab und lasse sie über meinen Sense HAT anzeigen.

from sense_hat import SenseHat
import json
import cfscrape

sense = SenseHat()
scraper = cfscrape.create_scraper()

blue = (0, 0, 255)
yellow = (255, 255, 0)
red = (255, 0, 0)
green = (0, 255, 0)
black = (0, 0, 0)

url = 'https://covid19.mathdro.id/api/confirmed'
cfurl = scraper.get(url).content
data = json.loads(cfurl)

infectedDE = data[8]['confirmed']
deathsDE = data[8]['deaths']
recoveredDE = data[8]['recovered']

sense.set_rotation(90)
sense.show_message(str(infectedDE), text_colour=yellow, scroll_speed=0.1)
sense.show_message(str(deathsDE), text_colour=red, scroll_speed=0.1)
sense.show_message(str(recoveredDE), text_colour=green, scroll_speed=0.1)

sense.clear()

Die bestätigten Infektionen werden in Gelb angezeigt. Bestätigte Todesfälle gibt es in Deutschland derzeit keine und deswegen wird der Sense HAT eine rote 0 aus. Wiedergenese Menschen werden in Grün angezeigt.

Die Zeile sense.set_rotation(90) brauche ich, weil mein Sense HAT nach außen verlegt ist und an der Wand hängt. Vielleicht ist das bei Dir nicht notwendig. Wie Du siehst, reicht für so eine kleine Spielerei sogar ein Raspberry Pi A+ aus. Ein Pi Zero W würde natürlich auch funktionieren, wenn die Pins entsprechend vorhanden sind.

Sense HAT hängt an der Wand und zeigt die Zahlen zu COVID-19 an

Sense HAT hängt an der Wand und zeigt die Zahlen zu COVID-19 an

Update: Dass sich die Zahlen laufend verändern, war zu erwarten. In der Zwischenzeit gibt es leider auch erste Todesfälle in Deutschland.

Du kannst das Script anpassen, wie Du möchtest. Vielleicht willst Du ein anderes Land haben, oder mehrere Länder oder auch die weltweiten Daten.

Update: Daten ändern sich

Deutschland ist nun auf einmal an Stelle 7 und nicht mehr wie oben beschrieben an 8. Aber das ist egal, da wir sowieso den ganzen Datensatz laden. Dann fragen wir eben ab, wo Deutschland steht und weisen die Variablen entsprechend zu. Das Script ändert sich wie folgt:

from sense_hat import SenseHat
import json
import cfscrape

sense = SenseHat()
scraper = cfscrape.create_scraper()

blue = (0, 0, 255)
yellow = (255, 255, 0)
red = (255, 0, 0)
green = (0, 255, 0)
black = (0, 0, 0)

url = 'https://covid19.mathdro.id/api/confirmed'
cfurl = scraper.get(url).content
data = json.loads(cfurl)

for val in data:
    if val['countryRegion'] == 'Germany':
        infectedDE = val['confirmed']
        deathsDE = val['deaths']
        recoveredDE = val['recovered']

sense.set_rotation(90)
sense.show_message(str(infectedDE), text_colour=yellow, scroll_speed=0.1)
sense.show_message(str(deathsDE), text_colour=red, scroll_speed=0.1)
sense.show_message(str(recoveredDE), text_colour=green, scroll_speed=0.1)

sense.clear()

Damit bis Du dann auf der sicheren Seite.

Nette Pi-Konstellation

Dich interessieren Kryptowährungen? Ich handle via Binance*.

Am schnellsten kaufst Du Kryptowährungen / Bitcoin über Coinbase*.

Du kannst gerne Deinen Senf zu diesem Beitrag geben: Hier geht es zu den Kommentaren




NordVPN - günstig und ideal für Anfänger
 Alle Kommentare als Feed abonnieren

Antworten

Air VPN - The air to breathe the real Internet