学习日记——阿里云物联网平台

    科技2022-07-13  109

    文章目录

    前言一、阿里云物联网平台产品架构产品规格计费标准MQTT 二、阿里云创建产品和设备1、开通物联网平台2、创建产品3、添加设备4、接入阿里云物联网平台5、 规则引擎6、MQTT-FX7、修改MQTT例程 参考链接

    前言

    如何使用阿里云物联网平台,和如何连接物联网平台。

    一、阿里云物联网平台

    产品架构

    设备通过MQTT等协议将数据上报到阿里云物联网平台,之后通过规则引擎,将数据发送到阿里云其他云服务,来实现需要的功能。

    产品规格

    基础版:提供安全可靠的设备连接能力,提供设备管理和固件升级能力,支持规则引擎进行数据引流。 高级版:在基础版的所有功能的基础上,增加了Alink协议的支持,增加了其他的一些功能。 学会基础版的前提下再学习高级版这样会更加轻松。高级版其实就是在基础版的基础上增加了一些功能。 其他概念的理论可以到阿里云官网的帮助文档观看https://help.aliyun.com/document_detail/30523.html?spm=a2c4g.11186623.6.552.71a93d9cRUqulH

    计费标准

    在初次开通物联网平台的前两个月,有100万条消息的免费额度。

    MQTT

    阿里云物联网平台MQTT与标准MQTT的区别

    支持MQTT的PUB、SUB、PING、CONNECT、DISCONNECT、UNSUB等报文。支持clean session不支持will、retain mag不支持QoS2基于原生的MQTT Topic上支持RRPC同步模式,服务器可以同步调用设备并获取设备回执结果。

    二、阿里云创建产品和设备

    阿里云平台有一个月的免费试用,所以初学者可以尝试

    1、开通物联网平台

    首先打开阿里云官网,点进企业物联网平台

    点击免费尝试

    在开通物联网平台之前,需要先实名认证,可以选择个人实名认证和企业实名认证。实名认证之后可以开通物联网平台。

    开通之后,首页如下:

    2、创建产品

    创建产品并添加产品相关信息

    3、添加设备

    点击添加设备、选中对应的设备、然后添加即可

    可点击查看,可查看产品码、设备名、设备密钥等重要信息。

    当设备连接到阿里云物联网平台时,阿里云会根据这3个参数,鉴别设备的身份。再创建MQTT-FX客户端软件对应的设备,创建完成的两个云端设备如下所示:

    4、接入阿里云物联网平台

    首先我们接入阿里云物联网平台,我们需要获取以下内容

    以下是阿里云文档说明: https://help.aliyun.com/document_detail/73742.html?spm=a2c4g.11186623.6.588.5de26eebCAhXgL 地区和可用区如下所示:

    这三个参数的设置方法,参见CONNECT报文参数说明:

    其中,mqttClientId 和 mqttUsername 可以直接设置,mqttPassword比较麻烦,sign_hmac(deviceSecret, content) ,可以看到,mqttPassword 是根据设备密钥和content 进行哈希加密,而 content 又由多个参数字符合成。 这个如果自己实现会比较麻烦,可以使用自动生成的配置工具

    链接:https://pan.baidu.com/s/1kYLzobVkl7CVKoT1JME1TQ 提取码:ezle

    此工具,可以根据设备的三元组来生成MQTT连接的相关参数。 首先注意:SN/MAC这个参数。这个参数就是Clientid的值。这个值也会参与之后的哈希算法加密,一般设为设备的序列号和MACK地址。

    如果我们是练习或者是学习,可以随便设置一个。 将对应的参数复制粘贴后,直接点击生成基本信息即可。

    打开我们创建的产品,打开产品列表,点击参看,点击Topic列表。。可以看到预先定义了三个Topic。设备名在对应设备下会被替换。

    我们还可以创建新的Topic类。 点击确定即可。

    成功创建

    这个主题可以订阅消息或者是发布消息。注意,这个主题只可以操作这四个主题,对于其他的任何主题都没有操作的权限。

    5、 规则引擎

    规则引擎可以将设备上报到IOTHub的数据转发到其他设备,并且可以将数据发送到其他的云服务来实现不同的功能。下面实现,通过规则引擎将一个主题的消息转发到另一个主题。阿里云的规则引擎有多种,这次我们选用“云产品流转”“云产品流转”当产品基于Topic通信时可以在规则引擎的数据流转中,编写SQL对Topic中的数据进行处理,并配置转发规则将处理后的数据转发到其他Topic或阿里云的其他服务例如:将数据转发到另一个Topic中以实现M2M通信;将数据转发到RDS、表格存储、TSDB中进行存储;将数据转发到DataHub中,然后使用实时计算进行流计算,使用Maxcompute进行大规模离线计算;将数据转发到函数计算进行事件计算;可以转发到消息队列RocketMQ.消息服务实现高可靠消费数据。使用规则引擎的数据流转功能后,您无需购买服务器部署分布式架构,即呵实现采集+计算+存储的全栈服务。创建规则引擎: 规则引擎需要使用SQL语句(结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统) 设置SQL语句 创建成功,启动规则引擎;

    6、MQTT-FX

    MQTT-FX有问题的可以看以下我之前的学习日记 https://editor.csdn.net/md/?articleId=108580628 里面有详细的MQTT-FX操作说明,供大家参考

    7、修改MQTT例程

    设置好域名、设备ID、用户名、用户密码、wifi名、wifi密码以及修改持有人标识(每次都需要修改,随便修改即可)

    修改主题以及注释掉向主题的回应。 下载程序,复位8266 以上说明ESP8266接入物联网成功。 连接MQT-FX客户端,配置完成之后,向以下的主题发送JSON字符串。 主题为:/a132qqtzQPK/iot_light_mqtt.fx/user/SW_LED(每个都不同) 即可点亮LED灯

    参考链接

    https://baike.so.com/doc/87665-92587.html

    Processed: 0.020, SQL: 8