thingsboard 简单的前端二开流程与自定义mqtt遥测主题

简单的前端二开方案
最简单的二开时,解压jar包,修改其中的前端资源后,再重新压缩成jar包,调用java的一些指令。
这个路线我试了很多方法,没有搞定。

最后还是要在本地搭建一个开发环境,然后编译出jar包,替换容器或者本地安装目录的jar包。

这种方式适用性比较强,适合所有的安装方式,docker 容器,服务器直接安装,

如果你使用docker容器 微服务的方式进行安装的话,二开会比较简单,因为前端是一个独立的容器,所有的资源都在这个容器里,你可以直接进入容器进行修改。不必担心jar包压缩,解压的问题。

下面说一下构建,替换jar的流程
整个流程很清晰,指令也很少,但是这个流程走完,有些人需要2天时间
构建jar包要配置开发环境,安装java,安装maven,安装git,需要优秀的网速
java 为17, maven 3.6

# checkout latest release branch
git clone -b release-3.9 git@github.co
### ThingsBoard 中实现自定义 MQTT 数据转换 在 ThingsBoard 平台中,为了处理通过 MQTT 协议接收到的数据并将其转化为适合存储和展示的形式,可以编写自定义的消息转换脚本。这种转化通常发生在设备连接到服务器之后发送消息之前。 对于自定义 MQTT 数据转换而言,主要工作集中在修改 `onMsg` 函数内逻辑来解析传入的有效载荷,并根据需求调整其结构或添加额外的信息字段[^2]。下面是一个简单的例子说明如何完成这一过程: 假设有一个场景需要将时间戳以及地理位置信息附加给每条记录,则可以在变换逻辑代码里加入如下片段: ```javascript msg.timestamp = metadata.ts; msg.province = '山东省'; msg.city = '济南市'; return { msg: msg, metadata: metadata, msgType: msgType }; ``` 此段代码的作用在于获取元数据中的时间戳(`metadata.ts`)作为新属性赋值给当前消息对象(`msg`)的同时也设定了固定的省份名('山东省')城市名称('济南市')。当然实际应用当中这些地理坐标应该来源于更灵活的方式比如GPS定位服务或者其他第三方API接口调用结果。 另外值得注意的是,在某些情况下可能还需要利用外部 JavaScript 库来进行更加复杂的运算或是图形化表示等工作;此时则需先于项目资源板块引入必要的URL地址使得所需库得以加载成功以便后续操作能够顺利展[^3]。 最后关于安全性和用户体验方面考虑,如果希望进一步增强系统的集成度的话,还可以借助 OAuth 2.0 认证机制让ThingsBoard支持单点登录(SSO),从而简化用户的访问流程并且提高安全性保障水平[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拿我格子衫来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值