MQTT接入阿里云IoT平台应用案例

发表时间:2022-07-05 10:23作者:蓝蜂物联网来源:蓝蜂物联网网址:http://www.lanfengkeji.com


MQTT接入阿里云IoT平台


前言:此文档旨在介绍阿里云IoT平台配置MQTT的方式方法,从而可以使用蓝蜂MQTT网关将下位机数据传输到阿里云IoT平台。按照如下步骤就可以成功实现数据上云的功能。

、配置阿里云IoT平台

1.1登录

进入阿里云IoT平台官网(https://www.aliyun.com/),登录账号,然后点击右上角控制台。

进入控制台后,选择【产品与服务】→【物联网平台】。或直接搜索“物联网平台”。

注:第一次使用阿里云 IoT 平台物联网服务器需要先开通服务才能使用,跟随界面提示点击即可。

这样便可进入物联网平台

1.2创建产品

点击实例,可进入实例详情,点击【设备管理】-【产品】-【创建产品】,如图

【产品名称】:自定义

【所属品类】:选择标准品类时,可选择与自己产品设备相近的模型,选择后系统可自动为您创建必选功能,也可根据需要添加可选功能和自定义功能,本文档选择自定义品类,自定义功能

【节点类型】:选择直连设备

【联网方式】:蜂窝(2G/3G/4G/5G)

【数据格式】:ICA标准数据格式(Alink JSON)

【校验类型】和【认证方式】可保持默认

1.3添加设备

创建产品完成后,点击【确认】按钮后,可进行添加设备,点击【前往添加】。

DeviceName】:设备名称DeviceName建议填写蓝蜂网关sn编号,可方便后续对配置文件进行导入导出操作,本示例填写的为网关sn编号200121091367。

点击【确认】按钮,添加完成,可在设备列表中看到添加的设备。

点击【查看】按钮,可查看设备的连接参数以及其他详细信息

可以看到我们创建的设备的三元组,如图

1.4配置阿里云IoT平台物模型

在阿里云IoT平台,点击【产品】,找到我们创建的产品,点击【查看】按钮,如图

进入产品中,点击【功能定义】-【编辑草稿】

进入编辑草稿页面,点击【添加自定义功能】,这里我们添加属性,添加温度,湿度和开关三个属性,您可根据自己需求进行填写,如图

注意:数据类型需要根据设备每个属性的实际情况进行选择,在后面使用蓝蜂MQTT网关配置工具配置时,需要与之进行匹配。

区别于EMCP物联网云平台,此处不需要填写变量的地址,数据是根据“标识符”来展示的。建议在创建变量后将创建的“变量名称”、“标识符”、“数据类型”记录下来,如下表。在之后的蓝蜂MQTT网关配置工具中会用到。


变量名称
标识符
数据类型
温度
temperature
int32(32位整形)
湿度
Humidity
int32(32位整形)
开关
Switch
Bool(开关量)



添加完成后,列表中可看到我们添加的3个属性,点击左下角【发布上线】

注:

1、如果想要修改创建好的功能类型,点击编辑草稿即可。

2如果想要创建新的模块(类似于变量的分组)点击编辑草稿→添加模块即可。


至此,按照如上步骤,对于阿里云平台的设置就完成了,下面我们进行连接设置。

配置蓝蜂MQTT网关配置工具

将网关通电联网,使用电脑与网关232串口连接,使用本地串口配置方式登录进入蓝蜂MQTT网关配置工具,详细配置工具使用说明请参考《蓝蜂MQTT网关配置工具使用说明》

2.1登录

打开“蓝蜂MQTT网关配置工具”,此处必须使用本地串口配置的方式进行配置,如图:

使用232串口,将网关的RS232口使用USB转232线接到电脑串口上,同时填写配置参数,包括选择通讯口,波特率,数据位,数据校验,停止位。默认参数为115200,8,无,1。

【通讯口】:选择正确的串口号,可在电脑的“设备管理器”中查看。本机为COM4。

【读取网关串口参数】:如果对于串口参数并不了解,可点击“读取网关串口参数”按钮,客户端会主动搜索并填入已选中的串口的参数。前提是必须选择正确的通讯口。

【记住配置】:点击“记住配置”按钮后,会记住当前配置,避免每次进入时需要重新配置的问题,再次进入时可直接进行连接操作。

点击“立即连接”按钮,稍等片刻即可进入网关配置工具进行配置。

2.2连接阿里云IoT平台

进入蓝蜂配置工具后,点击【MQTT连接】-【MQTT连接配置】,可用于配置连接的MQTT服务器的参数。配置完成后,网关即可连接MQTT服务器

对于连接阿里云服务器的参数,可在阿里云IoT平台查找,点击【设备】按钮,可在阿里云IoT平台找到上述创建的设备,如图

点击设备后面的【查看】按钮,可找到连接参数,如图

将弹窗中的参数分别粘贴填写到蓝蜂MQTT网关配置工具的连接配置页面,如图

其他参数默认填写

注意:将连接参数从阿里云IoT平台粘贴填写到蓝蜂MQTT网关配置工具时,参数前面和后面不要留有空格,否则将无法连接阿里云IoT平台。

填写完成,点击【保存】按钮,需要重启网关,配置才会生效,可正确接入阿里云IoT平台,连接成功后,可在阿里云IoT平台看到设备已正常在线

2.3添加驱动、变量

在驱动管理页面为网关添加驱动,可按照自身设备进行填写,如图,详细添加驱动使用说明请参考《蓝蜂MQTT网关配置工具使用说明》。

添加驱动完成后,可为设备添加需要采集的变量参数,可添加上我们在阿里云IoT平台添加的3个参数,在阿里云IoT平台找到我们配置发布的3个参数,如图

进入产品后,点击【功能定义】,可在里面看到我们创建的3个属性,如图

我们依次将3个参数添加到蓝蜂MQTT网关配置工具的变量管理中

添加完成后,如图

注意:蓝蜂MQTT配置工具中的变量标识必须与阿里云IoT平台的属性标识符保持一致且大小写一致,这样阿里云IoT平台才会正确解析物模型。

注:

网关会将创建的所有变量上传到阿里云IoT平台,由IoT平台根据标识符来判断数据是否采集、展示。

、上报数据

3.1上报数据配置

要想实现设备上报数据到阿里云IoT平台,我们需要先在蓝蜂MQTT网关配置工具中进行上报数据配置

点击【数据传输配置】-【数据上报配置】,我们可在数据上报配置中设置上报主题

对于上报主题我们需要在阿里云IoT平台打开对应设备的topic列表找到属性上报topic,如图

进入产品后,点击【topic类列表】-【物模型通信topic】,即找到属性上报主题,如图

主题中的通配符${deviceName}需要替换成我们这个产品中创建的设备的三元组中的DeviceName

我们的示例在阿里云IoT平台创建的设备的DeviceName为网关sn编号200121091367,而在蓝蜂配置工具中可使用通配符${sn}代替200121091367。

因此我们的上报主题为/sys/gqbaihhDlTb/${sn}/thing/event/property/post,我们将该主题写入数据上报配置中的上报主题中,如图

【上报方式】:可按需求填写,此处我们选择定时上报

※【加工脚本】如下,复制粘贴即可,一般不需要进行修改:

function reportToJson(signalArray, system){

    var json ={

        id: system.msgId,

        version:"1.0",

        sys:{ ack : 0},

        method: "thing.event.property.post",

        params:{}

    }

    var time = new Date().getTime();

    for(var i=0; i<signalArray.length; i++){

        var signal = signalArray[i];

        json.params[signal.key] = {

            time:time,

            value:Number(signal.value)

        }

    }

    return JSON.stringify(json);

}

点击确定按钮,配置完成,配置完成后,将网关重启,并将网关接入设备后,采集到的数据就可上报到阿里云IoT平台了。

3.2查看数据

当设备采集到数据并上报到阿里云IoT平台后,我们可以在阿里云IoT平台,点击设备,找到我们接入的设备

点击查看按钮,进入设备详情中,点击物模型数据,便可查看到我们采集到的数据,如图

点击【查看数据】按钮,可查看该属性的历史数据详情,如图

、写入数据

4.1写数据配置

从阿里云IoT平台向设备写入数据,需要在蓝蜂MQTT网关配置工具中对写入进行配置

点击【数据传输配置】-【写变量配置】,我们可在写变量配置中设置请求和响应主题

对于请求和响应主题我们可以在阿里云IoT平台打开对应设备的topic列表找到属性设置topic,如图

进入产品后,点击【topic类列表】-【物模型通信topic】,即找到属性设置主题,如图

主题中的通配符${deviceName}需要替换成我们这个产品中创建的设备的三元组中的DeviceName

我们的示例在阿里云IoT平台创建的设备的DeviceName为网关sn编号200121091367,而在蓝蜂配置工具中可使用通配符${sn}代替200121091367。

因此我们的请求主题为:/sys/gqbaihhDlTb/${sn}/thing/service/property/set,

响应主题为:/sys/gqbaihhDlTb/${sn}/thing/service/property/set_reply

我们将请求主题和响应主题写入写变量配置中的请求和响应主题中,如图






※【请求解析脚本】如下,复制粘贴即可,一般不需要进行修改:

function writeReqToJson(str){

    if(str!=""){

    var req = JSON.parse(str)

    var keys = Object.keys(req.params)

    var key = keys[0]

    var msgId = req.id

    var json = { key: key, value:req.params[key]+"",msgId:msgId}

    return JSON.stringify(json)

    }   

       return {}

}



※【响应加工脚本】如下,复制粘贴即可,一般不需要进行修改:

function writeRespToJson(signal, system){

    var json = {

        "code": 200,

         "data": {},

         "id": system.msgId,

         "message": "success",

         "version": "1.0"

    }

    return JSON.stringify(json)

}


点击确定按钮,配置完成,配置完成后,将网关重启,并将网关接入设备后,就可以从阿里云IoT平台直接控制设备进行写入数据了

4.2向设备写入数据

打开阿里云IoT平台,点击【监控运维】-【在线调试】,选择我们想要写入数据的设备,如图

找到想要写入数值的属性,我们此处对温度进行写入数值36,如图

设置成功后,数值便写入成功了,在阿里云IoT平台数值查看处我们也可以看到我们写入成功的数据,如图

注意:

点击“获取”时,获取到的值是阿里云平台最后一次成功通讯的值。即使获取成功,也不能说明网关和下位机通讯正常。



、注意事项

1、LF220网关暂时不支持web配置页,目前暂时不能设置交换机和路由器模式。

2、在打开蓝蜂MQTT网关配置工具之后,请勿关闭已打开的命令行窗口,或修改浏览器内地址,否则将无法正常使用配置工具。

3、连接阿里云IoT平台时建议将网关的“透传设置”、“采集异常设置”、“状态上报设置”关闭。

4、配置成阿里云服务器以后,再次配置网关时只能使用RS232转USB本地配置,不能使用在线配置。

5、配置LF220网关参数时必须要和阿里云服务器中设置的一致。

6、阿里云服务器(或其他服务器)有自己固定的格式,需要编写对应的脚本。阿里云服务器脚本按照文档中填写的即可,可以直接复制粘贴。

7、如果串口232是7位时,串口连接点击升级,升级成功客户端不会提示升级成功,但是网关实际会升级成功。

8、蓝蜂MQTT网关配置工具的网关编码格式为UTF-8。

9、兼容性:win7, win10, win11系统,不支持winxp及更低版本windows系统,不支持linux、MacOS、android和ios系统。







河北蓝蜂信息科技有限公司

公司电话:0311-68025711

技术支持:400-808-6168官方网站:www.lanfengkeji.com



相关文章

相关文章

副标题

商务咨询:400-808-6168
智能硬件
应用案例
资源中心
商务合作
关于蓝蜂
河北蓝蜂
微信公众号
河北蓝蜂
微博
云组态
农业物联网
PLC远程监控
设备远程监控
工业互联网平台
物联网网关
PLC远程控制
物联网云平台
工业物联网
物联网平台
2020河北蓝蜂信息科技有限公司版权所有
定制申请
空压机远程监控
变频器远程监控
空气源热泵远程监控
太阳能系统远程监控
气膜建筑远程监控
锅炉远程监控
暖通空调远程监控
自动化养殖远程监控
餐厨垃圾处理远程监控
智能养鱼塘远程监控
换热站远程监控
水质监测云平台
工业网关
工业物联网云平台
物联网解决方案
物联网解决方案
工业云平台
远程控制系统
智能环保平台
云组态平台
物联网开发平台
农业物联网平台
工业物联网应用
物联网控制
农业物联网系统
PLC远程通讯网关
工业远程控制
物联网模块
数据采集设备
数据采集网关
工业无线网关
4G数传网关
PLC远程模块
远程网关
设备远程控制
在线客服
 
 
——————
咨询电话
400-808-6168
13582025608
微信扫码咨询
website qrcode