Forráskód push.py - rroman95/weather-station GitHub Wiki
/home/pi/weather-station/push.py
A sensordatatocsv.py segítségével mentett adatainkat és a plotterfromcsv.py segítségével vizualizált adatainkat könnyen el tudjuk küldeni Androidos vagy iOS-es készülékeinkre pushnotification alkalmazásokk segítségével. Egyik ilyen a PushBullet.
from pushbullet import Pushbullet # a Pushbullet könyvtár használata
import bme280_output # a szenzoradatokat outputja
from datetime import date
import datetime
import os # os.path.join összetett útvonalak használata
A def sendtophone()
függvény segítségével meg tudjuk hívni a küldés funkciót külsö programokon keresztül is.
A bme280 szenzorból beolvassuk az adatokat, majd ezeket kerekítjük a második tizedesig. Az str parancs segítségével át kell konvertálnunk ezeket stringgé, ugyanis a pushbullet csak stringeket képes küldeni push notificationokként.
humidity, pressure, ambient_temperature = bme280_output.read_all()
temperature = round(ambient_temperature,2)
humidity = round(humidity,2)
tempdata = str(temperature)
humdata = str(humidity)
Minden regisztrált felhasználó kap egy egyedi TOKEN-t: pb = Pushbullet('o.SpLVyGfhBJGKv9E8UxPs7sWsO7kyzcwi')
.
Ezen TOKEN segítségével adjuk meg a programnak, hogy mely készülékre küldje az adatokat.
Amennyiben fájlokat szeretnénk küldeni, azokat meg kell nyitnunk olvasásra.
with open(os.path.join(dir,filename+'.png'),"rb") as pic:
file_data = pb.upload_file(pic, "test.png")
A kívánt adatokat a push = pb.push_note("Raspberry Pi","°C :"+ tempdata+ " Humidity: " + humdata +"%")
segítségével küldjük. A mentett adatokból kiállított gráfot pedig a push könyvtár fájlküldö parancsával:push = pb.push_file(**file_data)