树莓派3与MTH01温湿度传感器 、yeelink(python代码实现)
2016-08-25 20:36
519 查看
树莓派3读取MTH01温湿度传感器数据 并上传至yeelink
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import requests
import json
import types
import time
import string
import struct
import commands
def upload_MTH01_data_to_yeelink():
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12,GPIO.IN)
GPIO.setup(36,GPIO.OUT)
GPIO.output(36,GPIO.HIGH)
time.sleep(0.02)
GPIO.setup(18,GPIO.IN)
data=0
datatemp=0
GPIO.output(36,GPIO.LOW)
i=0
for i in range (32):
while GPIO.input(12)==0:
continue
datatemp=GPIO.input(18)
data=data<<1
if datatemp==1:
data=1+data
while GPIO.input(12)==1:
continue
GPIO.output(36,GPIO.HIGH)
GPIO.cleanup()
data=int(data)
print data
tem_16=hex(data)
print tem_16
tem=tem_16[2:5]
hum=tem_16[5:7]
check=tem_16[7:9]
temp_data=int(tem,16)
humi_data=int(hum,16)
tem_data=float(temp_data-400)
temp=float(tem_data/10)
humi=humi_data
print temp,'C'
print humi,'%'
apiheaders = {'U-ApiKey': 'fba6a171a9904e59eb7af72f2b269bc3', 'content-type': 'application/json'}
temp = commands.getoutput( '/opt/vc/bin/vcgencmd measure_temp' ).replace( 'temp=', '' ).replace( '\'C', '' )
# temp设备URI
apiurl_temp = 'http://api.yeelink.net/v1.0/device/350053/sensor/392495/datapoints'
#YEELINK 用户密码, 指定上传编码为JSON格式i
#apiheaders = {'U-ApiKey': 'fba6a171a9904e59eb7af72f2b269bc3', 'content-type': 'application/json'}
payload_temp = {'value': temp}
r = requests.post(apiurl_temp, headers=apiheaders, data=json.dumps(payload_temp))
# humi设备URI
apiurl_humi = 'http://api.yeelink.net/v1.0/device/350053/sensor/392497/datapoints'
#YEELINK 用户密码, 指定上传编码为JSON格式
#apiheaders = {'U-ApiKey': 'fba6a171a9904e59eb7af72f2b269bc3', 'content-type': 'application/json'}
# 字典类型数据,在post过程中被json.dumps转换为JSON格式字符串 {"value": 48.123}
payload_humi = {'value': humi}
#发送请求
r = requests.post(apiurl_humi, headers=apiheaders, data=json.dumps(payload_humi))
def main():
while True:
upload_MTH01_data_to_yeelink()
#休眠10秒
time.sleep(30)
if __name__ == '__main__':
main()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import requests
import json
import types
import time
import string
import struct
import commands
def upload_MTH01_data_to_yeelink():
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12,GPIO.IN)
GPIO.setup(36,GPIO.OUT)
GPIO.output(36,GPIO.HIGH)
time.sleep(0.02)
GPIO.setup(18,GPIO.IN)
data=0
datatemp=0
GPIO.output(36,GPIO.LOW)
i=0
for i in range (32):
while GPIO.input(12)==0:
continue
datatemp=GPIO.input(18)
data=data<<1
if datatemp==1:
data=1+data
while GPIO.input(12)==1:
continue
GPIO.output(36,GPIO.HIGH)
GPIO.cleanup()
data=int(data)
print data
tem_16=hex(data)
print tem_16
tem=tem_16[2:5]
hum=tem_16[5:7]
check=tem_16[7:9]
temp_data=int(tem,16)
humi_data=int(hum,16)
tem_data=float(temp_data-400)
temp=float(tem_data/10)
humi=humi_data
print temp,'C'
print humi,'%'
apiheaders = {'U-ApiKey': 'fba6a171a9904e59eb7af72f2b269bc3', 'content-type': 'application/json'}
temp = commands.getoutput( '/opt/vc/bin/vcgencmd measure_temp' ).replace( 'temp=', '' ).replace( '\'C', '' )
# temp设备URI
apiurl_temp = 'http://api.yeelink.net/v1.0/device/350053/sensor/392495/datapoints'
#YEELINK 用户密码, 指定上传编码为JSON格式i
#apiheaders = {'U-ApiKey': 'fba6a171a9904e59eb7af72f2b269bc3', 'content-type': 'application/json'}
payload_temp = {'value': temp}
r = requests.post(apiurl_temp, headers=apiheaders, data=json.dumps(payload_temp))
# humi设备URI
apiurl_humi = 'http://api.yeelink.net/v1.0/device/350053/sensor/392497/datapoints'
#YEELINK 用户密码, 指定上传编码为JSON格式
#apiheaders = {'U-ApiKey': 'fba6a171a9904e59eb7af72f2b269bc3', 'content-type': 'application/json'}
# 字典类型数据,在post过程中被json.dumps转换为JSON格式字符串 {"value": 48.123}
payload_humi = {'value': humi}
#发送请求
r = requests.post(apiurl_humi, headers=apiheaders, data=json.dumps(payload_humi))
def main():
while True:
upload_MTH01_data_to_yeelink()
#休眠10秒
time.sleep(30)
if __name__ == '__main__':
main()
相关文章推荐
- Android操作系统介绍之11种传感器
- android 传感器(OnSensorChanged)使用介绍
- Android重力传感器实现滚动的弹球
- 为什么三星手机一直坚持使用塑料外壳?
- iOS中传感器的基本使用
- Zabbix 使用IPMI监控服务器硬件各项传感器。
- 微软研究院为智能手机研发独特触控技术
- Android的常用传感器开发教程案例
- HEP-DH车载一氧化碳报警器
- 从制高点到接地气 深安旭专注传感器研发12年
- 深安旭,中国气体传感器领先品牌
- 利用传感器实现微信的摇一摇功能
- 高压电磁流量计的详细介绍及特点
- 如何才能提高便携式超声波流量计的精度
- iOS开发之获取实时气压、相对高度
- VC下读取加速度计
- PSIM可视化智能安防
- PSIM智能可视化指挥管理系统
- JA检索-国际期刊S&T (Sensors and Transducers journal)