lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台

目录

1. 百度天工物接入

1.1 物接入简介

1.2 使用 IOT HUB

1.2.1 创建项目

1.2.2 创建策略

1.2.3 创建身份与创建用户

 1.2.4 MQTT 软件测试连接

1.2.5 MQTT 软件测试连接 

1.2.6 IOT HUB的规则引擎和数据可视化

2. 阿里云物联

2.1 使用阿里云物联

 2.2 MQTT FX连接测试

 2.4 阿里云物联的规则引擎


1. 百度天工物接入

1.1 物接入简介

物接入(IoT Hub)是面向物联网领域开发者的全托管云服务,通过主流的物联网协议(如MQTT)进行通信,可以在智能设备与云端之间建立安全的双向连接,快速实现物联网项目。支持亿级并发连接和消息数,支持海量设备与云端安全可靠的双向连接,无缝对接天工平台和百度云的各项产品和服务。物接入分为设备型和数据型两种项目类型,我们在这里使用数据型项目类型,传输一些温湿度数据,同时可以无缝对接时序数据库TSDB、物可视等,将数据实时显示出来,同时我们采用MQTT 协议与云端进行通讯。

1.2 使用 IOT HUB

最好的使用指导莫过于官方帮助文档,因此,在此简要说明。

详见官方文档:https://cloud.baidu.com/doc/IOT/index.html

在使用物接入服务前,必须要创建一个百度云账号用于管理我们的设备,所有的设备信息都是在云端后台进行管理的,地址:https://console.bce.baidu.com/iot2/hub/。

在使用IoT Hub 之前应先创建计费套餐并设定每个月收发消息的流量额度,每个用户只能创建一个计费套餐,所有项目将共享该套餐的额度,目前IoT Hub 的计费是很便宜的,每个月的前1000000 条消息是免费的,更多的消息数量请自行参考IoT Hub 的收费说明。

登录后主界面

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第1张图片

1.2.1 创建项目

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第2张图片

IoT Hub 是用于物联网设备的后台管理的,将设备接入IoT Hub 的第二步就是创建一个项目,每个项目会对应一个接入点(endpoint),一个项目就表示一个完整的物接入服务,首先登录物接入控制台页面:https://console.bce.baidu.com/iot2/hub/project/list,点击“创建项目”,填写需要创建 IoT Hub 服务的项目名称、选择项目类型为数据型,并提交即可,创建的项目,默认具有多种通信方式,我们暂时只关注TCP 连接方式即可,采用MQTT 协议与云端交互的,端口号是1883 。

补充说明一点:通过项目可以将不同项目的设备进行隔离和管理,一个项目下允许有多个用户(设备),用户与身份进行绑定,而每个身份需要绑定一个策略,而策略下可以创建多个不同的主题,因此一个设备可以订阅多个不同的主题,并且同一个项目下的主题是共享的,所有的设备均可进行订阅。

1.2.2 创建策略

点击“endpoint01”,进入项目里面,首先创建一个策略(简单来说就是主题),输入对应的名称与主题,选择发布与订阅权限,当创建完成后,项目下的设备就可以订阅这个主题。

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第3张图片

1.2.3 创建身份与创建用户

身份是设备连接IoT Hub 的重要途径,这里面包含了秘钥,标识着设备能否通过IoT Hub 的验证,这也是安全保障的主要操作,首先点击“身份列表”,再点击“创建身份”,然后根据自己的信息进行填写,在这里要注意的是需要勾选密码验证,再选择之前我们创建的策略进行绑定(如果没有则必须创建),当身份创建完成时候生成的秘钥是用于开发板连接IoT Hub 的必要条件,记住不能丢失,如果丢失了就找不回来了,在创建的时候就把它保存好。

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第4张图片

 

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第5张图片

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第6张图片

 在创建用户的时候,只需要把用户名设置好,然后再绑定身份即可,这样子一个设备就对应到云端了,并且可以向策略中设置的主题发布消息和订阅主题.

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第7张图片

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第8张图片

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第9张图片

当所有的东西都创建完成,我们点击身份操作中的“测试连接”,在网页上测试一下我们能不能正常进行MQTT 通信、发布与定阅主题,在页面中输入刚刚保存的秘钥,点击“connect”进行连接测试,如果前面的步骤全部做完,并且秘钥是正确的 ,就可以发现我们的连接是正常的,然后我们订阅一下之前创建策略时候的主题名字,再向这个主题发送一个消息,消息的内容由自己定义.

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第10张图片

 1.2.4 MQTT 软件测试连接

MQTT.fx 是一款基于Eclipse Paho,使用Java 语言编写的MQTT 客户端工具,支持通过Topic 订阅和发布消息。打开软件,点击设置,来配置客户端的基本信息,填写用户名与密码,进行连接.

官方下载链接:http://mqttfx.jensd.de/index.php/download

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第11张图片

配置完成之后,可以尝试连接,点击Connetc,当连接成功后,下面的Publish 与Subscribe 等选项是可以选择的,那么我们点击订阅选项Subscribe,输入订阅的主题,然后点击subscribe,可以发现已经成功订阅 。

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第12张图片

