物联网时代-新基建-ThingsBoard调试环境搭建

摘要:
脱颖而出的ThingsBoard在IoT平台中,ThingsBoard是一个备受瞩目的明星项目,其点赞数高达5K,其优秀的性能和高效的性能得到了广大开发者的认可。ThingsBoard是用于数据收集、处理、可视化和设备管理的开源物联网平台。微服务使用新的微服务架构,构建Thingsboard集群并获得最大的可扩展性和容错能力。ThingsBoard还支持云和本地部署。实时IoT仪表盘ThingsBoard允许您创建丰富的IoT仪表盘,以实时进行数据可视化和远程设备控制。修改thingsboard的配置文件为上面的数据源链接、用户名和密码。

前言

2020开年之际,科比不幸离世、疫情当道、经济受到了严重的损失。人们都不幸的感慨: 2020年真是太不真实的一年,可以重新来过就好了!国家和政府出台了拯救经济和加速建设的利好消息。3月份最热的词是什么?价值50万亿投资额的"新基建"当之无愧。

这场声势浩大的新基建投资的主要战场,涵盖包括5G建设、特高压、城际高速铁路和城市轨道交通、新能源汽车充电桩、大数据中心、人工智能基础设施建设和工业互联网基础设施建设7个领域。其中5G建设直接放在了整个新基建列表的头名。而物联网又在7个领域中都有所或重要或涉及的部分。

新基建

为什么IoT?

如果说,"万物互联"的概念在前些年还模模糊糊让人无法感知,这次疫情让我们深刻感受到了数据的海量和终端的多样化能够多大程度保障社会的正常运转。正如中国移动董事长杨杰所说: 5G不是简单的4G+1G,而将进一步突破人和人、人和物、物和物连接的失控限制,实现人、物、资金、信息4流集中汇聚和高效协同,不断创造以智能化为核心的新业态和新模式。

从互联网到物联网,到万物互联,所有的东西、所有的事物,都可以实时接入网络。物联网已经成为信息社会的神经网络。

脱颖而出的ThingsBoard

在IoT平台中,ThingsBoard是一个备受瞩目的明星项目,其点赞数高达5K,其优秀的性能和高效的性能得到了广大开发者的认可。ThingsBoard是用于数据收集、处理、可视化和设备管理的开源物联网平台。它通过行业标准的物联网协议 - MQTT、CoAP和HTTP实现设备连接,并支持云和本地部署。Thingsboard具有可伸缩性、容错性和性能优越的特点,因此您永远不会丢失数据。

官网: https://thingsboard.io/

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

ThingsBoard具有哪些优秀的特性:

  • 配置和管理设备和资产

使用丰富的服务端API以安全的方式配置、监视和控制您的IOT实体。 定义您的设备、资产、客户或任何其他实体之间的关系。

  • 收集和数据可视化

以可扩展且容错的方式收集和存储遥测数据。 使用内置或自定义的小部件以及灵活的仪表盘可视化您的数据。 与客户共享仪表板

  • 处理和反应

定义数据处理规则链,转换和规范化您的设备数据。在传入的遥测事件、属性更新、设备假死和用户操作时响应警报。

  • 微服务

使用新的微服务架构,构建Thingsboard集群并获得最大的可扩展性和容错能力。 ThingsBoard还支持云和本地部署。

  • 实时IoT仪表盘

    smart-metering-dashboard

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

  • IoT规则引擎

    物联网时代-新基建-ThingsBoard调试环境搭建第3张

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

走进ThingsBoard

依赖工具

  • JDK

    java图片

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

    Maven图片

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

    物联网时代-新基建-ThingsBoard调试环境搭建第6张

  • Git

    物联网时代-新基建-ThingsBoard调试环境搭建第7张

  • IntelliJ IDEA(非必须)

note: 请确保你在你的系统中安装了以上依赖工具,IDEA或eclipse二者随意!

源码调试

源码拉取

