天天看點

Thingsboard小白必修課

Panther 從一位小白走來,雖然現在也還是小白,但是我取之于民,不定時将自己所學到的都分享給大家,這篇為大家分享2019/9/5下午整理的,由于最近一段時間忙着學習angularjs+kubernetes沒有怎麼發部落格,前段時候剛為幾台新機搭建了環境并成功的運作,這裡就為大家簡單介紹一下,我是如何配置運作的,這些都是大家的功勞,大家庭裡的人太多了,大家跟我們來就對了

@上海-fRanson 、@琉璃、@大俠 
           
QQ群 QQ号
China Thingsboard 726442610

thingsboard所需的環境及開發工具

java jdk1.8、maven3.5.4、tomcat8.5.4、idea2019.1.1、git2.22.0、node10.16.2、postgresql9.6.14、navicat、vpn

查詢本機是否安裝過環境,避免重複安裝,如有已經安裝過的,自然就不用再次安裝

cmd
dxdiag
           

檢視電腦是多少位的作業系統,以下指令提示該電腦的作業系統,本篇以win64位作業系統為例,如安裝環境不同請自行下載下傳對應版本的軟體

java -version
           

檢視是否安裝java jdk

mvn -version
           

檢視是否安裝maven

node -v
npm -v
           

檢視是否安裝nodejs環境,安裝node自帶會安裝npm指令

one vpn安裝

two 安裝目錄

每次安裝結束記得通過cmd檢測一下是否安裝成功,如果大家跟着我的步驟還是沒有操作成功,網盤中我也粘貼了我們群 中大神的操作步驟,大家自行查閱

  1. jdk安裝
  2. maven安裝
  3. tomcat安裝
  4. idea安裝
  5. git安裝
  6. nodejs安裝
  7. postgresql安裝
  8. navicat安裝
Thingsboard小白必修課

three 百度網盤的位址連結

連結位址
https://pan.baidu.com/s/196yaHDQcx03Ri7dZWUYbsg
 提取碼
 2329
           

開始打地基

jdk安裝

  1. 運作工具包中的 jdk-8u162-windows-x64
  2. 下一步 下一步,需要注意的就是路徑的位址,一般都是自定義的後期還需要配置環境變量
  3. 圖檔僅供參考,配置完java_home的路徑,在将java_home添加到path中,最後查詢
    Thingsboard小白必修課
    Thingsboard小白必修課
    Thingsboard小白必修課
    maven安裝
  4. 運作工具包中的 apache-maven-3.5.4
  5. 下一步 下一步,需要注意的就是路徑的位址,一般都是自定義的後期還需要配置環境變量
  6. 流程如上圖,配置完maven_home的路徑,在将maven_home添加到path中,最後查詢
  7. 有情提示,如果對于修改maven倉庫的位址不是很熟悉或者沒有使用過,不必修改他的倉庫位址,idea會自動擷取maven的預設位址
    Thingsboard小白必修課
    tomcat安裝
  8. 運作工具包中的 apache-tomcat-8.5.40-windows-x64
  9. 下一步 下一步,需要注意的就是路徑的位址,一般都是自定義的後期還需要配置環境變量
  10. 流程如上圖,配置完catalina_base的路徑,在将catalina_base添加到path中,最後啟動tomcat,并修改使用者名和密碼
    Thingsboard小白必修課
    idea安裝
  11. 運作工具包中的ideaIU-2019.1.1 下一步下一步,注冊碼激活 工具包中存在
  12. 安裝完成之後需要內建自己的jdk、maven、tomcat、設定idea護眼色、修改maven負載最大值、idea安裝lombok插件(如果不安裝log會報錯,可能影響項目無法啟動)
  13. 因為過程比較瑣碎,百度網盤中我把每一步都貼上了網址,大家可以根據連結的訓示操作

    git安裝

  14. 運作工具包中的Git-2.22.0-64-bit 下一步下一步
  15. 自定義安裝路徑,安裝成功後空白地方右鍵
    Thingsboard小白必修課
    nodejs安裝
  16. 運作工具包中的node-v10.16.2-x64 下一步下一步
  17. cmd查詢,因為安裝node,會自帶npm
    Thingsboard小白必修課
    postgresql安裝
  18. 運作工具包中的postgresql-9.6.14-2-windows-x64 下一步下一步
  19. 切記 切記,輸入密碼一定要自己常用的
  20. 安裝pgsql會遇到,這種錯誤,直接複制到百度,即可

    There has been an error.

    an error occured executing the Microsoft VC++ runtime installer

    navicat安裝

  21. 運作工具包中的navicat100_pgsql_en 下一步下一步
  22. 這裡示範的是英文版的,因為英文版的安裝簡單,注冊碼同在檔案夾内
  23. 連接配接pgsql
  24. 将該目錄下的4個sql檔案導入到pgsql中,點選public右鍵,運作本地sql,會出現22張表格

    thingsboard\b\thingsboard-master\dao\src\main\resources\sql

    Thingsboard小白必修課
    Thingsboard小白必修課

    下載下傳項目,導入idea,成功運作

    官網提示最新為2.4.0 這裡我們不通過git下載下傳,當然也可以通過git下載下傳,打包過程都是一樣的,我們直接下載下傳zip壓縮包為最新的版本2.4.1

    https://github.com/thingsboard/thingsboard

    當下載下傳之後,idea內建過maven并修改過最大接入值時,幾分種就可以導入該項目;

    我們打包項目,通過idea的終端Terminal 輸入指令

    在該終端下運作打包指令

    mvn clean install -DskipTests

    Thingsboard小白必修課

    在這裡如果一切順利,就應該解決問題啦,打包成功,啟動項目,但是一般問題沒那麼簡單,肯定會報錯的;

    聲明一下,項目打包不需要修改任何代碼,通過maven的導入就可以執行打包操作!現在我們都沒有修改,這樣也好針對不同的問題做出對應的修改;

    *我這裡列舉幾種解決辦法 *

    一: 在終端直接打包成功,那就最好啦,這個時候通過maven單獨清理 ui + web ui ;兩個檔案

    thingsboard ServerUI

    ThingsBoard Web UI Microservice

    Lifecycle – > clean --> compile

    如果執行操作都為成功的話,修改

    thingsboardmaster\application\src\main\resources\thingsboard.yml

    目錄下的資料庫配置檔案,這裡根據建立資料庫的使用者名和密碼進行修改
    Thingsboard小白必修課
    Thingsboard小白必修課

    二:如果自己剛從網上下載下傳下來的項目,無論怎樣都無法打包的話就是前端依賴出現啦問題,a無法翻牆,b依賴出現啦問題;第一個好解決,我重點講解一下第二個

    出現第二種情況就是因為,UI子產品+web ui子產品的 node_modules依賴缺少;ui下的node_modules的依賴為1001個, web ui子產品下的node_modules的依賴為358個,将工具包中好的依賴導入到你的項目中,再次打包,每次打包結束java程序,從任務管理器中結束掉

    Thingsboard小白必修課
    Thingsboard小白必修課
    打包成功,啟動時報錯,惠普的會出現9001端口被占用,百度一下 結束被占用的端口,最後都啟動成功使用ngrok工具,解壓修改端口号啟動

