腾讯云物联网服务器与微信小程序计划(讲授设备怎样上云,怎样对接微信小程 ...

打印 上一主题 下一主题

主题 901|帖子 901|积分 2703

一、媒介

腾讯云物联网开辟平台是一个标准的MQTT服务器。 这篇文章介绍怎样使用腾讯云物联网开辟平台 创建自己的产物、设备、使用MQTT设备端登录服务器,完成数据上传,下令下发响应,以及开辟微信小程序,完成一条龙的 物联网产物开辟 。
腾讯云物联网开辟平台(IoT Explorer)为各行业的设备制造商、方案商及应用开辟商提供一站式设备智能化服务。平台提供海量设备连接与管理本领及小程序应用开辟本领,并买通腾讯云基础产物及 AI 本领,提升传统行业设备智能化的效率,低落用户的开辟运维成本,助力用户业务发展。
腾讯云物联网开辟平台(IoT Explorer)是面向智慧生活与产业互联应用的物联网 PaaS 平台,为基于物联网的各行业设备制造商、方案商及应用开辟商提供一站式设备智能化服务。平台提供海量设备连接与管理本领及基于腾讯连连的小程序应用开辟本领,并买通腾讯云基础产物及 AI 本领,聚合腾讯生态内容本领。从而提升传统行业设备智能化的效率,低落用户的开辟运维成本。
二、计划需求

当前以环境检测项目为原型,从0开始介绍使用腾讯云物联网开辟平台 完成自己物联网产物模子搭建,微信小程序开辟,与设备实现通讯,完成数据上传、下令下发等功能。 实现一个正常的物联网产物的开辟流程。
三、腾讯云平台与微信小程序计划

3.1 登录云平台

地址:https://cloud.tencent.com/
【1】选择物联网平台

微信扫描即可快速登录,然后选择产物,物联网,选择物联网开辟平台。

【2】进入产物控制台

链接: https://console.cloud.tencent.com/iotexplorer

【3】选择公共实例


3.2 新建项目

【1】新建项目


【2】填写项目名称


【3】项目创建完成


3.3 产物开辟

【1】进入产物页

点击项目名称,进入产物开辟页面。

【2】新建产物


【3】填写产物信息

产物品类选择自界说产物品类。

【4】产物创建完成


3.4 设备开辟

【1】进入设备设置页

点击产物名称,进入设备设置页面。

【2】设置物模子

选择自界说品类。

(1)MQ2烟雾浓度


(2)MQ135空气质量


(3)MQ4有毒气体


(4)MQ7一氧化碳


(5)环境温度


(6)环境湿度


(6)添加完成


然后翻到最下面,点击下一步。
【3】设备开辟-主题列表

设备开辟页面有一个主题列表。可以了解到当前的主题信息。

  1. $thing/up/property/CS0SLTKSYA/${deviceName}           发布        属性上报
  2. $thing/down/property/CS0SLTKSYA/${deviceName}        订阅        属性下发与属性上报响应
复制代码
这个页面不必要做什么,直接点击下一步即可。

【4】交互开辟-设置小程序

(1)产物展示页


设置信息:

(2)快捷入口设置



(3)编辑面板


(4)产物页面



【5】设备调试-新建设备



创建完成。

设备的二维码: (打开微信小程序,搜刮 腾讯连连,打开腾讯连连,扫描下面的二维码就可以绑定设备了)

设备信息:

  1. 产品密匙:IyXmUW5sU/q1vnb5yzTkeQ==
  2. 产品ID:CS0SLTKSYA
复制代码
【6】设置手机APP

如果除了小程序之外,还想使用手机APP,可以设置手机APP页面。

设置步骤和上面的微信程序一样。
3.5 设备登录

【1】MQTT协议

MQTT协议介绍:https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/01-Introduction.html
  1. 目前物联网通信支持 MQTT 标准协议接入(兼容3.1.1版本协议),具体的协议请参见 MQTT 3.1.1 协议文档。
  2. 和标准 MQTT 区别
  3. 1. 支持 MQTT 的 PUB、SUB、PING、PONG、CONNECT、DISCONNECT、UNSUB 等报文。
  4. 2. 支持 cleanSession。
  5. 3. 不支持 will、retain msg。
  6. 4. 不支持 QOS2。
复制代码
【2】获取MQTT登录参数

就像我们登录QQ、登录微信必要账号密码一样,设备登录物联网平台也必要类似的东西。
官方文档地址: https://cloud.tencent.com/document/product/634/32546
生成密匙直接使用python代码获取:
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3. import base64
  4. import hashlib
  5. import hmac
  6. import random
  7. import string
  8. import time
  9. import sys
  10. # 生成指定长度的随机字符串
  11. def RandomConnid(length):
  12.     return  ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(length))
  13. # 生成接入物联网通信平台需要的各参数
  14. def IotHmac(productID, devicename, devicePsk):
  15.      # 1. 生成 connid 为一个随机字符串,方便后台定位问题
  16.      connid   = RandomConnid(5)
  17.      # 2. 生成过期时间,表示签名的过期时间,从纪元1970年1月1日 00:00:00 UTC 时间至今秒数的 UTF8 字符串
  18.      expiry   = int(time.time()) + 30*24*60 * 60 *365
  19.      # 3. 生成 MQTT 的 clientid 部分, 格式为 ${productid}${devicename}
  20.      clientid = "{}{}".format(productID, devicename)
  21.      # 4. 生成 MQTT 的 username 部分, 格式为 ${clientid};${sdkappid};${connid};${expiry}
  22.      username = "{};12010126;{};{}".format(clientid, connid, expiry)
  23.      # 5. 对 username 进行签名,生成token
  24.      secret_key = devicePsk.encode('utf-8')  # convert to bytes
  25.      data_to_sign = username.encode('utf-8')  # convert to bytes
  26.      secret_key = base64.b64decode(secret_key)  # this is still bytes
  27.      token = hmac.new(secret_key, data_to_sign, digestmod=hashlib.sha256).hexdigest()
  28.      # 6. 根据物联网通信平台规则生成 password 字段
  29.      password = "{};{}".format(token, "hmacsha256")
  30.      return {
  31.         "clientid" : clientid,
  32.         "username" : username,
  33.         "password" : password
  34.      }
  35. if __name__ == '__main__':
  36.     # 参数分别填入: 产品ID,设备名称,设备密匙
  37.     print(IotHmac("CS0SLTKSYA","dev1","IyXmUW5sU/q1vnb5yzTkeQ=="))
  38.        
