赞
踩
ThingsBoard(以下简称tb),在官网看到一共有两个版本的tb,分别为Community Edition和Professional Edition两个版本,从名字就可以看出来,前一个是社区版,后一个是专业版。以下是对比。
1.社区版支持不全的功能:(basic版本,具体缺啥咱也不明白)
(1)NB-IoT,SigFox,LoRaWAN support()
(2)Rule Engine:Components(引擎规则)
2.社区版不支持的功能:
(1)Entity groups(实体组)
(2)Advanced RBAC for IoT
(3)Scheduler(调度器)
(4)Reporting(报告)
(5)Multi-tenant configurable white-labeling(多租户可配置白标签)
(6)CSV/XLS data export(数据导出)
(7)Platform Integrations(平台集成)
首先说明,这里搭建的是开发环境,不是运行环境,关于运行环境,运行环境在官网有详细说明,包含win,mac,CentOS,Ubuntu及阿里云,亚马逊云等服务器的部署教程,TB推荐使用docker,所以部署起来相当方便,基本上不用配置什么就可以跑起来。
这里详细说明的是开发环境的搭建。
以下是需要的系统环境,实测可以运行通过;
(1)MacOS 10.14.5
(2)JDK 1.8.0_144:网上有人说必须是1.8,1.9编译不通过,我只安装了1.8,所以1.9没有测试;
(3)Maven 3.6.1
(4)Git 2.8.1
(5)nodejs v9.5.0
(6)IDEA 191.7479.19
git地址:https://github.com/thingsboard/thingsboard/
mvn clean install -DskipTests
//说明:首次编译时间非常长,我的编译了快一个小时,编译成功会出现下图所示。
选择Maven,一路点击next,然后进入IDEA主界面,等待编译完成;
模块1 | 模块2 | 说明 | 代码量 |
---|---|---|---|
application | 应用网关(主要代码) | 19200 | |
common | data | 用于不同数据库之间的数据结构 | 5294 |
message | 定义不同的消息类型 | 2520 | |
transport | 定义一个公共的接口,共客户端调用 | 1107 | |
dao | 抽象了对不同数据库的统一接口 | ||
netty-mqtt | 1703 | ||
rule-engine | rule-engine-api | 907 | |
rule-engine-components | 4643 | ||
tools | 分别调用不同协议的后端服务 | 224 | |
transport | coap | 基于californium | 934 |
http | 基于rest的http服务 | 389 | |
mqtt | 基于netty开发 | 1645 |
有好多我还不知道是做什么的,后续研究明白补充。
TB使用的数据库是postgresql,大家自行搜索安装;
安装完成后需要将数据库文件执行,将表填充;
sql文件位置:
然后将thingsboard.yml文件中修改三处数据库配置:
(1)数据库名;
(2)用户名;
(3)密码;
入口程序路径:Application->src->main->java->org.thingsboard.server->ThingsboardServerApplication
右键运行就可以了;
提示:
我运行后出现了两个错误:
(1)org.thingsboard.server.config.ThingsboardMessageConfiguration类:L87,内部类SpringResourceLoader需要改写成static,否则报错;
(2)org.thingsboard.server.service.mail.DefaultMailService类:L78,updateMailConfiguration()方法,获取邮箱配置为null,代码这时候抛出异常,我注销掉了,应该是还需要配置一下邮箱,暂时没找到,先注释掉;
改完这两个,再次运行,完美启动;
浏览器输入:http://localhost:8080,打开如下界面:
用户名:sysadmin@thingsboard.org
密码:sysadmin
进入后是如下界面:
折腾一天,终于正常运行了,欢迎大家提出问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。