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所有的接口,这里边有太多接口

首先那顶部我们可以对接口进行授权,授权之后,就能直接在这个页面对接口进行测试,并且直接调用接口来创建,删除数据。非常方便快捷。
下面来演示一下。
点击右上角的Authorize按钮,会有一个弹窗.

在这里需要属于一个授权秘钥,token。怎么获取那?

  • 首先是要使用一个用户登录tb,
  • 然后按下F12
  • 刷新一下页面可以看到很多HTTP请求,
  • 点开一个HTTP请求,查看详情
  • 复制Request Header 中的 X-Authorization值 到授权的弹窗中

授权之后是如此的页面, 表示已经登录了。可以使用接口文档

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

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

是不是很简单。

这里列举一下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中要对设备进行模拟遥测也是一件很简单的是。

首先在设备列表中,我们找到一个设备,复制出来一个设备的凭证。

然后可以使用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。

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

一个遥感动态图

结束语

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

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

拿我格子衫来 CSDN认证博客专家 拿我格子衫来 范马勇次郎 琦玉君
积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页