小程序模拟设备端!经过CFC函数计算实现设备注册流程,并可经过MQTT链接云端发送消息

本文做者:天工智能物联网html

最近沉迷于对物联网的各类探索。前几天在研究物接入的时候忽然想到,当咱们拥有大量设备等待接入物联网时,比起一台一台的给设备烧录独一无二的用户名和密码,是否有更为快捷的处理方式呢?后来看了网上的一些教程和分享,发现其实能够最开始统一给全部设备烧录默认的用于初始化的链接信息(物模型),而后在设备首次联网时,上报设备标识借助云端服务(CFC函数)生成新的独一无二专属于此设备的设备影子(物影子)。然后断开初始化链接,链接这个刚生成的物影子,开始正常工做。大致示意图以下:python

惋惜我如今身边没有这么多设备,想了半天发现能够用微信小程序来模拟设备端;只要每次上报的设备标识不一样,就能够被认定为不一样设备啦。因此花了几天时间搞了一个微信小程序,今天就给你们分享一下!!主要是实现了如下几个功能:1. 小程序模拟设备端,https链接百度云天工里提早设置好的用于注册新设备的CFC函数计算(代码会分享)完成新设备的初始化流程,建立新设备物影子。 2. 经过MQTT链接建立好的新设备或已有设备,向设备发送信息。3. 创建了一个消息列表存储了用户过往在小程序上发送过的消息能够供用户查看。git

【代码】github

微信小程序源代码仓库github:https://github.com/Lizxxxx/Wechat-connect-BaiduIoT小程序

CFC函数计算相关代码github:https://github.com/Lizxxxx/createDevice-CFC-BaiduIoT (直接下载里面的zip file就好)微信小程序

【微信小程序开发】微信

我也是第一次接触微信小程序,开发的时候才发现,因为小程序的限制,仅容许备案域名经过加密协议(https或wss)链接,所以咱们的MQTT链接云端是经过MQTT over wss的方式实现的。在小程序里使用MQTT能够直接借用开源库,这里我借助了以下开源库:https://github.com/mqttjs/MQTT.js,你们能够参考一下。函数

【CFC函数计算——新设备初始化】加密

使用小程序前,咱们首先要在云端配置好函数计算的代码。url

首先直接下载我上方github连接里的zip file便可。而后在百度云天工的控我的制台界面开通CFC函数计算,建立一个函数。这里咱们的demo是python的,因此语言选择python而后直接上传zip包便可。记得必定要配置一下环境变量!!以下图,先添加本身百度云帐户专属的AK和SK,点击查看如何获取AK/SK(https://cloud.baidu.com/doc/Reference/s/9jwvz2egb/);

而后再添加一下默认的设备描述和scheme ID。如何得到scheme ID:打开物接入项目中的物模型列表,选择你后面即将新建的设备物影子想要参考的物模型,打开其详情页,以下图所示,红圈部分就是schemaID啦。

注意!这里CFC函数代码里我设置了一个用于核对设备标识的白名单验证!这个你们能够按需修改。

设置好函数代码后,由于微信小程序是经过https来链接函数,咱们须要配置http触发器。在触发器页面点击新增触发器,类型选择http触发器,url按喜爱填写,http方法这里只需选择 (POST,PUT,GET) 就够用了,身份验证为了方便,这里先选择不验证。配置完成后,复制一下生成的URL路径!这个就是后续咱们须要用到的能让咱们经过https链接并使用函数的地址啦!

【Demo】

这里简单介绍一下这个微信小程序。UI比较简陋,请不要介意!

首页,若是是链接已有设备的话输入信息直接点链接就行;新建设备的话就直接点下方新建设备。

输入信息注册新设备。

新设备注册好后会返回注册信息,记得保存。

发送信息以前咱们须要链接物影子。

这里注意下若是是首次向该主题发送消息,在发送消息以前,最好必定要先订阅该主题。以及自定义消息必定要按格式输入;消息的发送格式能够在代码里本身按需修改哈~

订阅主题很方便,订阅后点返回发送消息就好啦。

  

按格式输入消息而后发送,发送成功后能够看到消息被封装后的发送格式。

  

前往消息列表就能够看到刚刚发的消息啦。而后选择返回首页或者继续发送消息均可以。

【参考】

关于百度云天工的物接入使用有疑问的,能够参考一下相关帮助文档:https://cloud.baidu.com/doc/IOT/index.html

 

原文连接地址:https://developer.baidu.com/topic/show/290297

相关文章
相关标签/搜索