Files
old-tfm/controller/sensors.py
2016-01-24 09:15:14 +01:00

38 lines
1.3 KiB
Python

#!/usr/bin/python
import sys
import requests
import Adafruit_DHT
import config
SENSOR_TYPE = Adafruit_DHT.DHT11
if len(sys.argv) == 3:
owner = sys.argv[1]
controller_id = sys.argv[2]
else:
print 'usage: sudo ./controller.py [OWNER] [CONTROLLER_ID]#'
print 'example: sudo ./controller.py Senad 225 - Send temperature as Senad for controller 225'
sys.exit(1)
# Try to grab a sensor reading. Use the read_retry method which will retry up
# to 15 times to get a sensor reading (waiting 2 seconds between each retry).
humidity, temperature = Adafruit_DHT.read_retry(SENSOR_TYPE, GPIO_PIN_DHT)
# Un-comment the line below to convert the temperature to Fahrenheit.
# temperature = temperature * 9/5.0 + 32
# Note that sometimes you won't get a reading and
# the results will be null (because Linux can't
# guarantee the timing of calls to read the sensor).
# If this happens try again!
if temperature is not None and humidity is not None:
response = requests.post(SENSORDATA_URL, json={"owner": owner, "temperatureValue": temperature, "humidityValue":humidity})
print 'Temp={0:0.1f}*C'.format(temperature)
print 'Humidity={0:0.1f}%'.format(humidity)
if response.status_code != 200:
print 'Failed to send temperature!'
else:
print 'Failed to get reading. Try again!'