百度云的天工物联网服务目前包括:物接入、物解析、物管理、时序数据库和规则引擎等5大部分,本篇文章仅介绍物接入。

天工物联网的物接入,从开发者的角度来说相对有些复杂,需要多步操作才能实现一个云设备的创建,下面我们将详细介绍一下相关的步骤:

第一步:创建实例(类似工程中的项目概念)

支持三种方式访问。TCP,SSL(TCP加密通道),WSS(WebSocket 加密通道)。

第二步:创建设备

第三步:创建身份

天工物联网对设备的访问增加了身份这一个功能,这样对一个项目来说,安全性有了一定层度的提升,比如有些模块,只有上传的功能,那么可以绑定一个低权限的身份。或者是联合进行项目开发的时候,有些设备需要第三方合作开发,那么为第三方配置一个身份即可,约束其要传或收的topic即可。

第四步:创建策略

每个身份其实可以绑定若干个策略,每个策略对应若干个topic主题。和微软及阿里不同,百度的topic没有默认主题,这里我们创建一个相对通用的“yfiothub/yfdevice01/#”。也就是说这个节点下的所有topic都可以订阅也可以发布。

第五步:获取访问密钥

这个密钥其实是和身份绑定的,而不是和设备绑定的,不同的身份对应不同的密钥,不同的身份包含的策略也不一样。所以相同的用户名,不同的密钥对应的身份不同。

完成以上5步操作,那么我们就可以让设备来对接物联网云平台了。

和微软及阿里的物联网平台不同,百度的云连接非常简单。客户ID可以任意,用户名就是和设备对应的用户名,密码就是身份对应的密码,没有所谓的toKen等概念。

发布和订阅的topic,我们仿照阿里的分别定义为:

yfiothub/yfdevice01/update

yfiothub/yfdevice01/get

除了代码编写外,同样我们也做组态的方案,具体实施步骤如下:

第一步:添加设备

设备变量自动生成

第二步:增加百度云MQTT客户端策略

填写完服务器配置信息,然后勾选需要上传的IO变量

第三步:部署运行

相对于微软和阿里,天工物联网的“设备列表”下有一个“连接测试”的功能,可以直接进行通信监控。单击“连接测试”,进入如下页面,需要配置相关信息。

用户名就是设备对应的用户名,身份密钥就是身份对应的密钥。目前该测试页面仅支持WSS方式连接。

连接成功后,我们就可以进行订阅和发布操作了(如下图所示)。

