本文共 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/