物联网时代-新基建-ThingsBoard调试环境搭建
前言
2020开年之际,科比不幸离世、疫情当道、经济受到了严重的损失。人们都不幸的感慨: 2020年真是太不真实的一年,可以重新来过就好了!国家和政府出台了拯救经济和加速建设的利好消息。3月份最热的词是什么?价值50万亿投资额的"新基建"当之无愧。
这场声势浩大的新基建投资的主要战场,涵盖包括5G建设、特高压、城际高速铁路和城市轨道交通、新能源汽车充电桩、大数据中心、人工智能基础设施建设和工业互联网基础设施建设7个领域。其中5G建设直接放在了整个新基建列表的头名。而物联网又在7个领域中都有所或重要或涉及的部分。
![]()
为什么IoT?
如果说,"万物互联"的概念在前些年还模模糊糊让人无法感知,这次疫情让我们深刻感受到了数据的海量和终端的多样化能够多大程度保障社会的正常运转。正如中国移动董事长杨杰所说: 5G不是简单的4G+1G,而将进一步突破人和人、人和物、物和物连接的失控限制,实现人、物、资金、信息4流集中汇聚和高效协同,不断创造以智能化为核心的新业态和新模式。
从互联网到物联网,到万物互联,所有的东西、所有的事物,都可以实时接入网络。物联网已经成为信息社会的神经网络。
脱颖而出的ThingsBoard
在IoT平台中,ThingsBoard是一个备受瞩目的明星项目,其点赞数高达5K,其优秀的性能和高效的性能得到了广大开发者的认可。ThingsBoard是用于数据收集、处理、可视化和设备管理的开源物联网平台。它通过行业标准的物联网协议 - MQTT、CoAP和HTTP实现设备连接,并支持云和本地部署。Thingsboard具有可伸缩性、容错性和性能优越的特点,因此您永远不会丢失数据。
GitHub地址: https://github.com/thingsboard/thingsboard
ThingsBoard具有哪些优秀的特性:
- 配置和管理设备和资产
使用丰富的服务端API以安全的方式配置、监视和控制您的IOT实体。 定义您的设备、资产、客户或任何其他实体之间的关系。
- 收集和数据可视化
以可扩展且容错的方式收集和存储遥测数据。 使用内置或自定义的小部件以及灵活的仪表盘可视化您的数据。 与客户共享仪表板
- 处理和反应
定义数据处理规则链,转换和规范化您的设备数据。在传入的遥测事件、属性更新、设备假死和用户操作时响应警报。
- 微服务
使用新的微服务架构,构建Thingsboard集群并获得最大的可扩展性和容错能力。 ThingsBoard还支持云和本地部署。
实时IoT仪表盘

ThingsBoard允许您创建丰富的IoT仪表盘,以实时进行数据可视化和远程设备控制。 超过30种可自定义的小部件,使您可以在大多数IoT使用场景为终端用户构建自定义仪表盘。
IoT规则引擎

ThingsBoard允许您创建复杂的规则链来处理设备中的数据并匹配您的应用程序特定用例
走进ThingsBoard
依赖工具
JDK

note: 在终端下分别输入java, javac, javadoc。终端都显示内容,才能说明JDK安装成功
Maven

note: 更换你的maven镜像为阿里云镜像,以免导入依赖时消耗过多时间
nodejs

Git

IntelliJ IDEA(非必须)
note: 请确保你在你的系统中安装了以上依赖工具,IDEA或eclipse二者随意!
源码调试
源码拉取
从官方仓库 https://github.com/thingsboard/thingsboard/
拉取thingsboard项目,Maven 会下载依赖包,可能会花费一些时间,耐心等待下。
在git bash中输入git clone https://github.com/thingsboard/thingsboard

源码编译
在你拉取的thingsboard项目根目录下输入如下命令,如果出现下图的情况代表你已经编译成功!
mvn clean install –DskipTests
note: 编译时间超长,如果一次不行,那就多次,只能这么说!
![]()
编译器导入
启动IDEA,打开刚刚编译好的源码项目,通过代码统计,我们可以了解到108390行代码,不要方,我们只是让它运行起来!

然后运行项目结构如下入口类:

运行结果大致如下:

唉,为什么呢?我已经编译成功了啊!为什么没有运行成功啊!因为没有数据源(也就是数据库,包括关系,非关系数据库)啊!
数据源设置
关系数据库: postgresql
本地安装: 到此网址下载安装
Docker安装:
docker run \
-d \
--name pgsql \
-p 5432:5432 \
-e POSTGRES_USER=adg_user \
-e POSTGRES_PASSWORD=adg123456 \
-v ~/docker_data/pgsql/data:/var/lib/postgresql/data \
postgres:11
初始化数据库表和数据
- 把下面尖头所指的
schema-entities.sql、schema-entities-idx.sql、schema-ts-psql.sql和system-data.sql文件导入到上面安装的postgresql。
![]()
- 导入完成之后,如下图所示:共计23个表。

