这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » 【写手的专属】设备上云,微信小程序显示全流程

共8条 1/1 1 跳转至

【写手的专属】设备上云,微信小程序显示全流程

高工
2024-01-05 10:12:36   被打赏 50 分(兑奖)     打赏

NB设备通过阿里云物联网平台与微信小程序进行数据通信

        通过不断的测试,基本捋顺了设备和阿里云物联网平台的通信,阿里云物联网平台内部的数据流转,云平台和微信小程序之间的通信。

一、阿里云物联网平台的配置

1、进入阿里云物联网平台

1704420204866933.png

2、进入控制台,并点击进入公共实例(如果还没有的需要先申请)

1704420204582798.png

1704420204603026.png

3、创建新的产品,上面有一个基本流程;

1704420205957637.png

创建产品(设备模型)的初步配置;

4、添加设备,不管是微信端还是NB的设备,对于阿里云来说都是设备,这个是添加设备的路径;

添加第一个设备,设备名称是自定义的,方便查找就可以,微信小程序端起名为IEMEWeChat;

第二个设备暂定为NB设备,起名为IEME_NB

设备创建完成后,这里有个非常重要的数据就是设备的三元组信息,一机一码。

5、接下来就是添加自定义Topic,路径如下:

自定义微信端的Topic,如下图:

6、进入云产品流转,创建规则(旧版),这一部分放到数据通信中具体去讲;



二、微信小程序配置流程

对于一个没有小程序开发经验的人来说,希望可以记录开发过程,问题及解决办法。本次的工程是通过“指针阿飞”的小程序工程修改。

1、首先通过网页版微信公众平台根据提示注册账号,一定要是用一个没有绑定任何微信的邮箱进行注册;

2、下载微信开发者工具,直接把小程序工程所在的文件夹拖到微信开发者工具中后就可以打开。

3、编译,并根据提示修改错误。

这时候提示的第一个开发问题,缺少阿里云三元组信息,将我们创建的微信端阿里云设备的三元组信息添加即可,如下:

 aliyunInfo: {

        productKey: 'a1DBaGcnm0S', //阿里云连接的三元组 ,请自己替代为自己的产品信息!!

        deviceName: 'IEMEWeChat', //阿里云连接的三元组 ,请自己替代为自己的产品信息!!

        deviceSecret: '*********', //阿里云连接的三元组 ,请自己替代为自己的产品信息!!

        regionId: 'cn-shanghai', //阿里云连接的三元组 ,请自己替代为自己的产品信息!!

        pubTopic: '/a1DBaGcnm0S/IEMEWeChat/user/IEME', //发布消息的主题

        subTopic: '/a1DBaGcnm0S/IEMEWeChat/user/IEME', //订阅消息的主题

      },

注意regionId根据你常见的设备地域去查询。

第二个错误提示“合法域名问题”,这个在微信开发者工具中可以在“详情-本地设置”中勾选【不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书】。

修改后提示连接成功,这个时候模拟器已经和阿里云的网络连接成功。

虽然显示连接成功,不过观看阿里云物联网平台中的微信端设备依然没有注册成功,实际就是没有收到过任何数据,可以通过点击“开灯”或者“关灯”向'/a1DBaGcnm0S/IEMEWeChat/user/IEME'发布消息实现设备的上线,返回到物联网平台查看微信端设备上线了,不过在对应设备中的“Topic列表”中并没有发现对应的订阅,通过测试发现不是物联网平台的问题,这个时候通过微信开发者工具重新连接后,在第一次发送消息时订阅成功,阿里云也能查看到相应的订阅 Topic 。我们通过相应的订阅 Topic发布消息,例如:

{"currentTemperature":"35","read":"10.2"}

可以看到小程序工程中的模拟器数据刷新了。这个时候阿里云与微信小程序端的数据已经跑通,不过这个只是第一步。

 

对于新版和旧版数据流转的体验,感觉对于傻瓜式配置的人来说旧版更亲和,可以自行生成脚本代码,而新版需要自行编写。

以旧版为例进行云产品流转配置:

1)创建新的流转规则;

2)编写数据处理,点击“编写SQL”,如下图进行配置:

这里需要注意,编写SQL的目的就是确定数据源(新版是需要创建一个数据源与自定义Topic关联),“字段”的选择,如果不需要筛选,直接转发请填写*。

3)转发数据添加操作(新版就是创建数据目的),实际就是转发的去向;

测试开始,下面就是NB设备与阿里云物联网平台的数据通信,这里使用下图(设备模拟器)进行测试:

几个概念需要明晰一下,自定义Topic是阿里云平台提供的可以发送随意消息的主题,物模型Topic是阿里云平台提供了一个用网页展示设备端数据的模型。一开始使用的是属性上报功能,虽然可以刷新阿里云设备中的“物模型数据”,但是在进行数据流转时总是有问题,不管是使用新版(调试时数据没有问题,但是一运行就会报错)还是旧版(最终导致微信端收到了一个空数据)都没有解决,当然也可能是对于新手来说,对于语法的掌握还不太理解。

强烈建议使用自定义Topic进行数据流转,通过上图的界面测试,如果你不知道怎么写测试的内容,可以在属性上报中随便填写一些看一看,回到自定义Topic中数据填写,如下:

{"id":1673789264618,"currentTemperature":15,"read":40,"version":"1.0","method":"thing.event.property.post"}

注意小程序工程中的显示字段与发送的字段要一致才能正常获取出来,还有一个就是如果不熟悉小程序开发,发送的信息中尽量不要使用多层嵌套。

下面就是将微信小程序上传了,注意在网页版微信公众号平台中需要配置服务器域名,而且只支持https协议,将a1DBaGcnm0S.iot-as-mqtt.cn-shanghai.aliyuncs.com添加,注意a1DBaGcnm0S根据你自己的设备修改,实际并没有通信成功,这里是通过添加IP地址白名单实现的数据通信。





关键词: NB设备     微信小程序     阿里云    

院士
2024-01-09 10:47:45     打赏
2楼

我一直以为上云会很难。

看了文章,发现也没有啥啊~~


工程师
2024-01-10 09:35:31     打赏
3楼

虽然用不到,但是还是要支持一下。


专家
2024-01-11 00:50:57     打赏
4楼

学习一下!谢谢分享!


院士
2024-01-11 08:55:13     打赏
5楼

我也找出来了一块带网口的开发板,准备按楼主的流程复刻一下


院士
2024-01-11 11:35:23     打赏
6楼

谢谢分享,学习了。


专家
2024-01-11 17:54:00     打赏
7楼

谢谢分享!使用云服务器的话,是不是要花票子租用空间?每年都得付费吧?



专家
2024-01-14 09:19:51     打赏
8楼

感谢楼主分享


共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]