Use Iot Hub

此篇文章一是用作教程,二是后期自己会回顾看看。 CET-4.Zhuangbility by Google Translate.

最终目的

连上IOT云进行数据传输。

IOT云

目前市面上的提供IOT云服务的厂商或者组织许许多多。可以百度:IOT云。挑选一个靠谱的接入商也很重要。从文档教程丰富性和发展历史的角度,此片教程选择了百度云IOT物接入服务

MQTT协议

目前各大物联网云提供商接入的协议大致有MQTT,COAP或者LoraWan等低功协议。其中作为主流的MQTT,各家支持的都比较好。MQTT是基于TCP协议的一种低功耗协议。具体可看百度云上的MQTT介绍。这里百度云IOT就相当于一个代理服务器。

相关名词

  • ‘Keep Alive’:MQTT协议是一个客户端和服务器端长连接的过程。Keep Alive timer以秒为单位,定义的是从客户端相邻两次接收消息的最大间隔时间,也可以说是一次长连接的保持时间。因此,客户端每隔一段时间就需要向服务器发送数据来保持连接(相当于心跳报文的功能),服务器接收到连接信息后,会反馈一个响应ACK。当服务器端在Keep Alive timer的1.5倍时间内都没有收到来自客户端的任何消息,就会默认为客户端断开连接。
  • ‘Clean Session’:如果该位被设置为false,则该连接被认为是持久连接,其具体表现为:当该客户断开后,任何订阅的主题和QoS被设置为1或2的信息都会保存,直到该客户端再次连接上server端,物接入服务支持将该消息保留24小时。若“clean session”被设置为true,当该客户断开后,所有的订阅主题都会被移除。
  • ‘Last-Will’:当一个客户端断开连接的时候,它希望客户端可以发送它指定的消息。该消息和普通消息的结构相同。通过设置Last-Will Topic和Last-Will Message实现。
  • ‘QoS’: 相当于一个等级。与其他参数有关,比如Last-Will。

快速接入

注册并登录IoT Hub

  • 注册并登录百度云平台,请参考注册和登录
  • 登录成功后,导航栏选择“产品服务>物接入IOT Hub”,即可开始使用物接入服务。

创建计费套餐

  • 点击“实例列表”,选择一种计费方式,物接入或者物接入(SIM)版.
  • 普通物接入首次是免费的,SIM版是1块钱3张卡,顺丰到付。 江浙沪18元左右。
  • 本教程使用的是普通物接入。

创建实例

  • 创建一个实例(名字可能会有冲突,全网唯一)

创建设备

  • 点击刚刚创建的实例,进入创建设备。

  • 下一步,创建身份,选择密码认证。证书认证需客户端选择不同的认证方式。

  • 下一步,设置策略。名称随意取。下面的主题和权限意思是这个策略有几个主题,选择这个策略的身份具有的权限。 图上配置了改策略具有两个主题。其中一个是不可以订阅的,后期测试时会进行对比。

  • 下一步,生成密钥,点击复制(最好找个txt黏贴起来,否则只能后期生成,一个身份一个密钥)。

  • 关于实例,设备,身份和策略的理解。

  • 实例是一个全百度云唯一的识别号,百度云需要依靠这个ID来开一个唯一的端口接收数据。
  • 设备,身份,策略是绑定的。 一个设备对应一个UserName。一个身份对应一个密钥。在客户端配置选项中,将两个值填入登录账号密码选项中,这个Client的性质就确定了,这里的性质指的是它具有的发布或者订阅哪些主题的权限,这些权限是在策略里被配好的。所以策略是通用的,一个身份可以选择不同的策略,一个设备也可以绑定不同的身份来获取不同的权限。
  • 完成,返回设备列表。

进行测试

  • 下载MQTT.fx

  • 这里不使用百度云设备列表里提供的连接测试选项,而是开两个MQTT客户端,这样有利于整个过程的理解,客户端和百度云提供的网页客户端唯一区别就是端口不一样,它只能使用服务器的8884端口,然而我们只能使用1884端口。。

  • 点开两个MQTT.fx客户端。点击设置按钮进入选项卡,点击右下角的加好进行配置的添加。

  • Profile Name 填写一个方便识别的。
  • Broker Address填xxxxx.mqtt.iot.gz.baidubce.com(这个里xxx是之前创建的实例名)。
  • Broker Port填1884.
  • Client ID随意填写。后期我们还要再开一个,所以后面用数字标号做区分。(很关键,不能相同)
  • 点击下面的User Credentials。输入设备列表下的UserName,密钥是刚刚让你复制进txt里的那串字符串。
  • 切换至SSL/TLS,如图打钩。如果是选择证书认证,则需要点CA certificate file,然后上传下载的文件。

  • 点击Apply,返回后点击Connect。
  • 另一个客户端和之前那个一样配置,唯一不同的是Client ID。
  • 订阅(Subscribe),发布(Publish)不同的主题(默认Qos 0)。这里值得注意的是,Value2是没有订阅权限的,但是可以发布。只要代理服务器有个客户端的身份具有订阅Value2的权限,就可以收到信息。。
  • MQTT.fx客户端只要有越权限操作,就会与代理服务器失去连接。

开始上传

  • 点击设备列表的连接测试选项。这也相当于一个MQTT客户端,填入相同的字段,点击连接。输入订阅的Topic,然后客户端Publish相同Topic的消息,便可收到。

使用实物终端的MQTT客户端来上传数据

等待添加

如何使用这些数据

等待添加


Comment