打包教程

Thingsboard小白必修課

我剛下載下傳的zip 檔案 第一次打包 報錯

ui 中的node_modules,解壓到 ui目錄下 單獨打包 ui目錄

Thingsboard小白必修課

這樣就可以解決ui打包不通過的問題

Thingsboard小白必修課

打包成功,然後 在到主目錄下打包

Thingsboard小白必修課

出現端口被占用 , 任務管理器 結束目前程序,結束Javase 程序

cmd 運作

taskkill /f /im java.exe
           
Thingsboard小白必修課

另外出現其他的錯誤,先嘗試maven重新整理整個項目

Thingsboard小白必修課

關于打包成功 後 ,如還有提示 msg.gen 引入錯誤的如圖,如圖 maven 重新整理以下就好了

Thingsboard小白必修課
Thingsboard小白必修課

包括出現不是有效win32的這種情況

Thingsboard小白必修課

出現這種問題就是因為你的maven關于node的依賴沒有下載下傳完全

1.首先從maven庫中檢視node依賴是否完整,因為我沒有配置maven倉庫 我的就在c盤下

C:\Users\Panther\.m2\repository\com\github\eirslett\node\10.16.0
           
Thingsboard小白必修課

2.檢視pgk是否有v2.6,這些都是關于tb的依賴,都是需要有的

C:\Users\Panther\.pkg-cache
           
Thingsboard小白必修課

最後知識補充一下

thingsboard改造使用mysql資料庫

thingsboard從2.2版本開始,相容關系型資料庫與非關系型資料庫共用(關系型資料庫儲存實體類資訊、非關系型資料庫cassandra儲存遙測資料資訊)。由于國内偏向使用mysql資料庫,而非postgresql。是以,通過修改thingsboard.yml的JDBC連結,可以實作使用mysql資料庫的目的。

同理,如果需要改成使用oracle或者其他資料庫,也是修改配置檔案即可。因為thingsboard使用了JPA作為持久化手段,是以基本相容目前流行的資料庫。

thingsboard.yml配置修改如下:

DATABASE_ENTITIES_TYPE    sql
SPRING_JPA_DATABASE_PLATFORM  org.hibernate.dialect.MySQL5InnoDBDialect
SPRING_DRIVER_CLASS_NAME  com.mysql.jdbc.Driver
SPRING_DATASOURCE_URL  jdbc:mysql://${mysql_ip}:3306/thingsboard?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
SPRING_DATASOURCE_USERNAME      ${mysql_username}
SPRING_DATASOURCE_PASSWORD      ${mysql_password}
           

繼續閱讀