首页 > 技术知识 > 正文

前言

各位读者好,截止目前,ThingsBoard系列文章已经做了六篇,分别是

ThingsBoard教程(一):ThingBoard介绍及安装 ThingsBoard教程(二):租户,租户配置,部件组模块的使用 ThingsBoard教程(三):系统设置模块的使用 ThingsBoard教程(四):规则链简介与操作 ThingsBoard教程(五):客户,资产管理 ThingsBoard教程(六):设备管理

上一篇我们讲解了如何使用设备管理来对设备进行增删改查,和设备配置的一些基本概念,本篇文章就带大家使用tb提供的http接口,来对设备的进行遥测。

基本概念

tb做为一个多租户的物联网平台,文档也很齐全。后端使用的是java语言编写的,可以用swagger来导出文档。tb的所有服务都可以通过接口来看到。接口主要分为两部分,一部分是设备API,另一部分是用于服务端API。 在我们启动tb之后,可以通过http://ip +port/swagger-ui.html 来访问tb的所有接口。以我的tb为例,我的tb访问地址是http://192.168.99.102:8080/,那么接口文档的swagger的文档访问地址就是 http://192.168.99.102:8080/swagger-ui.html/ 打开swagger文档之后,你会看到tb所有的接口,这里边有太多接口 ThingsBoard教程(七):模拟设备遥测

首先那顶部我们可以对接口进行授权,授权之后,就能直接在这个页面对接口进行测试,并且直接调用接口来创建,删除数据。非常方便快捷。 下面来演示一下。 点击右上角的Authorize按钮,会有一个弹窗. ThingsBoard教程(七):模拟设备遥测1 在这里需要属于一个授权秘钥,token。怎么获取那?

首先是要使用一个用户登录tb, 然后按下F12, 刷新一下页面可以看到很多HTTP请求, 点开一个HTTP请求,查看详情 复制Request Header 中的 X-Authorization值 到授权的弹窗中 ThingsBoard教程(七):模拟设备遥测2

授权之后是如此的页面, 表示已经登录了。可以使用接口文档 ThingsBoard教程(七):模拟设备遥测3

使用查询客户的接口来测试一下 点击客户控制器里 customer-controller,然后点击GET /api/customers{?textSearch,sortProperty,sortOrder,pageSize,page} 这个接口。 在 Parameters 中输入 二个参数 一个是 pageSize表示每页多少条,一个是 page表示第几页,注意,这里的第几页是从0开始算的,不是从1开始算的。

ThingsBoard教程(七):模拟设备遥测4

点击Try out,就能发送一个请求了。下面是 他的返回结果

ThingsBoard教程(七):模拟设备遥测5

是不是很简单。

这里列举一下TB的接口模块,一共分为26个模块

admin-controller : Admin Controller 管理员接口 alarm-controller : Alarm Controller 告警模块接口 asset-controller : Asset Controller 资产接口 audit-log-controller : Audit Log Controller 审核日志接口 auth-controller : Auth Controller 授权接口 component-descriptor-controller : Component Descriptor Controller 组件描述接口 customer-controller : Customer Controller 客户接口 dashboard-controller : Dashboard Controller 面板接口 device-api-controller : Device Api Controller 设备API接口 device-controller : Device Controller 设备接口 device-profile-controller : Device Profile Controller 设备简要接口 entity-query-controller : Entity Query Controller 实体查询接口 entity-relation-controller : Entity Relation Controller 实体关联接口 entity-view-controller : Entity View Controller 实体视图接口 event-controller : Event Controller 事件接口 o-auth-2-config-template-controller : O Auth 2 Config Template Controller OAuth2.0配置模块接口 o-auth-2-controller : O Auth 2 Controller OAuth2接口 queue-controller : Queue Controller 队列接口 rpc-controller : Rpc Controller rpc接口 rule-chain-controller : Rule Chain Controller 规则链接口 telemetry-controller : Telemetry Controller 遥测接口 tenant-controller : Tenant Controller 租户接口 tenant-profile-controller : Tenant Profile Controller 租户简介接口 user-controller : User Controller 用户接口 widget-type-controller : Widget Type Controller 部件类型接口 widgets-bundle-controller : Widgets Bundle Controller 部件构建接口

模拟遥测

tb不仅仅将所有的文档都导出了,而且还做了有关设备相关的接口。在使用物联网平台是,我们经常需要买一些硬件来测试平台,到有时我们根本买不起那些硬件,或者我们只是抱着试试的太多来了解这个平台,如果要因为尝试,而要买一大堆硬件,成本就有点高了。tb也想到了这个问题,所有他们提供了接口让你来模拟设备,很厉害吧。

我们来简单说一下物理网的一般的数据流是怎么流转的

一般是设备连上网后,就要链接到平台注册自己,然后保持在线状态,设备有任何操作,都会向平台或服务器发送一个指令,这个请求会很小,因为限于设备的通信,存储能力。很多时候只有一个消息体字段。服务器接受消息后,就会对数据进行相应的判断,处理,显示给用户,添加到面板上。

而遥测技术 遥测(英文名称:telemetering)是将对象参量的近距离测量值传输至远距离的测量站来实现远距离测量的技术。遥测技术是一个集成性能好的,具有良好的跟踪性能、遥控性能的一种新型的技术,其应用很广泛

在tb中要对设备进行模拟遥测也是一件很简单的是。

首先在设备列表中,我们找到一个设备,复制出来一个设备的凭证。 ThingsBoard教程(七):模拟设备遥测6

然后可以使用postman,或者windows下的cmd来发送一个遥测数据。

下面以windows下来操作一些。 使用curl来发送给一个post请求 执行的代码是

curl -v -X POST -d “{\”temperature\”: 25}” http://192.168.99.102:8080/api/v1/T2_TEST_TOKEN/telemetry –header “Content-Type:application/json”

T2_TEST_TOKEN就是设备的访问凭证,替换成自己的就可以了。这个遥测发送了一个属性temperature,属性值为25。

ThingsBoard教程(七):模拟设备遥测7

点击设备的遥测数据就能看到刚刚收到的数据,在此页面不需要刷新,也能获取到最新的数据

ThingsBoard教程(七):模拟设备遥测8

一个遥感动态图 ThingsBoard教程(七):模拟设备遥测9

结束语

今天的文章就写到这里了,相信大家读了这篇文章一定对TB的接口以及设备遥感有了大致的了解。 下一篇我会给大家讲解一下xxx,下一章还没想好。

创作不易,那么多字,在不开空调的房间,手都快冻僵了,为了分享知识,我也是蛮拼的。如果对你有帮助,还请多多支持,点赞收藏,打赏更好。你的点滴鼓励就是我支撑我继续分享的动力。谢谢各位读者。

猜你喜欢