Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python3
- import os
- import time
- import sys
- import Adafruit_DHT as dht
- import paho.mqtt.client as mqtt
- import json
- import datetime
- #
- # Sensor should be set to Adafruit_DHT.DHT11, Adafruit_DHT.DHT22, or Adafruit_DHT.AM2302.
- sensor = dht.DHT11
- pin = 4
- BROKER = 'localhost'
- # Data capture and upload interval in seconds.
- INTERVAL=15
- sensor_data = {'date': 0, 'temperature': 0, 'humidity': 0}
- next_reading = time.time()
- client = mqtt.Client()
- # Connect to BROKER using default MQTT port and 60 seconds keepalive interval
- client.connect(BROKER, 1883, 60)
- client.loop_start()
- try:
- while True:
- humidity,temperature = dht.read_retry(sensor, pin)
- humidity = round(humidity, 2)
- temperature = round(temperature, 2)
- print(u"Temperature: {:g}u00b0C, Humidity: {:g}%".format(temperature, humidity))
- sensor_data['temperature'] = temperature
- sensor_data['humidity'] = humidity
- sensor_data['date'] = datetime.datetime.now().replace(microsecond=0).isoformat()
- # client.publish('test_channel', json.dumps(sensor_data), 1)
- client.publish('test_channel', json.dumps(sensor_data), 2)
- next_reading += INTERVAL
- sleep_time = next_reading-time.time()
- if sleep_time > 0:
- time.sleep(sleep_time)
- except KeyboardInterrupt:
- pass
- client.loop_stop()
- client.disconnect()
- 1547597521: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
Add Comment
Please, Sign In to add comment