- 博客(28)
- 资源 (8)
- 收藏
- 关注
原创 thingsboard windows系统打docker镜像上传到harbor
thingsboard windows系统打docker镜像上传到harbor
2022-06-08 10:28:13
970
2
原创 Thingsboard 运维实施 定时清除数据 ttl相关
遥测数据自动清理1,canssandra ,可以通过save遥测的时候配置ttl2,postgres数据库,可以在配置文件中配置 ts_key_value_ttl,thingsboard会在 AbstractTimeseriesCleanUpService类中定时调用postgresql的函数 cleanup_timeseries_by_ttl,timescaladb同理。官网写了可以通过配置设备所在客户的服务端属性增加TTL也可以实现,但是未验证,这样灵活性更好些。规则链rabbit.
2021-05-14 10:28:10
1719
3
原创 Thingsboard 规则链实现聚合统计遥测数据上一次和本次差值
最近遇到一个需求,按时间段统计一片区域的插座电量。看了下Thingsboard聚合查询函数,只支持 MIN, MAX, AVG, SUM, COUNT, NONE; 蛋疼了,没有差值,还得自己写规则链,想想还是Opentsdb好用,直接就能用。记录下差值计算的规则链写法,官网也有完整文档。https://thingsboard.io/docs/user-guide/rule-engine-2-0/tutorials/telemetry-delta-validation/首先判断插座.
2021-03-18 18:52:47
3137
1
原创 Thingsboard 制作GPS电子围栏
这块实现起来其实非常容易,仅需要在传输数据的时候加上坐标体系,后台配置高级选项中勾选polygon 相关设置,配合规则引擎gps围栏的标签即可遥测数据示例{"Speed":"10","longitude":"108.96","latitude":"34.55","type":"thermomether","temperature":"-11","coordinates":"[[34,108],[33,110],[37,109]]"}...
2021-01-07 15:05:22
1205
2
原创 nginx 配置Emqx websocket ws转wss
location /mqtt {proxy_redirect off;proxy_pass http://10.1.2.13:8083;proxy_set_header Host $host;proxy_set_header X-Real_IP $remote_addr;proxy_set_header X-Forwarded-For $remote_addr:$remote_port;proxy_http_version 1.1;proxy_set_header Upgrade $http_
2020-12-29 16:52:25
1693
1
原创 Thingsboard Oauth2 SSO
企业通常都有SSO单点登录的需求,Thingsboard在很早的版本就有SSO支持 ,3.2版本直接将这块可视化了,这块各大企业做的其实都差不多,参考下面右图腾讯会议的SSO。 OAuth2 单点登录四种授权模式就不说了,第三方授权认证都用的是授权码认证。认证授权配置好以后,开始配置用户信息,这里对应了管理员账号的姓名、邮箱、租户domain信息等,用户从第三方授权登录成功后,thingsboard会自动创建这个租户及管理员账号,并根据tenant name做了判断,如果是现有租户下的账号...
2020-12-28 17:00:07
1843
1
原创 haproxy建立emqx mqtt集群
如图,目前我用rabbitmq集群的设计是这样的,理论上也适用于emqx,18年那会看emqx集群好像是收费的,现在也不知道还收费不,所以今天尝试用haproxy建立emqx集群,确认是可用的,下图是rabbitmq简单集群。Haproxy安装1. 下载环境+工具依赖包yum install gcc vim wget2.下载 haproxywget https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-2.1.2.tar.gz
2020-11-20 19:17:37
986
2
原创 Thingsboard 源码分析 -- Gateway mqtt网关原理实现
Thingsboard的网关通过tb核心服务提供的mqtt以客户端的形式连接到tb上,一个网关的连接同时只能在线一个网关服务。正常情况下,网关下的所有设备上报数据都是通过网关上报,网关下所有设备都是先把数据上报到边缘端的mqtt上,然后网关通过订阅边缘端的mqtt获取设备数据,再统一通过tb的mqtt上传到tb上,上传操作还考虑到了服务掉线的情况,会把数据暂时存起来,待服务连接正常继续上报。Thingsboard官方网关用的python写的,最早官方网关用的java,但是不知道什么原因下架换成pytho
2020-11-20 12:39:18
3920
2
原创 Thingsboard 数据采集,设备数据从设备自动同步到资产和实体视图
刚接触Tb采集的时候,发现设备数据无法呈现到设备属性和设备遥测数据中,还以为出了bug,各种折腾,甚至升级tb版本,实际上完成数据采集后再配置规则引擎就可以解决问题。数据如何上报,请关注我写的另一篇文章。post telemetry 上报遥测数据,一般是上报设备时间序列数据post attributes 上报属性数据,一般是设备属性,例如版本号,生产日期等。这步做完,数据就会在设备属性和遥测中正常显示。把这个设备添加到资产下,发现资产下没有自动显示数据,这时候需要在规则引擎中保存完后把数
2020-11-03 11:48:08
4380
4
原创 Thingsboard API能力 -- 常用服务端API
Thingsboard 的api比较全,除了资产、用户、设备的增删改查,还提供一系列数据查询功能,例如属性数据、遥感数据、甚至还有聚合查询的能力(聚合查询目前有一点小bug),还可以通过restapi上报属性、遥测数据到tb。接口认证任何api调用离开认证,thingsboard采用了oauth获取jwt token形式调用api。token有消息可以后台配置。http://192.168.0.119:8080/api/auth/loginbody:{"username":"lihong..
2020-10-29 15:04:37
3754
原创 Thingsboard 数据采集(直连&网关)
Thingsboard数据采集部分,官网文档讲的非常清楚,建议底子好还是直接看官方文档。tb的采集分为通过直连采集和通过网关采集两种途径。直连:传感器支持rj45,可以通过mqtt、coap、http连接tb通信。因为coap和http都是单向通信,所以一般都选择mqtt。下来介绍下设备怎么连接到tb上。1,后台新建一个设备,不要勾选网关,或者通过tb的api创建一个设备,设备创建成功后,tb会为该设备创建一个mqttserver,点开设备详情,复制访问令牌,这是mqtt的用户名,密码为空,
2020-10-19 17:52:15
5924
3
原创 Thingsboard 可视化 -- 按钮rpc和http rpc api接口实现双向rpc控制(tb网关mqtt方式)
Thingsboard网关可以支持多种常见协议,modbus、opc、mqtt等。很多人疑惑,为什么设备端不都用直连,还要用网关,我的理解是网关可以带多个设备,而连接tb核心服务就只有一路mqtt长连接,对资源也是一种节约,而且很多设备上报频率很低,用直连很浪费。我们公司目前使用的设备基本上都是mqtt连tb,这里就存在网关rpc双向通信问题,官网对通过网关双向rpc说的不是很清楚,参考价值不大。先说下网关通信原理。采集数据,设备端数据 -->采集控制服务--> 第三方mqtt -->
2020-10-16 16:01:23
5177
2
原创 Thingsboard 遇到的坑
1,规则链json导入,无法解析目标规则链,即便是该规则链存在也报该错误。2,元数据不能再上报前添加,目前只有devicename和devicetype两个字段,有些不够用。
2020-10-15 17:29:38
1212
原创 Thingsboard 规则引擎 -- 通知第三方节点
通知第三方节点都比较简单,举个例子,我们发送email或者http请求的时候,大家只需要先创建script节点,封装好消息的body,发送加一个第三方消息动作节点就可以完成。AWS SNS节点将消息发布到AWS SNS(Amazon Simple Notification Service)。AWS SQS节点将消息发布到AWS SQS(Amazon Simple Queue Service)。KafkamqttAzure IoT中心节点rabbitmqrestful
2020-10-15 17:27:53
570
原创 Thingsboard 规则引擎 -- 动作节点
创建告警警报节点配置:警报详细信息生成器脚本 警报类型-代表警报类型的任何字符串 警报级别-{CRITICAL |主要|次要|警告|不定} 是否传播-是否应将“警报”传播到所有与父相关的实体 Manages Contains清除警报该节点加载具有为消息发起者配置的警报类型的最新警报,并清除警报(如果存在)。延迟节点将传入消息延迟可配置的时间段。组态:时间段(以秒为单位)-指定应暂停传入消息的时间段的值 最大待处理消息数...
2020-10-15 17:23:04
952
原创 Thingsboard 规则引擎 -- 属性集扩充节点
变更发起人发起者可以更改为:发起人的客户 发起人的租户 关系查询所标识的相关实体例如想把设备遥测数据发到资产或者客户实体里。脚本转换节点var newType = "CUSTOM_UPDATE"; msg.version = "v1.1"; metadata.sensorType = "roomTemp" return {msg: msg, metadata: metadata, msgType: newType};电子邮件节点通过使用从消息元数据派生的...
2020-10-15 17:21:04
408
原创 Thingsboard 规则引擎 -- 属性集获取节点
客户属性节点(未测通)节点找到消息发起者实体的客户,并将客户属性或最新遥测值添加到消息元数据中。管理员可以配置原始属性名称和元数据属性名称之间的映射。节点配置中有Latest Telemetry复选框。如果选中此复选框,则节点将获取已配置密钥的最新遥测。否则,Node将获取服务器作用域属性。客户信息字段规则节点将客户详细信息中的字段添加到消息正文或元数据。发起者属性将消息发起者属性(客户端\共享\服务器范围)和最新遥测值添加到消息元数据中。将属性添加到具有范...
2020-10-15 17:18:59
798
原创 Thingsboard 规则引擎 -- 消息过滤节点
过滤器节点Check RelationFilter Node 检查实体和消息发起者关系,包含被包含Check Existence Fields Node 消息数据和元数据中检查所选键是否存在Message Type Filter Node 消息过滤节点在节点配置中,管理员为传入消息定义了一组允许的消息类型。系统中有预定义的消息类型,例如Post Attributes、Post Telemetry、RPC Request等。如果需要传入消息类型-通过True链发送...
2020-10-15 17:08:05
1158
原创 Thingsboard 规则引擎 -- 说明
规则引擎是基于事件构建的工作流是易于使用的框架。有3个主要组成部分:Message- 接收任何事件。它可以是来自Device,设备生命周期事件,REST API事件,RPC请求等的传入数据。 Rule Node- 处理消息执行的功能。对接收的节点进行过滤、转换或者执行的能力。 Rule Chain- 关联节点之的连接,接收来自节点的出站消息将其发送至下一个节点。ThingsBoard规则引擎是一个高度可定制的框架,用于复杂事件的处理。以下是一些可以通过ThingsBoard规则链配置的常见用...
2020-10-15 17:04:58
1098
原创 Thingsboard 可视化 -- 地图部件及车联网
先来一张图,看看实现效果,Thingsboard3.1目前支持腾讯地图、谷歌地图、opensteet地图、诺基亚here地图、image 地图,国内我们用不了谷歌,下面的示例使用腾讯地图,前几天在社区群里有人问过腾讯地图的定位图片用的是谷歌的,国内用不了,我试了一下还真是,但是tb的地图提供了更换图标的功能,所以我们使用不用担心。下面说一下使用流程。1,完成设备接入,我有一辆摩托车,上面可以定时采集上报gps经纬度、时速等信息,我这里使用了mqtt直连tb的方式完成设备接入。mqtt ser
2020-10-15 16:56:52
3213
1
原创 Thingsboard 可视化 -- 按钮双向rpc控制(直连)
Thingsboard提供非常强大的可视化部件,除了图表、地图车联网外,还有控制部件,通过mqtt rpc可以轻松实现平台 -- 设备端 设备到平台双向数据传输及控制。Thingboard 连接设备分为直连设备和网关连接设备两种,先说下直连设备怎么rpc双向控制。官网有一个风力发电机、风向控制的例子,https://thingsboard.io/docs/user-guide/rule-engine-2-0/tutorials/rpc-request-tutorial/,这个比较复杂,且官方几个说明
2020-10-15 14:53:28
5853
10
原创 Thingsboard 前言和名词解释
工作原因开始研究Thingsboard,一个非常强大的开源物联网平台,apache2.0的license,可以直接商用。
2020-10-15 14:00:50
1218
原创 rabbimq mqtt插件webmqtt集成记录
相信用过rabbitmq的都知道rabbitmq有mqtt插件可以集成,而mqtt插件还有web-mqtt插件,可以通过web访问,网上找了找,这方面资料很少,花了整整一天研究一番,终于调试通过。安装erlang和rabbimq略过,推荐大家两个不错的网站https://packagecloud.io/rabbitmq/rabbitmq-serverhttps://www.erlang...
2019-03-20 18:24:04
1631
原创 springmvc+hibernate祖传代码升级springboot
目前公司老产品都是spingmvc+hibernate架构,在微服务横行的今天已经稍显落后,早在15年我在做caas的时候就尝试过把caas的springmvc升级到springboot,由于对springboot的不熟悉,以及犯了方向性错误,直接尝试把hibernate往jpa过渡,结果以失败而告终,不过最终借助威思客3升级,我把caas的springmvc改成了springboot,后台数据...
2018-10-31 14:38:25
2303
2
原创 springcloud2.x 配置中心 1.x 2.x区别 填坑记
springcloud1.x和2.x 在配置上还是有不少坑的,配置中心这块我在百度遨游了几个小时发现都是纸上谈兵,没一个能用的,另外感谢大中华局域网,翻了半天墙才出去,浪费无数时间,终于在谷歌上找到了答案。说正题,1.x和2.x配置上没有太大区别,1.x 直接可以在客户端/refresh刷新配置。2.x需要使用/actuator/refresh。另外。2.x还需要在yml里面配置如下。否则re...
2018-08-09 18:03:52
3470
1
原创 rabbitmq mqtt插件集成填坑记录(些许个人拙见,不对还望指出)
mqtt:Message Queuing Telemetry Transport,消息队列遥测传输名字很霸气,适合物联网传感器窄带宽网络不稳定的环境,可以持久化,推送离线保活消息,且可以使用mqttjs在web端使用。mqtt的服务搭建也很简单,我用的rabbitmq,一行命令启用,重启rabbitmq即可搭建成功。使用也很简单,需要注意几个关键点1,qos(0最多收到一次 1至少收到1次 2保证...
2018-04-16 15:14:35
3959
1
原创 springboot集成rabbitmq 这一篇就够了
基本概念channel:消息通道exchage:消息路由规则,四种模式(topic、direct、fanout、header)direct:默认,根据routingKey完全匹配,好处是先匹配再发送topic:根据绑定关键字通配符规则匹配、比较灵活fanout:不需要指定routingkey,相当于群发header:不太常用,可以自定义匹配规则queue:消息存储routerKey:消息路由关键字...
2018-03-26 16:50:52
3334
原创 为什么要使用ConcurrentHashMap而不是HashMap
Hashtable为什么性能低?HashMap高并下发会发生什么?HashMap内部结构是什么?ConcurrentHashmap为什么可以支持高并发?为什么比hashmap读取效率高?
2016-11-25 09:24:55
9080
4
springmvc spring3 hibernate4 log4j
2013-10-10
web下使用itext renderer将html生成pdf
2011-12-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人