ThingsBoard 源码编译

背景介绍

近年来,物联网技术在工业、农业、环境、交通、物流以及安保等领域具有广泛的应用,其核心框架为:通过传感器实时采集现实世界的的物理信息,进而利用计算机实现系统的全局优化,提高社会加工生产的效率。调研发现,国内互联网巨头、运行商都发布有自己物联网平台(腾讯云、阿里云、百度云、天翼云以及ONENET等),极大的降低了物联网行业的准入门槛。然而通用的物联网平台一般具有收费高,定制化需求较难实现(掏钱另说,😅)以及迁移性差(物联网平台之前无法互通,企业在软件资产方面较难沉淀)等弊端。

调研发现,ThingsBoard作为一款功能强大、扩展性强、使用方便以及几乎不花钱开源物联网平台,受到业内的广泛好评。因此近来花时间部署、调试以及编译了ThingsBoard,具体过程如下所示:

图1 thingsboard官方页面
图2 ThingsBoard物联网平台的架构

软件安装

ThingsBoard可以安装到win10系统上,通过搭建必要的依赖环境(Java,node.js,PostgreSQL数据库,IntelliJ IDEA,maven等等),进而实现软件的二次开发。网上具有很多安装教程,在此不再进行赘述,具体结果如下所示:

图3 ThingsBoard编译页面:重新修改代码后,能够通过打包、启动服务实现平台的运行
图4 ThingsBoard 安装成功后的显示页面

功能测试

我们通过编写python程序,模拟mqtt客户端,实现了数据的发送,具体程序代码为:

import paho.mqtt.client as mqtt
import random
import time

token = "x3kz8HB8Z4dZFthDF4Eg"
client = mqtt.Client()
client.username_pw_set(token)
client.connect("127.0.0.1", 1883)

while True:
    data = '{"hum" : %.1f}' % (random.randint(0, 2000)/20)
    client.publish("v1/devices/me/telemetry", data)
    time.sleep(10)

最终在thingsboard物联网云平台上实现了数据的接收及可视化,具体为:

图5 数据接收页面

项目开发

后续为了满足实际项目需求,ThingsBoard需要进行的更改有:

  1. 图标更改;
  2. ThingsBoard 域名绑定(链接到现有网站主页)(可以咨询腾讯云、阿里云客服寻求技术帮助);
  3. 页面修改:针对实际项目需求, 界面优化这一块儿还是需要花费大量精力,目前主要的方法有:1. 基于ThingBoard部件库魔改:基本的思路是依然使用ThingBoard本身的可视化系统,通过修改ThingBoard部件库来达成该界面的优化;2. 使用三方UI库对接ThingsBoard:如果已经有第三方的UI大屏,只需要数据对接ThingBoard就可以h把设备数据传到你的大屏上,同时还能实现设备遥测数据的实时更新。
  4. 设备接入协议:目前,ThingBoard 3.4.1版本默认支持 MQTT / COAP / LWM2M /SNMP 四种数据传输协议,后续有精力的话可以把物模型相关代码移植过来。应用场景:科学实验;

3人评论了“ThingsBoard 源码编译”

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

在线客服
联远智维
我们将24小时内回复。
2025-08-05 21:56:16
您好,有任何疑问请与我们联系!
您的工单我们已经收到,我们将会尽快跟您联系!
[注意事项]
208300320
取消

选择聊天工具:

滚动至顶部