【物联网云端对接-4】通过MQTT协议与百度云进行云端通信的更多相关文章

  1. [Micropython][ESP8266] TPYBoard V202 之MQTT协议接入OneNET云平台

    随着移动互联网的发展,MQTT由于开放源代码,耗电量小等特点,将会在移动消息推送领域会有更多的贡献,在物联网领域,传感器与服务器的通信,信息的收集,MQTT都可以作为考虑的方案之一.在未来MQTT会进 ...

  2. 【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信

     在<程序员>杂志2017.4刊上,曾写过一篇<微软百度阿里三大物联网平台探析>,上面曾介绍了阿里云物联网套件的一些内容,在写该篇文章的时候,凌霄物联网网关还无法对接到此平台( ...

  3. 转战物联网·基础篇09-选择MQTT协议还是CoAP协议

      前面章节介绍过,MQTT协议和CoAP协议都是物联网中比较流行的协议,都对传输量做了很大的精简,传输开销小,以适应物理网的网络环境.   XMPP协议也有人说是适合物联网通信的,但它是基于XML, ...

  4. 转战物联网·基础篇08-例说MQTT协议各控制报文

      前面讨论了MQTT协议的控制报文的格式,下面分别举例探讨各个控制报文的详细内容. 01.CONNECT – 连接服务端   客户端到服务端的网络连接建立后,客户端发送给服务端的第一个报文必须是CO ...

  5. 【物联网云端对接-3】通过MQTT协议与微软Azure IoT Hub进行云端通信

    在上一篇文章<通过MQTT协议与阿里云物联网套件进行云端通信>中,我们介绍了通过MQTT对接阿里云的物联网套件.其实同样的代码,稍加调整也可以对接到微软Azure IoT hub上,不过需 ...

  6. 物联网网关开发:基于MQTT消息总线的设计过程(上)

    道哥的第 021 篇原创 目录 一.前言 二.网关的作用 2.1 指令转发 2.2 外网通信 2.3 协议转换 2.4 设备管理 2.5 边沿计算(自动化控制) 三.网关内部进程之间的通信 3.1 网 ...

  7. 什么是MQTT协议?

    MQTT协议介绍 MQTT协议是什么? MQTT(Message Queuing Telemetry Transport Protocol)的全称是消息队列遥感传输协议的缩写,是一种基于轻量级代理的发 ...

  8. MQTT协议及EMQ应用

    MQTT是基于TCP/IP协议栈构建的异步通信消息协议,是一种轻量级的发布/订阅信息传输协议.MQTT在时间和空间上,将消息发送者与接受者分离,可以在不可靠的网络环境中进行扩展.适用于设备硬件存储空间 ...

  9. 物联网项目开发必读 深度分析MQTT协议优缺点

    物联网并不仅仅是一种网络,而是一个新的生态环境,它描述的本质是越来越多的使用物品通过网络连接在一起并可使用单个或者多个的终端设备对它们进行各种控制和使用—当然,工业上的物联网通常连接到的石鼓传感器或者 ...

随机推荐

  1. 在线用户数-Constants

    package com.pb.news.constants; public class Constants { public static int ONLINE_USER_COUNT=0;//在线用户 ...

  2. JavaScript+canvas 绘制多边形

    效果图: <body> <canvas id="square" width="500"></canvas> <canv ...

  3. 怎么在linux ubuntu 上的nginx 绑定域名

    前一篇介绍了,如果在ubuntu上运行nodejs,毕竟访问的时候都是用ip地址+端口号,但是上production 环境都需要域名的,IP地址当然不行 读过上一篇的朋友知道了,如果在upstart ...

  4. 关于sessionStorage的移动端兼容问题

    最近在开发移动端项目时,需要用到的本地存储的地方不少.都是一些只要记住当前打开窗口的用户数据就行,所以我选择用的sessionStorage.使用场景如下: A.html页面需要记录一条数据{a:1, ...

  5. docker~使用阿里加速器安centos

    回到目录 上一篇说了hub.docker.com里拉个镜像太,而阿里云为我们做了不少本国镜像,这样下载的速度就很惊人了,下面看一下在centos7下配置阿里云加速器的方法 打开服务配置文件 vi /e ...

  6. 20170713_filter/sort

    js:filter过滤数组元素 //1.数组取奇数 var arr = [1,2,3,4,5]; var r = arr.filter(function(x){ return x % 2 !== 0; ...

  7. FreeRTOS——队列管理

    1. 队列主要用于任务与任务.中断与任务之间的消息传递. 2. 创建队列时,请注意队列中数据单元的长度. 3. 通常情况,队列被作为FIFO(先进先出)使用,即数据从队列尾写入,从队列首读.当然,数据 ...

  8. struts2.0的工作原理?

    struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说 struts2是struts1和Webwork结合的产物. struts2 的工作原理 ...

  9. Mac下安装 MongoDB

    Mac 下安装 MongoDB 一般有两种方法,一种是通过源码安装,一种是直接使用 homebrew ,个人推荐使用 homebrew ,简单粗暴. 1.安装 homebrew : /usr/bin/ ...

  10. 转:MVC Html.AntiForgeryToken() 防止CSRF攻击

    (一)MVC Html.AntiForgeryToken() 防止CSRF攻击 MVC中的Html.AntiForgeryToken()是用来防止跨站请求伪造(CSRF:Cross-site requ ...