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)