博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Raspberry Pi+阿里云函数计算 树莓派实现温湿度传感器机器人实时钉钉群推送
阅读量:3930 次
发布时间:2019-05-23

本文共 3321 字,大约阅读时间需要 11 分钟。

# -*- coding: UTF-8 -*-import RPi.GPIO as GPIOimport timeimport jsonimport requestsimport MySQLdbchannel = 11data = []           j = 0             GPIO.setmode(GPIO.BOARD)      time.sleep(1)          GPIO.setup(channel, GPIO.OUT)GPIO.output(channel, GPIO.LOW)time.sleep(0.02)        GPIO.output(channel, GPIO.HIGH)GPIO.setup(channel, GPIO.IN)while GPIO.input(channel) == GPIO.LOW:    continuewhile GPIO.input(channel) == GPIO.HIGH:    continuewhile j < 40:    k = 0    while GPIO.input(channel) == GPIO.LOW:        continue    while GPIO.input(channel) == GPIO.HIGH:        k += 1        if k > 100:            break    if k < 8:                  data.append(0)    else:        data.append(1)    j += 1print ("sensor is working.")print (data)              humidity_bit = data[0:8]      humidity_point_bit = data[8:16]temperature_bit = data[16:24]temperature_point_bit = data[24:32]check_bit = data[32:40]humidity = 0humidity_point = 0temperature = 0temperature_point = 0check = 0for i in range(8):    humidity += humidity_bit[i] * 2 ** (7 - i)                  humidity_point += humidity_point_bit[i] * 2 ** (7 - i)    temperature += temperature_bit[i] * 2 ** (7 - i)    temperature_point += temperature_point_bit[i] * 2 ** (7 - i)    check += check_bit[i] * 2 ** (7 - i)tmp = humidity + humidity_point + temperature + temperature_point       if check == tmp:                                   print ("temperature : ", temperature, ", humidity : " , humidity)else:                                           print ("wrong")    print ("temperature : ", temperature, ", humidity : " , humidity, " check : ", check, " tmp : ", tmp)GPIO.cleanup()import MySQLdbconn = MySQLdb.connect(host='localhost',            port=3306,            user='root',            passwd='*******',            db='test')cur = conn.cursor()value = [temperature,humidity,str(time.strftime('%A %X %Z',time.localtime(time.time())))]cur.execute("insert into dht (dht_tem,dht_hum,dht_time) values(%s,%s,%s)",value)conn.commit()conn.rollback()import requestsimport jsondb = MySQLdb.connect(host='rm-bp1o234262j82g26fro.mysql.rds.aliyuncs.com',port=3306,user='dht_zzx',passwd='Xks19981025',db='dht')cur_db = db.cursor()cur_db.execute("insert into dht11 (dht_tem,dht_hum,dht_time) values (%s,%s,%s)",value)db.commit()# 打开数据库连接db = MySQLdb.connect(host="rm-bp1o234262j82g26fro.mysql.rds.aliyuncs.com",	user="dht_zzx", 	passwd="********", 	db="dht", 	charset='utf8' )# 使用cursor()方法获取操作游标 cursor = db.cursor()# SQL 查询语句sql = "SELECT * FROM dht11"try:   cursor.execute(sql)   results = cursor.fetchall()   set=1   for it in results:	if set==len(results):					for i in range(len(it)):			print it[i]	else: 		set+=1except:   print "Error: unable to fecth data"cursor.close()db.close()url = 'https://oapi.dingtalk.com/robot/send?access_token=abfdb21af2b580e974fa6c7b4a73231cfe0b455e182450b6e557ec470fca6e71' HEADERS = {"Content-Type": "application/json ;charset=utf-8 "}String_textMsg = {"msgtype": "markdown","markdown": {"title": "温湿度传感器","text":"温湿度传感器上报\n""> 设备位置:" + "**********\n\n"+"> 设备编号:" +"bixby001\n\n"+"> 实时温度:"+str(it[0])+"\n\n"+"> 相对湿度:"+str(it[1])+"\n\n"+"> "+str(it[2])+"发布by[物联网平台]\n\n"},}String_textMsg = json.dumps(String_textMsg,ensure_ascii=False)res = requests.post(url, data=String_textMsg, headers=HEADERS)print(res.text)

python 爬虫实现 非nodejs  

转载地址:http://bltgn.baihongyu.com/

你可能感兴趣的文章
7-3 计算年龄 (20分)
查看>>
ExtJs 表格的实现
查看>>
题目1085 拦截导弹
查看>>
Kafka 为什么使用kafka
查看>>
Android开发技巧不同状态的Button
查看>>
CSS 鼠标经过时改变table所在行的颜色
查看>>
某机字长为32位 存储容量为64MB 若按字节编址 它的寻址范围是多少
查看>>
Java笔记之JTextField JTextArea区别
查看>>
Android学习笔记之Spinner
查看>>
题目26 孪生素数问题
查看>>
归并排序(JAVA)
查看>>
对Java Serializable(序列化)的理解和总结
查看>>
Netty Buffer(缓冲)
查看>>
Docker简单介绍
查看>>
.ftl文件 是什么文件
查看>>
数据结构与算法--栈、队列(队列)
查看>>
动态规划
查看>>
增强学习(二)——策略迭代与值迭代
查看>>
IPv6地址表示方法详解
查看>>
数据库三级模式
查看>>