但是此时还未有消息,因此我们需要去Publish 选项中向这个主题发布消息,当发布成功后,订阅的主题就会回显出服务器发送给客户端的消息。

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第13张图片

1.2.5 MQTT 软件测试连接 

不做太多说明,可以参考MQTT移植及JSON,数据通过JSON发到IOT HUB。

1.2.6 IOT HUB的规则引擎和数据可视化

什么是规则引擎?简单来说就是一个中间层,它在软件上的实现能省去很多if/else 等判断的嵌套。但是我们现在说的IoT Hub 规则引擎是为了让业务逻辑更加清晰,从海量的物联网数据筛选出适合的数据,并将其进行储存、转发、汇报等操作,让业务规则也变得更加简单,因为在物联网中,数据量是非常巨大的,业务规则更是多种多样,IoT Hub 规则引擎就是需要将海量的数据与千奇百怪的业务规则变得简单,以适应业务规则的多样性,我们只需要在后台设置一些规则,就能让数据产生不同的作用。而物联网产品会产生大量的数据上报到云端,这些数据往往对应着不同的应用分析场景,如监控厂区的温度湿度监控点,每分钟都会有温度和湿度数据传往云端,对于这些数据,我们往往希望它们发挥不同的作用,并且实时性要非常好,以便在出现问题的时候第一时间能得到告警作用,例如以下应用场景:

1. 实时告警异常的数据,如温度湿度过高或者过低;

2. 分析数据,统计两个小时内的温度最大最小和均值等;

3. 将全部的数据做冷备份以便查询;

4. 对去除异常数据之后的正常数据做数据分析和预测等等。

而规则引擎就是通过灵活的设定规则,将设备传上云端的数据,送往不同的数据目的地(如监控告警设备、时序数据库TSDB、Kafka、对象存储BOS 等)以达到不同的业务目标。

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第14张图片

详细使用见官方文档。

数据可视化,顾名思义,了解一下,详细见官方文档。

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第15张图片

2. 阿里云物联

既然懂得专门连接百度天工物接入,那么连接阿里云物联其实也是一样的,因为都是基于MQTT 协议进行通信的,首先打开阿里云物联:https://iot.console.aliyun.com/product,创建账号并登陆,而且阿里云物联是需要通过实名认证才能使用的。相对于百度天工物接入,阿里云物联的安全性更好,因为即使是客户端连接服务器都需要各种验证,还使用哈希加密算法进行加密。

2.1 使用阿里云物联

首先在“产品”信息中创建一个产品,每个产品下允许有多个设备,产品就是设备的集合,通常是一组具有相同功能定义的设备集合。例如:产品指同一个型号的产品,设备就是该型号下的某个设备。操作步骤“创建产品”->“高级产品”->填写产品信息,联网方式选择“以太网”,这样子一个产品就创建完成。

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第16张图片

然后在“设备”选项中添加一个设备,比如我们添加一个“dev_temp_hum”设备,是开发板的温湿度数据采集设备,在创建完成后,会有设备证书,这个一定要保存好,丢失了就找不回来了 .

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第17张图片

最后我们定义一个主题(Topic 类列表),让设备能对这个主题进行订阅或者发布操作,回到“产品”选项,选择“Topic 类列表”,定义“Topic 类列表”,再填写“Topic 类列表”的信息即可,注意选择设备的操作权限“发布和订阅”,这点很重要,如果没有权限,设备是无法对这个主题进行操作的,至此,一个产品与设备就创建完成了,当然,为了更好调试,我们可以尝试创建多个设备,以备在后续进行调试。 

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第18张图片

 2.2 MQTT FX连接测试

在创建完成后,可以通过MQTT 软件来测试一下能否正常连接,在这一步之前必须已在物联网平台控制台中创建产品和设备,并获取设备证书信息(ProductKey、DeviceName和DeviceSerect)。

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第19张图片

参数看起来很简单,但是它的组成却不简单,简单介绍,详细见官方文档。

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第20张图片

小工具链接:https://download.csdn.net/download/xiewinter/11838002

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第21张图片

把信息全部填写完毕,可以测试连接,点击Connect,然后在订阅选项Subscribe 中,输入订阅的主题“/a1MZHjK2SCF/fire_temp_hum/user/temp_hum”,这个主题可以在“设备”选项中的“Topic 列表”得到,然后点击subscribe,可以发现已经成功订阅,然后对这个主题进行发布操作,我们就能看到订阅已经收到发布的消息,表明MQTT 通信成功 .

lwIP TCP/IP 协议栈笔记之二十一: 百度天工物和阿里云物联 IOT接入平台_第22张图片

 2.4 阿里云物联的规则引擎

与百度的规则引擎作用是一样的,可以将收到的消息进行不同的业务处理,比如我们也利用规则引擎监控开发板的稳定数据。首先,打开规则引擎设置页面:https://iot.console.aliyun.com/rule/list,点击创建一个规则,填写基本的规则信息,并且选择数据的格式是JSON 格式.

详情见官方文档。在此不做赘述。

链接阿里云例程:https://download.csdn.net/download/xiewinter/11838011

注:随着IOT 发展,各种物联平台很多,但大同小异。

 

 

 

你可能感兴趣的:(MQTT,嵌入式开发,LWIP)