从官方仓库 https://github.com/thingsboard/thingsboard/
拉取thingsboard项目,Maven 会下载依赖包,可能会花费一些时间,耐心等待下。

在git bash中输入git clone https://github.com/thingsboard/thingsboard

![目录](https://james-1258744956.cos.ap-shanghai.myqcloud.com/IOT Technical Guide/catelog.png?imageMogr2/thumbnail/!60p)

源码编译

在你拉取的thingsboard项目根目录下输入如下命令,如果出现下图的情况代表你已经编译成功!

mvn clean install –DskipTests
note: 编译时间超长,如果一次不行,那就多次,只能这么说!

截屏2020-03-2309.47.20

编译器导入

启动IDEA,打开刚刚编译好的源码项目,通过代码统计,我们可以了解到108390行代码,不要方,我们只是让它运行起来!

截屏2020-03-2319.03.49

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

server图片

运行结果大致如下:

run

唉,为什么呢?我已经编译成功了啊!为什么没有运行成功啊!因为没有数据源(也就是数据库,包括关系,非关系数据库)啊!

数据源设置

关系数据库: 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

初始化数据库表和数据

  1. 把下面尖头所指的schema-entities.sqlschema-entities-idx.sql schema-ts-psql.sqlsystem-data.sql文件导入到上面安装的postgresql

sql

  1. 导入完成之后,如下图所示:共计23个表。

database

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

thingsboard_yml

登录ThingsBoard

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

index

租户管理页面

租户管理页面

免责声明:文章转载自《物联网时代-新基建-ThingsBoard调试环境搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇安装Ubuntu 20.04 LTS服务器系统JVM监控及分析(02)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

网页实时聊天之PHP实现websocket

前言 websocket 作为 HTML5 里一个新的特性一直很受人关注,因为它真的非常酷,打破了 http “请求-响应”的常规思维,实现了服务器向客户端主动推送消息,本文介绍如何使用 PHP 和 JS 应用 websocket 实现一个网页实时聊天室; 以前写过一篇文章讲述如何使用ajax长轮询实现网页实时聊天,见链接: 网页实时聊天之js和jQuer...

Window API 之 PostMessage (消息投递)

PostMessage: 将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。 在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的 窗口消息的发送返回值 。自己的理解是:通过这个函数,可以将自己想发送的消息发送到你想发送的窗口。就好比是两个人在发短信,那么这个函数就相当于是一部手机。查找资料...

PHP-Windows下搭建PHP-MSF环境【原创】

环境:Windows7 64位php-7.0.19php-swoole-1.9.15php-yac-2.0.2php-redis-3.1.2php-mongodb-1.2.10 遇坑: Cygwin: 不能默认使用 Windows 自带的 mingw git,否则报"fatal: Unable to create temporary file: Resul...

常见的MIME类型

作者:景安网络 MIME类型 MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准。 MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。 常用Mime类型: 文件后缀 Mime类型 说明 .flv flv/flv-flash 在线播放 .html或.h...

C# 委托实例(跨窗体操作控件)

今天研究了一下,在C#里面却是可以不用自定义消息这么复杂的方法来实现跨窗体调用控件,C#有更好的办法就是委托。 效果描述:有两个窗体,FORM1(一个名为“打开form2”的button控件)和FORM2(一个名为“改变form1颜色“的button控件)。启动时,FORM1中点击button控件“打开form2””使FORM2显示出来。点击FORM2中的...

TWinControl的消息覆盖函数大全(41个WM_函数和31个CM_函数,它的WndProc就处理鼠标(转发)、键盘(取消拖动)、焦点、和WM_NCHITTEST一共4类消息)

注意,这些函数只有Private一种形式(也就是不允许覆盖,但仍在动态表格中): 其中TWinControl对TControl有10个消息进行了覆盖(红色标记),其中有2个是WM_消息,8个是CM_消息。 TWinControl = class(TControl) private //41个windows消息,几乎全部消息都是私有函数(...