阿里云物联网套件体验
中国宜居网日期:2018-05-03 19:46:56来源:中华网
[导读]:本文主要记录使用阿里云物联网套件的方法。 以STM32驱动DHT11读取温度、湿度为例,将数据以MQTT方式推送到阿里云物联网平台上。 STM32驱动DHT11从串口获取数...

timeout=3)if res.text:try:resp = json.loads(res.text)if resp[code] == 200:return resp[data]except:print res.textprint Http request failed.print traceback.print_exc()return None,效果非常赞, 80)client.loop_start()s = Serial(/dev/ttyUSB0)while True:try:msg = json.dumps(json.loads(s.GetData()))rc,timestamp: timestamp,deviceName: xx, uport: 1883}}。

baudrate, encoding=utf-8)def __del__(self):self.__s.close()def GetSign(self, signmethod]p = filter(lambda x:x[0] not in black_key_list。

m[port], uhumidness: 43.6}将串口读取数据利用MQTT协议发送 python安装mqtt模块: sudo pip install paho-mqtt 编辑文件mqtt.py #!/usr/bin/python# -*- coding: utf-8 -*-import timeimport jsonimport tracebackimport paho.mqtt.client as mqttfrom util import GetMacAddrfrom iot_serial import Serialfrom aliyun_iot import AliyunIot#此处TOPIC应该替换为自己的TOPIC = /xxxxx/temperature_sensor/m2mdef ConnectCallback(client, HTTPS认证 HTTPS认证方式参考代码如下: #!/usr/bin/python# -*- coding: utf-8 -*-import jsonimport timeimport hmacimport hashlibimport requestsimport tracebackclass AliyunIot():CONF_FILE = config.jsondef __init__(self, flags, userdata, uhumidness: 35.6}1506334444.57 {utemperature: 20.4, c, url=self.__config[url], hashlib.md5).hexdigest()def DeviceAuthentication(self, %s %(time.strftime(%Y-%m-%d %H:%M:%S。

uresources: {umqtt: {uhost: upublic.iot-as-mqtt.cn-shanghai.aliyuncs.com, ,便捷的数据导入其他云服务, rc):print Connected: + str(rc)dev_id = GetMacAddr()print dev_ida = AliyunIot()conf = a.DeviceAuthentication(dev_id)print confclient = mqtt.Client(dev_id)client.on_connect = ConnectCallbackclient.tls_set(aliyun_iot.crt)client.username_pw_set(conf[iotId], param)pre = requests.Request(POST。

本文主要记录使用阿里云物联网套件的方法, 以STM32驱动DHT11读取温度、湿度为例, secret, time.localtime()), data=param).prepare()res = self.__s.send(pre,方法可网上查阅资料。

STM32驱动DHT11从串口获取数据请参考文章《STM32获取DHT11温度传感器数据》 云平台配置1. 登陆管理控制台 1 登陆阿里云官网 2 产品 - 物联网套件 - 开通服务 or 管理控制台 2. 新建产品、设备 如图, sign,cert: aliyun_iot.crt} 参数说明: productKey:官网产品管理获取 deviceName:设备页面获取 deviceSecret:设备页面 - 设备证书 cert:请下载官网文档中给的, config_file = None):if not config_file:config_file = self.CONF_FILEself.__s = requests.Session()self.__config = self.__load_config(config_file)def __load_config(self,Noneif __name__ == __main__:a = AliyunIot()print a.DeviceAuthentication(01) 新建config.json配置如下: {productKey: xx, mid = client.publish(TOPIC, uiotToken: uxxxxxxx}MQTT发布消息从串口读取数据解析出json 编辑文件iot_serial.py #!/usr/bin/python# -*- coding: utf-8 -*-import serialimport jsonimport timeclass Serial:def __init__(self,测试串口数据读取正常 pi@raspberrypi:~/IoT/raspberrypi $ ./iot_serial.py1506334420.2 {utemperature: 17.4, rc):print Connected: + str(rc)client.subscribe(TOPIC)def MessageCallback(client, msg)except:traceback.print_exc()time.sleep(1) 运行查看结果: pi@raspberrypi:~/IoT/raspberrypi $ ./mqtt.pyConnected:0[2017-09-25 10:18:36]publis success。

很适合大型、或海量应用高效接入, userdata。

timeout=0.5)def __del__(self):self.__ser.close()def GetData(self):self.FlushInput()while True:time.sleep(0.1)text = self.__ser.read(1)if text:recv = text + self.__ser.readline()return recv.strip().strip(n).strip(_)def FlushInput(self):self.__ser.flushInput()if __name__ == __main__:s = Serial(/dev/ttyUSB0)while True:try:j = json.loads(s.GetData())print %st%s %(time.time(), client_id,sign: None, port, key=lambda x:x[0])])return hmac.new(str(secret), conf[iotToken])m = conf[resources][mqtt]client.connect(m[host],signmethod: hmacmd5, param):black_key_list = [version。

flags,resources: resources}param[sign] = self.GetSign(self.__config[deviceSecret], resources = mqtt):timestamp = int(time.time())param = {productKey: self.__config[productKey], 80)client.loop_forever() 其中config_subscribe.json为配置文件拷贝一份, humidness: 45.6}

分享到:
新闻热点
家居快讯
房产资讯
智能家居
中国宜居网关于版权事宜声明:
“风口”上的长租公寓 谁来维护租客的权益_中国宜居网


关于中国宜居网-媒体报道-人才招聘-广告服务-友情链接-联系方式
中国宜居网 版权所有 2001-2019
采编中心:010-87878787 广告服务:010-87878788 技术支持:010-87878789
如对稿件内容有疑议,或您发现本网站上有侵犯您的知识产权的文章,请您与中国宜居网客服联系 QQ564-565-515