Thingsboard搭建本地開發(fā)環(huán)境說明

本地開發(fā)環(huán)境搭建說明

環(huán)境要求

  • JDK 1.8+

  • Maven 3.6.1+

  • NodeJs 10.16.0+

  • Gradle 5.5.1+

前提要求

  • 項目已經(jīng)可以順利build成功

  • 當前示例為Mac,windows與Mac的配置基本一致,建議使用類linux系統(tǒng)

搭建第三方組件

由于是開發(fā)環(huán)境,只需要搭建單節(jié)點的zookeeper和kafka即可,redis緩存也不需要

1、 從官網(wǎng)下載對應的安裝包并解壓

下載地址
https://mirror.bit.edu.cn/apache/kafka/2.5.0/kafka_2.12-2.5.0.tgz

2、 搭建單節(jié)點zookeeper

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

3、 搭建單節(jié)點kafka

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

搭建數(shù)據(jù)庫

開發(fā)環(huán)境只需要使用到postgresql即可,不需要使用cassandra來存儲時序數(shù)據(jù),postgresql只需要單節(jié)點即可

1、 安裝postgres數(shù)據(jù)庫

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、 創(chuàng)建database

psql -U postgres

create database thingsboard;

4、 通過可視化工具連接到postgresql,并創(chuàng)建對應的用戶,默認的用戶名和密碼都是postgres,可以在項目的配置文件中進行修改

5、 初始化數(shù)據(jù)庫數(shù)據(jù)

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}"

# 使用內(nèi)存緩存
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、 創(chuàng)建一個設備

3、 獲取token

4、 使用mqttclient連接到mqtt-transport確認是否可以正常連接上

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容