402-STM32+BC26|260Y(NB-IOT)基本控制篇(阿里云物联网平台)-微信小程序扫码绑定BC260Y并通过阿里云物联网平台实现远程通信控制
说明
这一节实现微信小程序扫码绑定模组并通过阿里云物联网平台实现远程通信控制.
概要:
微信小程序和单片机设备分别作为设备以动态注册方式连接阿里云物联网平台,然后通过规则引擎实现微信小程序和设备之间通信.
此节教程是前面所有知识点的整合,希望用户按部就班的学习了前面的内容,然后再学习此节.
微信小程序准备工作
1.在微信小程序平台上设置域名白名单(推荐)
域名为自己设备连接的MQTT服务器的IP地址:
wss://{productKey} .iot-as-mqtt.{Region} .aliyuncs.com
我的productKey为: a1m7er1nJbQ
我的Region地区为: cn-shanghai
所以; wss://a1m7er1nJbQ.iot-as-mqtt.cn-shanghai.aliyuncs.com
注意:设置完成以后重启一下微信开发工具
2.如果不设置域名白名单也可以在软件上选择忽略校验域名
测试准备
1.打开这节的微信小程序工程和单片机工程
提示:这节的单片机程序就是上一节的程序,如果上一节已经下载运行了,不需要重新下载
2.登录自己的云平台
注:选择哪个产品,设备就会注册到哪个产品下
3,查看并替换自己产品的ProductSecret; ProductKey; (单片机程序里面和android程序里面都需要替换)
4,查看并替换自己instanceId
提示:在2021年7月30日之前购买的实例是没有 instanceId 的, 程序里面可保持空
提示:有 instanceId 的, 填写上实例的 instanceId
配置规则引擎
1.规则引擎 ,云产品流转,创建规则
2.选择编写 SQL
3.添加操作
4.注意①自己填写 ${TargetDevice}
5.启动规则
测试
1.修改完成以后编译下载单片机程序
单片机日志打印订阅主题成功说明单片机程序正常运行
2.在平台上可以看到在相应的产品下面注册了设备
注:设备名字使用的是模组的IMEI号
4.点击编译预览,微信扫码安装到手机
5.运行APP会弹出注册页面.
注:这个步骤是让微信小程序在物联网平台上注册个设备,让微信小程序接入云平台.
设备的名字做成了需要用户去填写,用户如果做产品的话可以用用户的手机号替代.
6.填写 222222(随意哈) 后点击 注册设备
7.注册成功将会跳转到主页
8.在平台上可以看到在相应的产品下面注册了设备
9.添加设备
10.扫码添加
11.扫描设备的二维码
12.扫描成功以后,自动跳转到主页面,并添加了一个设备
显示的为设备的IMEI号
13.点击设备进入设备控制页面
整体通信流程说明
1.通信流程详细说明
微信小程序和单片机各自作为阿里云的设备接入阿里云服务器.
微信小程序接入的名字为用户注册时填写的名字;
单片机接入的名字为模组的IMEI号;
微信小程序添加设备的时候添加的模组的IMEI号.
假设微信小程序注册的设备的名字为: 111111
假设模组的IMEI为: 868591050594364
APP发布的主题: /a1m7er1nJbQ/111111/user/update
APP发布的消息为: {"TargetDevice":"868591050594364","DeviceName":"111111","data":"switch","status":"1"} (以控制继电器吸合的数据为例子)
注:
TargetDevice 字段的值是微信小程序扫码添加的设备的名字
DeviceName 字段的值是微信小程序本身设备的名字.
这个主题发给云平台以后,经过了转发规则里面的SQL语句
注: /a1m7er1nJbQ/+/user/update (里面的 + 代表任意)
微信小程序发布的主题为 /a1m7er1nJbQ/111111/user/update 符合咱设置的规则.规则便会提取这个主题里面的消息.
然后下面的配置是对提取的消息进行操作