• JDK 1.8+

  • Maven 3.6.1+

  • NodeJs 10.16.0+

  • Gradle 5.5.1+

  • 项目已经可以顺利build成功

  • 当前示例为Mac,windows与Mac的配置基本一致,建议使用类linux系统

搭建第三方组件

由于是开发环境,只需要搭建单节点的zookeeper和kafka即可,redis缓存也不需要

1、 从官网下载对应的安装包并解压

https://mirror.bit.edu.cn/apache/kafka/2.5.0/kafka_2.12-2.5.0.tgz

2、 搭建单节点zookeeper

./zookeeper-server-start.sh ../config/zookeeper.properties

3、 搭建单节点kafka

./kafka-server-start.sh ../config/server.properties

搭建数据库

开发环境只需要使用到postgresql即可,不需要使用cassandra来存储时序数据,postgresql只需要单节点即可

1、 安装postgres数据库

brew install postgresql

2、 安装timescale插件

# Add our tap
brew tap timescale/tap
# To install
brew install timescaledb
# Post-install to move files to appropriate place
/usr/local/bin/timescaledb_move.sh
# Install plugin
timescaledb-tune
# Restart PostgreSQL instance
brew services restart postgresql

3、 创建database

psql -U postgres
create database thingsboard;

4、 通过可视化工具连接到postgresql,并创建对应的用户,默认的用户名和密码都是postgres,可以在项目的配置文件中进行修改

5、 初始化数据库数据

chomd +x {THINGSBOARD_DIR}/application/target/bin/install/install_dev_db.sh
./install_dev_db.sh

启动tb-node组件

1、 修改配置文件

{THINGSBOARD_DIR}/application/src/main/resources/thingsboard.yml
# enable kafka
zk.enabled="${ZOOKEEPER_ENABLED:true}"
# 使用pgsql作为持久换以及时间序列存储
database.ts.type="${DATABASE_TS_TYPE:sql}"
# 使用内存缓存
cache.type="${CACHE_TYPE:caffeine}"
# 使用kafka作为管道
queue.type="${TB_QUEUE_TYPE:kafka}"
# 禁用tb-node自带的transport功能,使用独立的服务来提供transport功能
transport.http.enabled="${HTTP_ENABLED:false}"
transport.mqtt.enabled="${MQTT_ENABLED:false}"
transport.coap.enabled="${COAP_ENABLED:false}"
# 启用独立的js引擎处理消息
js.evaluator="${JS_EVALUATOR:remote}"

2、 直接通过idea的debug启动即可

# 模块名称
application
org.thingsboard.server.ThingsboardServerApplication
{THINGSBOARD_DIR}/application/src/main/java/ThingsboardServerApplication.java

启动transport组件

  • 只说明mqtt-transport如何配置,http和coap的配置类似

1、修改配置文件

{THINGSBOARD_DIR}/transport/mqtt/src/main/resources/thingsboard.yml
queue.type="${TB_QUEUE_TYPE:kafka}"

2、 启动服务

# 模块名称
transport.mqtt
org.thingsboard.server.mqtt.ThingsboardMqttTransportApplication
{THINGSBOARD_DIR}/transport/mqtt/src/main/java/ThingsboardMqttTransportApplication.java

启动ui-web组件

1、 build项目

cd {THINGSBOARD_DIR}/ui-ngx
# 清除缓存
npm cache clean --force
# 手动安装必要模块
npm install --save-dev prettier
# 安装模块
npm install

2、 启动项目

npm start

启动js-executor

1、 build项目

cd {THINGSBOARD_DIR}/msa/js-executor
npm install

2、 启动项目

npm install

连通性测试

1、 登录web localhost:4200

2、 创建一个设备

3、 获取token

4、 使用mqttclient连接到mqtt-transport确认是否可以正常连接上

作者:哦呵呵_3579
链接:https://www.jianshu.com/p/8e8458699aa4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文链接:https://www.jianshu.com/p/8e8458699aa4 Not valid working directory: /usr/share/thingsboard/bin. Please use either root project directory, application module directory or specify valid "install.data_dir" ENV variable .. email: 1148706823@qq.com blog:https://www.cnblogs.com/harmful-chan/ 转载请注明出处:https://www.cnblogs.com/harmful-chan/p/12193225.html 工具准备: git 2.16.2 windows命令行版 java jdk 1.8:https://www.cnblogs.com/harmful-chan/p/12193497.html 文章目录1 ThingsBoard 架构1.1 整体架构1.1.1 传输组件1.1.2 规则引擎组件1.1.3 核心服务1.1.4 外部系统1.2 系统关键组件和相关接口1.2.1 ThingsBoard传输1.2.2 ThingsBoard核心1.2.3 ThingsBoard规则引擎1.2.4 消息队列1.2.5 SQL与NoSQL与混合数据库1.3 微服务架构2 代码结构2.1 代码一级包总览2.2 包说明2.3 代码类接口说明3 Thingsboard源码运行4 规则链、设备配置、设备4.1 规则链 这里写自定义目录标题Thingsboard开发环境搭建 Windows 10IDEA安装功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 Thingsboard开发环境搭建 Windows 10 1.开发软件IDEA 1.配置JDK Thingsboard Server UI 443 SSL 50001 ui-ngx yarn install 失败 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project rest-client: Compilation failure js-executor\target\node\node.exe - 1、minikube安装k8s单机版 https://blog.csdn.net/qq_39879126/article/details/121587678 2、安装ThingsBoard https://github.com/thingsboard/thingsboard-pe-k8s 上传至服务器 本次部署进入 minikube 目录 ②默认情况下在Minikube中禁用了ingress插件并且仅在集群提供程序中可用。 启用入口请执行以下命令: $ minikube addons enable i 选择“设备”作为“类型”,然后键入“My New Device”以启用自动完成。单击“添加”,然后单击“保存”。现在我们需要创建一个客户用户,导航回“客户”页面,然后单击“管理客户用户”图标。单击表格右上角的“+”图标,然后选择“添加新设备”。本次实验通过模拟连接Thingsboard物联平台,上传设备的遥感数据,并可视化来自温度传感器的数据,来演示最流行的事物板功能的基本用法。首先创建一个客户,导航到“客户”页面,单击“+”号以添加客户,添加客户标题(My New Customer),然后单击“添加”。 由于Thingsboard用的组件库是angular官方组件库Material,这个组件库是国外的,很多样式跟国内设计的有出入,因此我引入antd发布的一款angular组件库(NG-ZORRO),功能齐全,样式也更好看。 问题二:[root@SY-3 ~]# cd /usr/lib/kafka_2.10-0.8.2.0[root@SY-3 kafka_2.10-0.8.2.0]# bin/kafka-server-start.sh config/server.properties &[1] 11796[root@SY-3 kafka_2.10-0.8.2.0]# [2016-01-1218:22:50,20...