IOT学习笔记(二):ThingsBoard开发环境搭建(macOS)

IOT学习笔记(二):ThingsBoard环境搭建

  • 1.版本说明
  • 2.环境搭建
    • 2.1 系统环境
    • 2.2 源码拉取及编译
    • 2.3 IDEA导入源码
    • 2.4 代码结构
    • 2.5 数据库安装
    • 2.6 运行程序

1.版本说明

        ThingsBoard(以下简称tb),在官网看到一共有两个版本的tb,分别为Community Edition和Professional Edition两个版本,从名字就可以看出来,前一个是社区版,后一个是专业版。以下是对比。
IOT学习笔记(二):ThingsBoard开发环境搭建(macOS)_第1张图片
IOT学习笔记(二):ThingsBoard开发环境搭建(macOS)_第2张图片
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(平台集成)

2.环境搭建

首先说明,这里搭建的是开发环境,不是运行环境,关于运行环境,运行环境在官网有详细说明,包含win,mac,CentOS,Ubuntu及阿里云,亚马逊云等服务器的部署教程,TB推荐使用docker,所以部署起来相当方便,基本上不用配置什么就可以跑起来。
这里详细说明的是开发环境的搭建。

2.1 系统环境

以下是需要的系统环境,实测可以运行通过;
(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

2.2 源码拉取及编译

git地址:https://github.com/thingsboard/thingsboard/

mvn clean install -DskipTests
//说明:首次编译时间非常长,我的编译了快一个小时,编译成功会出现下图所示。

IOT学习笔记(二):ThingsBoard开发环境搭建(macOS)_第3张图片

2.3 IDEA导入源码

IOT学习笔记(二):ThingsBoard开发环境搭建(macOS)_第4张图片
选择Maven,一路点击next,然后进入IDEA主界面,等待编译完成;
IOT学习笔记(二):ThingsBoard开发环境搭建(macOS)_第5张图片

2.4 代码结构

模块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

有好多我还不知道是做什么的,后续研究明白补充。

2.5 数据库安装

TB使用的数据库是postgresql,大家自行搜索安装;
安装完成后需要将数据库文件执行,将表填充;
sql文件位置:
IOT学习笔记(二):ThingsBoard开发环境搭建(macOS)_第6张图片
然后将thingsboard.yml文件中修改三处数据库配置:
IOT学习笔记(二):ThingsBoard开发环境搭建(macOS)_第7张图片
(1)数据库名;
(2)用户名;
(3)密码;

2.6 运行程序

入口程序路径: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,打开如下界面:
IOT学习笔记(二):ThingsBoard开发环境搭建(macOS)_第8张图片
用户名:[email protected]
密码:sysadmin
进入后是如下界面:
IOT学习笔记(二):ThingsBoard开发环境搭建(macOS)_第9张图片
折腾一天,终于正常运行了,欢迎大家提出问题。

你可能感兴趣的:(物联网)