Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from machine import Pin
- import network
- import time
- from umqtt.robust import MQTTClient
- import sys
- import dht
- import os
- ADAFRUIT_IO_URL = b'io.adafruit.com'
- ADAFRUIT_USERNAME = b'aditya194'
- ADAFRUIT_IO_KEY = b'9045541ac29446369887c82e6595d79c'
- ADAFRUIT_IO_FEEDNAME1 = b'temperature'
- ADAFRUIT_IO_FEEDNAME2 = b'humidity'
- ADAFRUIT_IO_FEEDNAME3 = b'vibration'
- MEASUREMENT_INTERVAL = 2
- # create a random MQTT clientID
- random_num = int.from_bytes(os.urandom(3), 'little')
- mqtt_client_id = bytes('client_'+str(random_num), 'utf-8')
- client = MQTTClient(client_id=mqtt_client_id,
- server=ADAFRUIT_IO_URL,
- user=ADAFRUIT_USERNAME,
- password=ADAFRUIT_IO_KEY,
- ssl=False)
- #ADAFRUIT_USERNAME/feeds/ADAFRUIT_IO_FEEDNAME1
- mqtt_feedname1 = bytes('{:s}/feeds/{:s}'.format(ADAFRUIT_USERNAME, ADAFRUIT_IO_FEEDNAME1), 'utf-8')
- mqtt_feedname2 = bytes('{:s}/feeds/{:s}'.format(ADAFRUIT_USERNAME, ADAFRUIT_IO_FEEDNAME2), 'utf-8')
- mqtt_feedname3 = bytes('{:s}/feeds/{:s}'.format(ADAFRUIT_USERNAME, ADAFRUIT_IO_FEEDNAME3), 'utf-8')
- def do_connect():
- wlan = network.WLAN(network.STA_IF)
- wlan.active(True)
- if not wlan.isconnected():
- print('connecting to network...')
- wlan.connect('Hare Krishna', 'aditya88')
- while not wlan.isconnected():
- pass
- print('network config:', wlan.ifconfig())
- try:
- client.connect()
- except Exception as e:
- print('could not connect to MQTT server {}{}'.format(type(e).__name__, e))
- sys.exit()
- def Send_Data(tVstat,tTemp,tHumid) :
- client.publish(mqtt_feedname1,bytes(str(tTemp), 'utf-8'), qos=0)
- client.publish(mqtt_feedname2,bytes(str(tHumid), 'utf-8'),qos=0)
- client.publish(mqtt_feedname3,bytes(str(tVstat), 'utf-8'),qos=0)
- def main():
- do_connect()
- p5 = Pin(5, Pin.IN) # Vibration Data
- d = dht.DHT11(Pin(13)) # Temp and Humidity
- last_measurement_time = 0
- Vstat =0
- while True:
- if p5.value() == 1:
- Vstat += 1
- current_time = time.time()
- d.measure()
- temp = d.temperature() # eg. 23 (°C)
- humid = d.humidity() # eg. 41 (% RH)
- if current_time - last_measurement_time > MEASUREMENT_INTERVAL:
- print('Temperature:',temp,'Humidity',humid,'Vib Stat',Vstat)
- Send_Data(Vstat,temp,humid)
- last_measurement_time = current_time
- Vstat = 0
- if __name__ == '__main__':
- main()
Add Comment
Please, Sign In to add comment