Smartphone Notification über einen kostenfreien Dienst
Verschiedene Anwendungsfälle erfordern es, dass man sich eine Benachrichtigung bzw. eine Smartphone Notification schicken lässt.
Will man über bestimmte Ereignisse z.B. eines Raspberry Pi oder Ergebnisse einer automatisierten Webseite-Interkation informieren, bietet es sich an einen freien Dient zu nutzen. Instapush z.B. bietet als kostenlose Variante an über eine definierte API Push Notification zum Smartphone zu versenden. Der Dienst ist kostenlos und für Android oder iPhone verfügbar.
Es ist nötig sich aus dem jeweiligen Store die Instapush app zu installieren und mit wenigen Handgriffen zu konfigurieren. Sobald über das Instapush API eine Information publiziert werden soll, meldet sich sofort die Instapush App auf dem Smartphone.
Was ist nötig, um sich eine Push Notification zum Smartphone schicken zu lassen?
- Einen Instapush.im Account und eine installierte App auf einem Smartphone
- Eine Instapush Konfiguration
- Einen Stückchen Software, welches die Instapush API mit Daten versorgt
Der Instapush Account
Sehr unkompliziert ist der Account angelegt unter: https://instapush.im Sobald die App installiert ist, fragt die App nach den E-Mail Zugangsdaten. Nach dem Konfigurieren sieht man seine Gerätekonfiguration auf der Instapush Weboberfläche
Die Konfiguration
- Klicke im Dashboard auf APPS
- Klicke Add Application
- Vergib einen Namen für die App Konfiguration. Bei Bedarf kannst du mehrere anlegen.
- Jetzt muss ein Ereignis angelegt werten. Je nachdem, was für ein Ereignis stattfindet, ist ein vernünftiger Name sinnvoll. Ich benenne das Ereignis einfach „Benachrichtigung“
- In Tracker und Message trage ich jetzt der Einfachheit halber „message“ ein, damit das bloße Feststellen eines Ereignisses genügt.
instapush application configuration push notification zum smartphone
Nach dem Anlegen des Ereignisses kann man sich die API-Schlüssel Informationen anzeigen lassen:
Diese Schlüsselinformationen müssen in die Software integriert werden, die die Nachricht versenden soll.
Python und CURL
Damit per Python der CURL Request gesendet werden kann, muss die CURL Erweiterung installiert sein. Voraussetzung ist ein installiertes Python.
Wer sich gern erstmal in Python einlesen mag, dem sei das das Grundlagenbuch zu Python sehr empfohlen.
Windows:
- Für Python die Erweiterung PyCURL laden
- PycURL zip file entpacken und den inhalt von site-package in den python ordner der lokalen Installation kopieren(z.B. C:/Python34/Lib/site-package)
Linux:
Mit folgendem Kommando kann cURL für Python nachinstalliert werden.
sudo apt-get install python-pycurl
Push Notification zum Smartphone per Python
Mit folgendem beispielhaftem Python Code kann die Nachricht an instapush.im übergeben werden:
import pycurl, json from io import StringIO # Die Instapush Application ID setzen appID = "557___YOR_APP_ID___a8" # Das Instapush Application Secret setzen appSecret = "5b____YOR_SECRET____fbf" # Der Application Name. benachrichtigung = "benachrichtigung" # Die Nachricht, die transportiert werden soll pushMessage = "KITAPLATZ GEFUNDEN!" # via Curl die Nachricht zu Instapush übertragen request = pycurl.Curl() # set Instapush API URL request.setopt(request.URL, 'https://api.instapush.im/v1/post') # Den CURL Request entsprechend parametrisieren request.setopt(request.HTTPHEADER, ['x-instapush-appid: ' + appID, 'x-instapush-appsecret: ' + appSecret, 'Content-Type: application/json']) # eine JSON Struktur erstellen json_fields = {} json_fields['event']=benachrichtigung json_fields['trackers'] = {} json_fields['trackers']['message']=pushMessage postfields = json.dumps(json_fields) # Die JSON Struktur an den Request binden request.setopt(request.POSTFIELDS, postfields) # Die Nachricht versenden request.perform()
Das Ergbnis
Nach dem Ausführen des Python Code wird die Notification zum Smartphone gesandt:
Quellen:
- https://instapush.im
- http://videos.cctvcamerapros.com/digital-io-alarm-in-out/send-push-notifications-from-raspberry-pi.html#setup-push-apps
- https://docs.python.org/3/reference/
- http://json-schema.org/
- http://pycurl.sourceforge.net/doc/curlobject.html
- Synology: Nextcloud Automatisierung mit cron jobs - 28. Mai 2018
- Synology: Nextcloud und Docker installieren - 24. Mai 2018
- Meteorit über Deutschland - 16. November 2017
2 Comments