百度云的天工物联网服务目前包括:物接入、物解析、物管理、时序数据库和规则引擎等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. Vuejs——v-on

    版权声明:出处http://blog.csdn.net/qq20004604   目录(?)[+]   资料来于官方文档: http://cn.vuejs.org/guide/events.html ...

  2. windows平台python 2.7环境编译安装zbar

    最近一个项目需要识别二维码,找来找去找到了zbar和zxing,中间越过无数坑,总算基本上弄明白,分享出来给大家. 一.zbar官方介绍 ZBar 是款桌面电脑用条形码/二维码扫描工具,支持摄像头及图 ...

  3. C# 中的 ConfigurationManager类引用方法应用程序配置文件App.config的写法

    c#添加了Configuration;后,竟然找不到 ConfigurationManager 这个类,后来才发现:虽然引用了using System.Configuration;这个包,但是还是不行 ...

  4. json和xml封装数据、数据缓存到文件中

    一.APP的通信格式之xml xml:扩展标记语言,可以用来标记数据,定义数据类型,是一种允许用户对自己标记语言进行定义的源语言.XML格式统一,扩平台语言,非常适合数据传输和通信,业界公认的标准. ...

  5. CJOJ 2022 【一本通】简单的背包问题(搜索)

    CJOJ 2022 [一本通]简单的背包问题(搜索) Description 设有一个背包可以放入的物品重量为S,现有n件物品,重量分别是w1,w2,w3,-wn. 问能否从这n件物品中选择若干件放入 ...

  6. 事务之使用JDBC进行事务的操作2

    本篇将讲诉如何使用JDBC进行数据库有关事务的操作.在上一篇博客中已经介绍了事务的概念,和在MySQL命令行窗口进行开启事务,提交事务以及回滚事务的操作. 似乎事务和批处理都可以一次同时执行多条SQL ...

  7. (转)Mysql数据库存储引擎

    什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合.     我们通常说的MySql数据库,sql server数据库等 ...

  8. Yii框架用ajax提交表单时候报错Bad Request (#400): Unable to verify your data submission.

    提交表单报400错误,提示 "您提交的数据无法验证"原来是csrf验证的问题,因为表单是自己写的,在Yii框架中,为了防止csrf攻击,对post的表单数据封装了CSRF令牌验证. ...

  9. windows下配置cygwin和dig的环境变量

    配置cygwin和dig的环境变量 打开"控制面板"("开始">"设置">"控制面板"),然后双击" ...

  10. R语言成功加载rJava方法

    加载rJava的同时,要下载JAVA的JRE并且配置环境变量JAVA_HOME,因为rJava的调用需要java运行环境. 1.下载JRE 64位版本的JRE官网下载:http://www.java. ...