1、JDK 1.8 安装
cassandra和thingsboard的运行环境。安装过程略。
建议设置JAVA_HOME
2、python2.7安装
cassandra的cqlsh,不需要的话应该可以不用安装(目前版本cassandra-3.11.7不支持python3)。
3、postgresql安装
thingsboard的管理实体 使用的DB。
- 安装版本postgresql-12.4-1-windows-x64。基本点击下一步即可。密码使用postgres,和Thingsboard的一致。
- 点击pgAdmin打开,创建数据库thingsboard。
3、cassandra安装
thingsboard的实时数据 使用的非关系型数据库。
- 下载安装包并解压缩
- 配置环境变量
CASSANDRA_HOME:如:C:\apache-cassandra-3.11.7
path:增加 %CASSANDRA_HOME%\bin; - 修改配置文件
C:\apache-cassandra-3.11.7\conf 下的 cassandra.yaml
# 集群名,Thingsboard要求名称为'Thingsboard Cluster'
cluster_name: 'Thingsboard Cluster'
//数据文件存放路径。打开这个注释,注意不要合并成一行,
//合并成一行会出问题,这里要与前面新建的文件夹对应。
data_file_directories:
- C:\apache-cassandra-3.11.7\data\data
//操作日志文件存放路径。打开注释,与前面新建的文件夹对应。
commitlog_directory: C:\apache-cassandra-3.11.7\data\commitlog
//缓存文件存放路径。打开注释,与前面新建的文件夹对应。
saved_caches_directory: C:\apache-cassandra-3.11.7\data\saved_caches
//集群种子节点ip,新加入集群的节点从种子节点中同步数据。
//可配置多个,中间用逗号隔开。
- seeds: "ip"
//需要监听的IP或主机名。改成本机IP
listen_address: ip
//用于监听客户端连接的地址。建议设置成IP
rpc_address: ip
- 进入cassandra的bin文件夹
./cassandra 启动服务
./nodetool stopdaemon 关闭服务
./nodetool status 查看节点状态
- 使用cqlsh
查看表空间 :describe keyspaces;
查看已有表:describe tables;
查看表结构:describe table table_name;
4、thingsboard安装
官网:https://thingsboard.io/
github地址:https://github.com/thingsboard/thingsboard
- 修改配置文件
C:\Program Files\thingsboard\conf 下的 thingsboard.yml
database:
ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
ts:
type: "${DATABASE_TS_TYPE:cassandra}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
ts_latest:
type: "${DATABASE_TS_LATEST_TYPE:cassandra}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
- 安装为windows服务。
用管理员模式打开CMD。然后更改路径为刚才存放ThingsBoard的路径。
运行install.bat脚本将ThingsBoard作为Windows服务安装(或运行“install.bat -loadDemo”来安装和添加演示数据)。
uninstall.bat将从Windows服务中删除ThingsBoard。
输入“install.bat --loadDemo”后等待安装完成就行:
C:\Program Files\thingsboard>install.bat --loadDemo
Detecting Java version installed.
CurrentVersion 18
Java 1.8 found!
Installing thingsboard ...
===================================================
:: ThingsBoard :: (v3.1.0)
===================================================
Starting ThingsBoard Installation...
Installing DataBase schema for entities...
Installing SQL DataBase schema part: schema-entities.sql
Installing SQL DataBase schema indexes part: schema-entities-idx.sql
Installing DataBase schema for timeseries...
Installing SQL DataBase schema part: schema-ts-psql.sql
Successfully executed query: CREATE TABLE IF NOT EXISTS ts_kv_indefinite PARTITION OF ts_kv DEFAULT;
Loading system data...
Loading demo data...
Installation finished successfully!
2020-08-28 15:25:48,926 INFO - Starting ServiceWrapper in the CLI mode
2020-08-28 15:25:49,472 INFO - Completed. Exit code is 0
ThingsBoard installed successfully!
- 启动服务后,可以测试
net start thingsboard
然后通过http://localhost:8080/就可登陆后台了。
后台的系统管理员默认账号
用户名:sysadmin@thingsboard.org
密码:sysadmin
默认租户管理员帐户:
用户名:tenant@thingsboard.org
密码:tenant
演示租户客户:
客户A用户:customer@thingsboard.org或customerA@thingsboard.org。
客户B用户:customerB@thingsboard.org。
客户C用户:customerC@thingsboard.org。
所有用户的密码都是“customer”
5、Windows防火墙设置
- 访问ThingsBoard Web UI和设备连接(HTTP,MQTT),需要使用的Windows防火墙创建新的入站规则。
- 现在将打开新的“新建入站规则向导”窗口。在第一步“规则类型”中选择“端口”选项,在“协议和端口”步骤中,选择“TCP”协议,并在“特定本地端口”字段中输入端口列表8080,1883:
- 选择“允许连接”,选择Windows网络配置文件何时应用此规则(全选),为此规则命名(例如“ThingsBoard Service Networking”),然后单击“完成”。
6、Thingsboard仪表板和Mqtt测试
-
登录thingsboard租户,建立仪表板。
-
添加设备,查看设备凭据(XBZTkEpbMQxilGSzb6iR)。稍后Mqtt发送数据时使用。
-
打开仪表板,点击编辑,添加新部件,选择【Analogue gauges】。
添加【实体别名】
-
模拟给监控设备发送mqtt消息。
使用org.eclipse.paho.ui.app-1.0.0-win32.win32.x86_64 发送,并测试。
用户名对应设备的凭证。
发布主题为:v1/devices/me/telemetry
接收数据后,正确显示。
如果不能正确显示,可能时仪表板的数据源设置不正确,发送数据后,实体会显示接受到的数据内容,可以修改重试。