复制代码
上面python的代码必要填入的参数从下面截图里获取:

运行得到的结果:

  1. clientid CS0SLTKSYAdev1
  2. username CS0SLTKSYAdev1;12010126;ZR5GT;2623045740
  3. password 2debdc61b009ef8d09597f106f6f8ca36f101415459b0623780a81e711e7257c;hmacsha256
复制代码
【3】MQTT主题订阅与发布


如果设备端想要得到APP页面的按钮状态就必要订阅属性下发和属性上报的响应,主题格式就是这样的:
主题订阅:
  1. $thing/down/property/CS0SLTKSYA/dev1
复制代码
主题发布:
  1. $thing/up/property/CS0SLTKSYA/dev1
复制代码
设备端向APP页面上报属性时,必要上传详细的数据,数据流的格式如下:
官方文档: https://cloud.tencent.com/document/product/1081/34916
好比:我的设备里有MQ2、MQ4、MQ7、MQ135、温度、湿度参数信息。
上传的格式如下。
  1. {"method":"report","clientToken":"123","params":{"MQ2":30,"MQ135":95,"MQ4":30,"MQ7":20,"DHT11_T":14,"DHT11_H":70}}
复制代码

【4】 物联网平台端口号与IP

官方文档: https://cloud.tencent.com/document/product/634/32546

域名格式:<产物ID>.iotcloud.tencentdevices.com
  1. CS0SLTKSYA.iotcloud.tencentdevices.com
复制代码

**得到域名对应的IP地址: ** 175.178.30.200

【5】模拟设备登录

为了方便测试,先使用MQTT客户端软件模拟硬件设备登录服务器。
依次填入参数之后,点击订阅主题、发布主题。

在设备调试页面,可以看到设备已经在线了:

打开设备页面,就能看到设备上传的数据:

【6】腾讯连连微信小程序

打开腾讯连连微信小程序绑定设备,就可以看到设备的数据了。
步骤如下:
打开微信,找到小程序。

右上角搜刮,腾讯连接。

然后打开腾讯连连,添加设备,扫描设备的二维码。

添加乐成。

看到的信息:

到此,腾讯物联网云平台部署完成。
四、总结

到此,我们的 腾讯云IOT平台 的云端开辟完成了。如果大家详细阅读了文章,并且跟着步骤操作了一次,相信你如今对腾讯云IOT平台应该有所熟悉了。我是DS小龙哥,欢迎关注我,后续会有更多的技术文章、项目文章发布。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表