Sunteți pe pagina 1din 3

ThingSpeak using Raspberry pi

import httplib, urllib,urllib2


from time import localtime, strftime
import RPi.GPIO as GPIO
import time
import spidev
#calling SPI development files
spi=spidev.SpiDev()
GPIO.setmode(GPIO.BOARD)
import json
import psutil
import time
GPIO.setup(3,GPIO.IN)
GPIO.setup(5,GPIO.IN)
Vref=3300
def analog_read(channel):
r=spi.xfer2([1,(8+channel)<<4,0])
adc=((r[1]&3)<<8)+r[2]
return adc

def repeat():
temp1=analog_read(3)
mV = round((temp1 * (Vref / 1024.0)),2)
temp = round(((mV - 500) / 10.0), 2)
print temp
time.sleep(1)
humi=analog_read(2)
print humi
time.sleep(1)
params = urllib.urlencode({'field1': temp, 'field2': humi, 'key':'XXXXXXXXXXXX'})
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
conn = httplib.HTTPConnection("api.thingspeak.com:80")
try:
conn.request("POST", "/update", params, headers)
response = conn.getresponse()
conn.close()
except:
print "connection failed"

if __name__ == "__main__":
while True:
repeat()
time.sleep(16)
Q3) IoT Based Appliance Control using MQTT Protocol

Solution:
pip install paho-maqtt

import paho.mqtt.client as mqtt


import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(3,GPIO.OUT)
GPIO.setup(5,GPIO.OUT)

def on_connect(client, userdata, flags, rc):


print("Connected to broker. Return of connection: "+str(rc))
client.subscribe("/MQTTLED/#")

# Callback - when a message is received


def on_message(client, userdata, msg):
print("Topic: "+msg.topic+" - Message Received: "+str(msg.payload))

if (str(msg.payload) == "ONLED1"):
GPIO.output(3,True)
return 0

if (str(msg.payload) == "ONLED2"):
GPIO.output(5,True)
return 0

if (str(msg.payload) == "OFFLED1"):
GPIO.output(3,False)
return 0

if (str(msg.payload) == "OFFLED2"):
GPIO.output(5,False)
return 0

#main program
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("test.mosquitto.org", 1883, 60)
# Endless loop waiting to receive messages. .
client.loop_forever()
Keys and tokens

Keys, secret keys and access tokens management.

Consumer API keys

CPtIolOSkiZIUN1ufNojRaKnC (API key)

Xofmrh1RDyvPIMrWpn4TlPFBkBsCgY26RyvToD2gTBIxq49xSt (API secret key)

Access token & access token secret

883558884094259204-U2K3Lcn5JHHYNJvsHIslQ7r5OWj7IMj (Access token)

j3XHtl8TRh6y3C77rp1EqSMvImON3rIWMTBkz2CPC48SK (Access token secret)

Read and write (Access level)

S-ar putea să vă placă și