- 修改thingsboard的配置文件为上面的数据源链接、用户名和密码。

登录ThingsBoard
用户名:sysadmin@thingsboard.org 密码为:sysadmin,进入以后 大功告成!

租户管理页面

物联网时代-新基建-ThingsBoard调试环境搭建的更多相关文章
- Windebug双机调试环境搭建
Windebug双机调试环境搭建 开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...
- eos源码分析和应用(一)调试环境搭建
转载自 http://www.limerence2017.com/2018/09/02/eos1/#more eos基于区块链技术实现的开源引擎,开发人员可以基于该引擎开发DAPP(分布式应用).下面 ...
- PhpStorm Xdebug远程调试环境搭建原理分析及问题排查
2017年05月26日 经验心得 目录 一. 环境介绍 二. 远程环境配置 2.2 Xdebug安装 2.3 配置 三. 本地phpstorm配置 3.1 下载远程代码 3.2 添加php解释器 ...
- [内核编程] Windebug双机调试环境搭建
Windebug双机调试环境搭建 开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...
- Thingsboard开发环境搭建及编译项目
第一部分:JDK 1,下载JDK, JDK地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...
- i.MX RT600之DSP调试环境搭建篇
恩智浦的i.MX RT600是跨界处理器产品,同样也是i.MX RTxxx系列的开山之作.不同于i.MX RT1xxx系列单片机,i.MX RT600 采用了双核架构,将新一代Cortex-M33内核 ...
- Windows下Lua+Redis 断点调试环境搭建==Linux下类似
Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...
- Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建
Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建 由于公司里的Solr调试都是用远程jpda进行的,但是家里只有一台电脑所以不能jpda进行调试,这是因为jpda的端口冲突.所以 ...
- 《天书夜读:从汇编语言到windows内核编程》四 windows内核调试环境搭建
1) 基础篇是讲理论的,先跳过去,看不到代码运行的效果要去记代码是一个痛苦的事情.这里先跳入探索篇.其实今天的确也很痛苦,这作者对驱动开发的编译与调试环境介绍得太模糊了,我是各种尝试,对这个环境的搭建 ...
随机推荐
- mysql-5.7.14-winx64解压版配置
1.下载最新的MySQL文件并且解压 我的位置是 F:\mysql-5.7.14-winx64 2.F:\mysql-5.7.14-winx64\bin; 添加到环境变量-系统变量-PATH下 3.复 ...
- linux系统下rpm包的安装、删除、效验、查询
详细课程 使用 RPM RPM 有五个基本的操作 模式(不包括包的编译): 安装,卸载,升级,查询,校验.本节将对它们一一介绍.要了解完整的细节和选项,可以使用 rpm --help, 或转到 the ...
- python对csv读写
1.csv文件读取 with open("C:\\Users\\Administrator\\Desktop\\test.csv", 'r', encoding='utf-8') ...
- [PHP] 报错和“@” - 工作
以下几点关于报错和@的关系理解 在PHP中使用@加在某个语句前面,可以抑制错误在脚本的执行过程中输出到IO: 如果在某个语句上使用了@,则可以将语句内的各种嵌套的脚本可能存在的报错都会被抑制住: 如果 ...
- [PyTorch入门]之数据导入与处理
数据导入与处理 来自这里. 在解决任何机器学习问题时,都需要在处理数据上花费大量的努力.PyTorch提供了很多工具来简化数据加载,希望使代码更具可读性.在本教程中,我们将学习如何从繁琐的数据中加载. ...
- redis笔记之一
NoSQL简介 全称是Not Only SQL,泛指菲关系型数据库,它是通过键值对存储数据并且将数据存储在内存中.而像mysql,sql server这些通过关系表存数据的就叫关系型数据库 为什么需要 ...
- Vue内置组件keep-alive的使用
本文主要介绍Vue内置组件keep-alive的使用. Vue内置组件keep-alive的使用 keep-alive接收三个props:●include - 字符串或正则表达式.只有名称匹配的组件会 ...
- JavaScript之三 - 语法
1.block 一般就是{}包括起来的代码块,注意的是,js没有块作用域,但是有函数作用域,全局作用域. 2.var 1 var a = b = 1; 如: 123456 function () { ...
- TF Notes (5), GRU in Tensorflow
小筆記. Tensorflow 裡實作的 GRU 跟 Colah's blog 描述的 GRU 有些不太一樣. 所以做了一下 TF 的 GRU 結構. 圖比較醜, 我盡力了- XD TF 的 GRU ...
- sql服务器第5级事务日志管理的阶梯:完全恢复模式下的日志管理
sql服务器第5级事务日志管理的阶梯:完全恢复模式下的日志管理 原文链接http://www.sqlservercentral.com/articles/Stairway+Series/73785/ ...