物聯網時代-新基建-ThingsBoard調試環境搭建

前言

2020開年之際,科比不幸離世、疫情當道、經濟受到了嚴重的損失。人們都不幸的感慨: 2020年真是太不真實的一年,能夠從新來過就行了!國家和政府出臺了拯救經濟和加速建設的利好消息。3月份最熱的詞是什麼?價值50萬億投資額的"新基建"當之無愧。java

這場聲勢浩大的新基建投資的主要戰場,涵蓋包括5G建設、特高壓、城際高速鐵路和城市軌道交通、新能源汽車充電樁、大數據中心、人工智能基礎設施建設和工業互聯網基礎設施建設7個領域。其中5G建設直接放在了整個新基建列表的頭名。而物聯網又在7個領域中都有所或重要或涉及的部分。node

新基建

爲何IoT?

若是說,"萬物互聯"的概念在前些年還模模糊糊讓人沒法感知,此次疫情讓咱們深入感覺到了數據的海量和終端的多樣化可以多大程度保障社會的正常運轉。正如中國移動董事長楊傑所說: 5G不是簡單的4G+1G,而將進一步突破人和人、人和物、物和物鏈接的失控限制,實現人、物、資金、信息4流集中匯聚和高效協同,不斷創造以智能化爲核心的新業態和新模式。git

從互聯網到物聯網,到萬物互聯,全部的東西、全部的事物,均可以實時接入網絡。物聯網已經成爲信息社會的神經網絡。github

脫穎而出的ThingsBoard

在IoT平臺中,ThingsBoard是一個備受矚目的明星項目,其點贊數高達5K,其優秀的性能和高效的性能獲得了廣大開發者的承認。ThingsBoard是用於數據收集、處理、可視化和設備管理的開源物聯網平臺。它經過行業標準的物聯網協議 - MQTT、CoAP和HTTP實現設備鏈接,並支持雲和本地部署。Thingsboard具備可伸縮性、容錯性和性能優越的特色,所以您永遠不會丟失數據。sql

官網: https://thingsboard.io/docker

GitHub地址: https://github.com/thingsboard/thingsboard數據庫

ThingsBoard具備哪些優秀的特性:安全

  • 配置和管理設備和資產

使用豐富的服務端API以安全的方式配置、監視和控制您的IOT實體。 定義您的設備、資產、客戶或任何其餘實體之間的關係。bash

  • 收集和數據可視化

以可擴展且容錯的方式收集和存儲遙測數據。 使用內置或自定義的小部件以及靈活的儀表盤可視化您的數據。 與客戶共享儀表板網絡

  • 處理和反應

定義數據處理規則鏈,轉換和規範化您的設備數據。在傳入的遙測事件、屬性更新、設備假死和用戶操做時響應警報。

  • 微服務

使用新的微服務架構,構建Thingsboard集羣並得到最大的可擴展性和容錯能力。 ThingsBoard還支持雲和本地部署。

  • 實時IoT儀表盤

    smart-metering-dashboard

ThingsBoard容許您建立豐富的IoT儀表盤,以實時進行數據可視化和遠程設備控制。 超過30種可自定義的小部件,使您能夠在大多數IoT使用場景爲終端用戶構建自定義儀表盤。

  • IoT規則引擎

ThingsBoard容許您建立複雜的規則鏈來處理設備中的數據並匹配您的應用程序特定用例

走進ThingsBoard

依賴工具

  • JDK

    java圖片

    note: 在終端下分別輸入java, javac, javadoc。終端都顯示內容,才能說明JDK安裝成功
  • Maven

    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

![目錄](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

租戶管理頁面

租戶管理頁面

相關文章
相關標籤/搜索