Es gibt sicherlich viele (mich eingeschlossen), die häufig die Nachrichten über Google News ansehen. Das hat den Vorteil, dass man verschiedene Quellen und Themen sieht.
Daher habe ich mir gedacht, ob es nicht nützlich wäre eine Art Live-Feed mittels des Raspberry Pi’s auf einem kleinen LCD Display zu erstellen, sodass die wichtigsten Nachrichten angezeigt werden. Wie das geht, zeige ich hier.
Hardware
- HD44780 LCD Display (umso größer, umso mehr Text kann dargestellt werden)
- Potentiometer (Poti) 10kΩ
- Jumper Kabel
Wie man das LCD Display benutzt habe ich bereits hier gezeigt. Solltest du damit noch nicht vertraut sein, rate ich den Post erst zu lesen.
Software
Zu erst einmal müssen folgende Pakete installiert werden:
sudo apt-get install python-rpi.gpio
sudo apt-get install python-pip
sudo pip install simplejson
Nun kann die Datei die ich erstellt habe herunter geladen, ausführbar und ausgeführt werden.
wget https://tutorials-raspberrypi.de/wp-content/uploads/scripts/news.py chmod +x news.py python news.py
In der Datei kannst du die GPIO Belegung sowie die Parameter für Google News verändern. Ich habe standardmäßig die Schlagzeilen genommen (ohne Suchwort). Du findest eine Beschreibung der Parameter hier.
Das sieht dann z.B. so aus:
Noch eine kleine Anmerkung: Der Unicode der Sonderzeichen (die Google sendet) stimmt nicht (immer) mit dem der HD44780 Char-Tabelle überein. Meistens ist dieser um 7 verschieden, daher habe ich diesen entsprechend angepasst. Das hat in meinen Tests meistens geklappt, aber nicht immer. Sollte jemand eine bessere Lösung finden (nicht unbedingt mit hunderten Cases) würde ich mich freuen, wenn er diese teilt 🙂
37 Kommentare
Geht das auch auf einem Touch Display? z.B. C-Berry Touch? Wenn ja wie.
Klar geht das. Wie du einen Touchscreen anschließt und konfigurierst erfärst du z.B. hier. Wenn der Bildschirm erstmal funktioniert muss nur noch ein kleines Programm in der Sprache deiner Wahl geschrieben werden, dass die Daten von der Google API holt und anzeigt. Alternativ kannst du auch im Vollbildmodus GoogleNews im Browser aufrufen und mit ein wenig Javascript Code (oder einem Addon für den Browser) die Seite alle paar Minuten aktualisieren lassen.
Ich hoffe das hilft dir weiter.
Geht das auch auf einem Touch Display? z.B. C-Berry Touch? Wenn ja wie.
Klar geht das. Wie du einen Touchscreen anschließt und konfigurierst erfärst du z.B. hier. Wenn der Bildschirm erstmal funktioniert muss nur noch ein kleines Programm in der Sprache deiner Wahl geschrieben werden, dass die Daten von der Google API holt und anzeigt. Alternativ kannst du auch im Vollbildmodus GoogleNews im Browser aufrufen und mit ein wenig Javascript Code (oder einem Addon für den Browser) die Seite alle paar Minuten aktualisieren lassen.
Ich hoffe das hilft dir weiter.
Könntest du so ein Programm schreiben?
Ja, bestimmt. Wenn du dir die Programmierung nicht zutraust, versuch doch mal meinen zweiten Vorschlag und lass es testweise im Browser unter Vollbild laufen.
Danke werd ich machen
Passt such die Webseite der Auflösung an oder wird dann nur ein Teil angezeigt?
Das kann gut sein, kommt natürlich auch auf die Bildschrimgröße an. Ansonsten kannst du auch mal schauen, ob der Browserzoom funktioniert.
Könntest du so ein Programm schreiben?
Ja, bestimmt. Wenn du dir die Programmierung nicht zutraust, versuch doch mal meinen zweiten Vorschlag und lass es testweise im Browser unter Vollbild laufen.
Danke werd ich machen
Passt such die Webseite der Auflösung an oder wird dann nur ein Teil angezeigt?
Das kann gut sein, kommt natürlich auch auf die Bildschrimgröße an. Ansonsten kannst du auch mal schauen, ob der Browserzoom funktioniert.
Gibts die news.py auch zum download für ein 4×20 LCD?
auf 20 zeichen ist kein problem zu ändern aber es auf 4 zeilen dazustellen
Ich habe kein 4 zeiliges Display da, aber du darfst die Datei gerne bearbeiten.
Gibts die news.py auch zum download für ein 4×20 LCD?
auf 20 zeichen ist kein problem zu ändern aber es auf 4 zeilen dazustellen
Ich habe kein 4 zeiliges Display da, aber du darfst die Datei gerne bearbeiten.
Ich habe „news.py“ installiert, es funktioniert auch eine Weile, dann wir es mit der Meldung „Hoppla. Es ist etwas schief gelaufen“ beendet.
Woran kann das liegen?
Mein System: Raspberry Pi 2 mit Debian Jessy, Display mit 2 Zeilen.
Wenn du die Datei bearbeitest, schau mal ab Zeile 141 (try Block). Einer der dortigen Befehle verursacht einen Fehler, was höchstwahrscheinlich
loadURL()
sein wird. Die URL wird demnach nicht geladen werden können. Du kannst ja mal loggen und schauen, woran es liegt.Ich habe „news.py“ installiert, es funktioniert auch eine Weile, dann wir es mit der Meldung „Hoppla. Es ist etwas schief gelaufen“ beendet.
Woran kann das liegen?
Mein System: Raspberry Pi 2 mit Debian Jessy, Display mit 2 Zeilen.
Wenn du die Datei bearbeitest, schau mal ab Zeile 141 (try Block). Einer der dortigen Befehle verursacht einen Fehler, was höchstwahrscheinlich
loadURL()
sein wird. Die URL wird demnach nicht geladen werden können. Du kannst ja mal loggen und schauen, woran es liegt.Danke für den Tip. Verwendet man statt „topic=h“, w oder n, kommt der Fehler nicht mehr vor.
Der Parameter gibt die Kategorien der News an. Zum Beispiel steht
h
für die Headlines,w
bzw.n
für (inter-)nationale Nachrichten.https://developers.google.com/news-search/v1/jsondevguide#json_urlbase
Danke für den Tip. Verwendet man statt „topic=h“, w oder n, kommt der Fehler nicht mehr vor.
Der Parameter gibt die Kategorien der News an. Zum Beispiel steht
h
für die Headlines,w
bzw.n
für (inter-)nationale Nachrichten.https://developers.google.com/news-search/v1/jsondevguide#json_urlbase
Hallo,
erstmal möchte ich sagen dass ich alles was du schreibst sehr gut finde und auch gut erklärt ist. Da ich neu auf diesem Gebiet bin würde ich dich gerne etwas Fragen.
Du kennst ja vielleicht den Magic Mirror „https://www.raspberrypi.org/blog/magic-mirror/“ aber da wird nur das Wetter und die Uhrzeit dargestellt. Geht es das man sich mithilfe der Google Maps API den Fahrtweg zur Arbeit anzeigen lässt?
Hallo Lennard,
ich kenne das Projekt, aber habe es nicht selbst nachgebaut. Dein Vorhaben sollte aber mit der Google Maps API möglich sein. Die GPS Koordinaten kannst du z.B. hiermit rausfinden: GPS Ortung / Navigation mit dem Raspberry Pi
Hallo,
erstmal möchte ich sagen dass ich alles was du schreibst sehr gut finde und auch gut erklärt ist. Da ich neu auf diesem Gebiet bin würde ich dich gerne etwas Fragen.
Du kennst ja vielleicht den Magic Mirror „https://www.raspberrypi.org/blog/magic-mirror/“ aber da wird nur das Wetter und die Uhrzeit dargestellt. Geht es das man sich mithilfe der Google Maps API den Fahrtweg zur Arbeit anzeigen lässt?
Hallo Lennard,
ich kenne das Projekt, aber habe es nicht selbst nachgebaut. Dein Vorhaben sollte aber mit der Google Maps API möglich sein. Die GPS Koordinaten kannst du z.B. hiermit rausfinden: GPS Ortung / Navigation mit dem Raspberry Pi
Hallo Felix,
das ist eine interessante Idee. Leider bekomme ich auch die „Hoppla“ Meldung auf’m Display. Wenn ich die Zeile
https://ajax.googleapis.com/ajax/services/search/news?v=1.0&q=%20&topic=w&hl=de
direkt in den Browser eingebe kommt die Meldung:
{„responseData“: null, „responseDetails“: „This API is no longer available.“, „responseStatus“: 403}
muss ich daraus schließen dass damit deine Idee nicht mehr umgesetzt werden kann ?
Danke für deine Nachricht
Josses01
Hallo Josses,
leider hat Google die JSON API eingestellt, daher müsste mein Skript erst umgeschrieben werden, um mit der neuen Version zu funktionieren. Im Moment habe ich aber leider keine Zeit dafür 🙁
LG Felix
Hallo Felix,
das ist eine interessante Idee. Leider bekomme ich auch die „Hoppla“ Meldung auf’m Display. Wenn ich die Zeile
https://ajax.googleapis.com/ajax/services/search/news?v=1.0&q=%20&topic=w&hl=de
direkt in den Browser eingebe kommt die Meldung:
{„responseData“: null, „responseDetails“: „This API is no longer available.“, „responseStatus“: 403}
muss ich daraus schließen dass damit deine Idee nicht mehr umgesetzt werden kann ?
Danke für deine Nachricht
Josses01
Hallo Josses,
leider hat Google die JSON API eingestellt, daher müsste mein Skript erst umgeschrieben werden, um mit der neuen Version zu funktionieren. Im Moment habe ich aber leider keine Zeit dafür 🙁
LG Felix
Hallo Felix,
existiert auch eine Version zur Ansteuerung eines Displays mit I2C-Schnittstelle?
Ja, müsste etwas angepasst werden, aber siehe dieses Tutorial: HD44780 LCD Display per I2C mit dem Raspberry Pi ansteuern
Ich habe folgendes Problem: Ich möchte die Daatei ausführen allerdingst kommt die Meldung:
Traceback (most recent call last):
File „/home/pi/News/news.py“, line 3, in
import urllib2
ModuleNotFoundError: No module named ‚urllib2‘
außerdem möchte ich ein i2c 16×2 lcd display benutzen und weiß nicht genau wie ich den script umprogrammieren soll.
Kannst du mir da genaueres sagen?
LG David