A while ago I moved from hosting everything on my raspberry to the cloud, also the database.
I searched for a online free alternative to put my sensor data in = Google Firebase.
I want to cleanup the database, i only want to keep data for eg. 1 week.
Does anybody knows how to do that?
I have to search on date or timestamp and make a selection of it.
example of the stored data:
-LZoRfzbcQYIRuXPp56e
CPU: "43.3"
datenow: "2019-02-28"
humidity: 1
temp: 21.399999618530273
timenow: "15:11:53"
timestamp: "2019-02-28 15:11:53"
Code: Select all
import RPi.GPIO as GPIO
from time import sleep
import datetime
from firebase import firebase
import Adafruit_DHT
import time
import urllib2, urllib, httplib
import json
import os
from functools import partial
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
sensor = Adafruit_DHT.DHT22
pin = 26
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
firebase = firebase.FirebaseApplication('https://XXXXXXXXXXX.firebaseio.com/', None)
#curs=conn.cursor()
timenow = time.strftime('%X')
datenow = time.strftime('%Y-%m-%d')
timestamp = time.strftime('%Y-%m-%d %X')
# CPU temperature
def getCPUtemperature():
res = os.popen('vcgencmd measure_temp').readline()
return(res.replace("temp=","").replace("'C\n",""))
var_cputemp = getCPUtemperature()
def update_firebase():
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
CPU = getCPUtemperature()
if humidity is not None and temperature is not None:
sleep(5)
str_temp = ' {0:0.2f} *C '.format(temperature)
str_hum = ' {0:0.2f} %'.format(humidity)
print('Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity))
print( 'CPU= ') + var_cputemp + ('*C')
else:
print('Failed to get reading. Try again!')
sleep(10)
data = {"temp": temperature, "humidity": humidity, "CPU": var_cputemp, "timenow": timenow, "datenow": datenow, "timestamp": timestamp}
firebase.post('/sensor', data)
update_firebase()