TigerJython4Kids | HomeTurtlegrafikRobotikDatenbanken |
DU LERNST HIER... |
wie du dein Smartphone so einrichtest, um Push-Benachrichtigungen von der Oxocard zu erhalten. Push-Benachrichtigungen werden in der Regel auf dem Handy mit einem akustischen Alarm und einem Notifikationsfenster angezeigt, auch wenn du es gerade sonstwie verwendest oder es im Ruhezustand ist. Allerdings benötigt es dazu eine Internetanbindung (über das Mobilfunknetz oder WLAN). Sonst wird die Nachricht erst angezeigt, wenn du die Internetverbindung erstellst. |
EINRICHTUNG DER PUSH-APP |
Gehe mit dem Handy auf Google play (für Android) oder App Store (für iPhone) und installiere die App mit dem Namen Pushover. Die Gratisversion funktioniert eine Woche lang, sonst musst du sie nach Ablauf neu installieren oder kaufen. Beim ersten Start erstellst du ein Benutzerkonto mit Email-Adresse und Passwort. Du wirst dabei aufgefordert, deinem Handy einen beliebigen Namen zu geben, in diesem Beispiel aplu. Deine persönlichen Kontoangaben werden beim Versenden der Push-Benachrichtigungen nicht verwendet. Du kannst dich nachher über https://www.pushover.net mit diesen Kontoangaben einloggen. Wenn du im Message-Fenster etwas eintippst und Send Notification klickst, so solltest du bereits eine erste Push-Benachrichtigung erhalten. Notiere dir den User Key, den du später beim Versenden von Push-Messages brauchst. Klicke auf Create an Application. und tippe im Feld Name einen beliebigen Bezeichner ein, z.B. abc. Bestätige die Checkbox Terms of Service und klicke Create Application. Notiere dir den API Token Key: |
MUSTERBEISPIELE |
Du bist nun eingerichtet, um von der Oxocard Push-Benachrichtigungen zu versenden. Mit dem Modul tcpcom ist dies sehr einfach. Zuerst musst du mit der Oxocard über einem Access Point aufs Internet gelangen. Dann sendest du Benachrichtigung mit der Funktion HTTPClient.pushover(), der du die beiden Keys, sowie Titel und Inhalt der Meldung übergibst. Programm: from tcpcom import Wlan, HTTPClient Wlan.connect("myssid", "mypassword") apitoken = "ainrm1ongfpfqeryi8prixb8g4" userkey = "uu4m7u7qhcbt8qibfibdgsew33" title = 'Von der Oxocard' message = 'Liebe Gruesse\nJoern' HTTPClient.pushover(apitoken, userkey, title, message) Du bist nun ausgerüstet, um Alarme und Messdaten von der Oxocard auf dein Handy zu "pushen". Dies kann automatisch oder mit einem Button-Klick erfolgen. Zur Demonstration verwendest du hier einen Temperatur/Feuchtigkeitssensor von Sensirion und sendest die aktuellen Messdaten mit einem Klick auf BUTTON_R2. Um in der Message einen Zeilenumbruch zu erzeugen, verwendest du \n. Programm: from tcpcom import Wlan, HTTPClient from oxocard import * from oxobutton import * from sht31 import SHT31 from time import sleep Wlan.connect("myssid", "mypassword") apitoken = "ainrm1ongfpfqeryi8prixb8g4" userkey = "uu4m7u7qhcbt8qibfibdgsew33" title = 'Oxocard Weather Info' sht = SHT31() btn = Button(BUTTON_R2) while True: temp, humi = sht.get_temp_humi() display(int(temp + 0.5)) sleep(3) display(int(humi + 0.5)) sleep(3) if btn.wasPressed(): message = "Temperature: %4.1f degC\n" %temp message += "Humidity: %4.1f%%" %humi insertBigChar("X", RED) HTTPClient.pushover(apitoken, userkey, title, message) display("::") sleep(2) |
MERKE DIR... |
Push-Benachrichtigungen sind ein weit verbreitetes Verfahren, um einem Handy Notifikationen zuzusenden, ohne dass dieses sie ständig abfragen muss. Sowohl title und message in der Funktion pushover() müssen URL-codiert sein, damit Spezialzeichen (Umlaute, Accents, usw.) funktionieren. Ein einfacher Encoder ist in tcpcom eingebaut, der aber nicht für alle Zeichen funktioniert. Falls du Schwierigkeiten mit Spezialzeichen hast, so beschaffe dir die codierte Version des Strings von http://www.url-encode-decode.com und verwende pushover() mit dem letzten Parameter encode = False oder verzichte auf Spezialzeichen. |
ZUM SELBST LÖSEN |
|
ZUSATZSTOFF: WIE FUNKTIONIERT PUSH-NOTIFIKATION? |
Grundsätzlich ist ein Webserver nicht in der Lage, von sich aus eine Verbindung mit einem Client, also etwas deinem Handy, zu erstellen, um ihm Informationen zu übermitteln. Es gibt darum nur zwei Möglichkeiten, dass dein Handy über Neuigkeiten informiert wird:
Ablauf beim Senden einer Push-Message von der Oxocard zum Handy:
|