天天看點

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

基于IoT平台建構智慧路燈應用

基于華為雲IoT平台,快速開發屬于自己的智慧路燈應用。

本文基于華為雲iot實驗制作而成

1.資源下載下傳

(本文預設已經注冊并登入華為雲平台)

在linux桌面下打開終端面闆下載下傳資源,下載下傳儲存“HubSimulator.jar”至本地桌面。

cd Desktop/wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/internet-wisdom-lamp/HubSimulator.jar
           
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

輸入以下指令儲存“SmartStreetLight.zip”壓縮包

wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/internet-wisdom-lamp/SmartStreetLight.zip
           
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

2.編譯建構智慧路燈應用

2.1 建立項目

進入控制台,選擇“服務清單”->“開發與運維”->“項目管理”,進入軟體開發雲,如下圖:

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

點選“立即使用”按鈕,跳轉到DevCloud操作界面

(華為雲提供了免費的軟體開發平台基礎班試用功能)

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

DevCloud操作界面如下圖

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

點選上圖紅圈标注“建立項目”按鈕,開始建立項目,如下圖所示:

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

點選标注的“Scrum”區域,建立“Scrum”類型項目,參數如下:項目設定模闆:Scrum項目名稱:QuickStart

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

參數填寫完畢,點選确定按鈕即可完成項目建立。

####2.2建立代碼倉庫

選擇導航欄“代碼 > 代碼托管”,進入管理頁面,展開右上角“普通建立”下拉菜單,點選“按模闆建立”。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

在搜尋框中輸入“IoT_Streetlight_New_Demo”,如下圖所示選擇“華北-北京四”,選中該模闆,單擊“下一步”。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

填寫倉庫基本資訊基本資訊參數如下:

①代碼倉庫名稱:自定義,如:IoT_Streetlight_New_Demo

②選擇gitignore:Java其他選項保持預設。

單擊“确定”,完成倉庫建立。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

2.3建構并歸檔軟體包

建立編譯建構任務點選導航欄

“建構&釋出 > 編譯建構”,進入管理頁面,點選“建立任務”,參數如下:

①源碼源:CodeHub;

②源碼倉庫:預設選擇1.2步建立的代碼倉庫;

③分支:master;點選“下一步”進入“選擇構模組化闆”。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

本項目是一個Java Maven項目,是以搜尋選擇“Maven”模闆, 單擊“确定”,進入“建構步驟”頁面。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

使用系統模闆中提供的兩個預設步驟、以及每個步驟中的預設配置,即可完成本例的建構。點選“建立并執行”即可完成步驟的配置并啟動建構任務

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
建構需要2-3分鐘,請耐心等待

2.4 驗證建構任務執行結果

點選導航欄“釋出”,進入“軟體釋出庫”頁面,點選進入“IoT_Streetlight...”下的“202…”日期命名的檔案夾,即可看到生成的軟體包“huawei-0.0.1-SNAPSHOT.jar”。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

3. 建立主題并訂閱 SMN

3.1 建立主題

在華為雲控制台,展開左側目錄,選擇【服務清單】->【管理與監管】 -> 【消息通知服務SMN】,或在服務清單搜尋框中搜尋“SMN”。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

在左側導航欄,選擇“主題管理 > 主題”,單擊“建立主題”,輸入“主題名稱”(自定義,例如:StreetLight)後單擊“确定”完成主題建立

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

3.2訂閱 SMN

主題建立成功後,系統會自動生成主題URN,主題URN是主題的唯一資源辨別,不可修改,後續步驟将會用到該URN。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

點選主題“StreetLight”右側操作“添加訂閱”,可采用短信或者郵件任意一種協定完成訂閱。

“短信協定”參數如下:

①協定:短信

②訂閱終端:使用者手機号碼(需填寫您的手機号完成此步)

單擊“确定”後,請檢視手機接收短信,點選短信中的連結進行訂閱确認。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

4. 建立彈性雲伺服器 ECS

4.1建立主機

在華為雲控制台,展開左側導航,選擇“服務清單”-> “計算”-> “彈性雲伺服器”進入,然後點選右上角“購買彈性雲伺服器”,

參數如下:

①計費模式:按需計費

②區域:華北-北京四

③可用區:随機配置設定

④CPU架構:x86計算

⑤規格:選擇“通用入門型 | t6.small.1”

⑥鏡像:公共鏡像 | Ubuntu | Ubuntu 16.04 server 64bit

⑦主機安全:不勾選“開通主機安全”

⑧系統盤:高IO | 40GB

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

基礎配置完成後點選 “下一步:網絡配置”,

參數如下:

①網絡:點選“前往控制台建立”,跳轉到虛拟私有雲控制台頁面:

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

在虛拟私有雲控制台,點選“建立虛拟私有雲”,區域選擇“華北-北京四”,名稱自定義(如:vpc-iot),預設子網名稱自定義(如:subnet-iot),其他參數均可預設,點選“立即建立”完成後,即可傳回網絡配置頁面。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

傳回網絡配置頁面,重新整理後,選擇剛建立的虛拟私有雲VPC(如:vpc-iot)和子網(如:subnet-iot),自動配置設定IP位址,如下圖所示:

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

②擴充網卡:預設配置

③安全組:預設配置

④彈性公網IP:現在購買

⑤線路:預設配置

⑥公網帶寬:按帶寬計費

⑦帶寬大小:1Mbit/s

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-nKZF5bz6-1641836845301)(C:/Users/19867/AppData/Roaming/Typora/typora-user-images/image-20220111010004196.png)]

完成網絡配置後單擊“下一步:進階配置”,參數如下:

①雲伺服器名稱:自定義,如:ecs-iot

②登入憑證:密碼

③密碼/确認密碼:自定義,如:SM1$b9Zs1#

⑥其他參數:預設配置

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

4.2 主機授信配置

建立的彈性雲伺服器ECS的“彈性公網IP”資訊将在後續步驟4.1添加授信主機的配置中用到。

4.2.1添加安全組入方向規則

點選新建立的彈性雲伺服器ECS的名稱進入詳情頁,選擇“安全組”頁簽,點選Sys-WebServer安全組右側的【配置規則】進入規則配置頁面。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
說明:SSH協定端口(22)的入方向TCP協定預設開放,無需修改。将智慧路燈應用端口(8080)的入方向放開限制,用于後續通路智慧路燈應用。出方向規則預設不做限制,無需修改。
4.2.2配置系統防火牆規則。

傳回實驗桌面輕按兩下“終端”打開Terminal,輸入以下指令,并按照操作說明執行,登入雲伺服器:操作說明:

①使用彈性雲伺服器ECS的彈性公網IP替換指令中的[EIP]說明:雲伺服器的彈性公網IP位址可以通過點選“控制台”->“服務清單”->“計算”->“彈性雲伺服器ECS”進入伺服器清單,進行檢視并複制

②接受秘鑰輸入“yes”,回車;

③輸入密碼:SM1$b9Zs1#(輸入密碼時,指令行視窗不會顯示密碼,輸完之後直接鍵入回車)。

②接受秘鑰輸入“yes”,回車;

③輸入密碼:輸入密碼時,指令行視窗不會顯示密碼,輸完之後直接鍵入回車)。成功登入雲伺服器之後如下圖所示:

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

④執行sudo ufw enable開啟ufw服務,輸入“y”确認。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

④執行sudo ufw enable開啟ufw服務,輸入“y”确認。

⑤執行sudo ufw allow 22/tcp啟用22端口。

⑥執行sudo ufw allow 8080/tcp啟用8080端口

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

###5. 部署智慧路燈應用

####5.1添加授信主機

“智慧路燈”是一個Web項目,需要部署到伺服器上才可以運作,本例采用部署伺服器是華為雲彈性雲伺服器。DevCloud在使用彈性雲伺服器之前需要先對其授信。回到軟體開發平台DevCloud(打開路徑見步驟1.1),點選已建立的項目,如QuickStart,如下圖所示:

單擊導航欄“更多 > 設定 > 通用設定”,選擇左側欄“主機組管理”,然後點選“建立主機組”,參數如下:

①主機組名:自定義,如:iot

②作業系統:Linux點選“儲存”完成主機組的建立,并進入該主機組。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

在建立的主機組内,點選“添加主機”,參數如下:

①主機名:自定義,可與建立的ECS名稱保持一緻,如:ecs-iot

②IP:建立彈性雲伺服器ECS的彈性公網IP(見步驟4.2)

③認證方式:密碼

④使用者名:root

⑤密碼:填建立彈性雲伺服器ECS的使用者密碼;如:SM1$b9Zs1#

⑥ssh端口:22勾選閱讀并同意聲明,點選“添加”完成主機的添加。當主機連通性驗證顯示“驗證成功”時,說明主機成功添加。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

5.2建立部署任務

點選導航欄“建構&釋出 > 部署”進入,然後點選“建立任務”,輸入任務名稱(可使用預設值),單擊“下一步”進入“選擇部署模闆”。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

闆“SpringBoot應用部署”,單擊“下一步”,進入“部署步驟”頁面。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

5.3配置部署步驟并執行

SpringBoot應用部署模闆預設包含以下步驟:安裝JDK、停止SpringBoot服務、選擇部署來源、啟動SpringBoot服務、URL健康測試。

#####5.3.1删除“停止SpringBoot服務”和“URL健康測試”;

#####5.3.2選中“安裝JDK”

主機組:選擇添加授信主機是建立的主機組(如:iot),彈框提示點選“确定”,jdk版本:openjdk-1.8.0;

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
5.3.3選中“選擇部署來源”

參數如下:

①選擇源類型:軟體包;

②選擇軟體包:點選右側“…”,選擇建構包,路徑如下圖所示;

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

③下載下傳到主機的部署目錄:按需填寫,如/usr/local

5.3.4選中“啟動SpringBoot服務”

參數如下:

①服務操作類型:保持預設值

②服務對應的絕對路徑:由“下載下傳到主機的部署目錄”和軟體包包名組成,如/usr/local/huawei-0.0.1-SNAPSHOT.jar

③元件監控:去掉勾選

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

5.3.5 切換到“參數設定”頁簽,逐一删除全部參數

5.3.6點選“儲存并執行”

完成部署任務的配置,并執行部署任務。

頁面顯示“部署成功”,表示任務執行完畢。若任務執行失敗,可通過頁面中的原因提示及連結來排查解決。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

6. 導入産品模型

6.1建立産品

在華為雲控制台,展開左側導航,選擇“服務清單”-> “物聯網”->“裝置接入IoTDA”,如下圖所示:

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

5.1建立産品在華為雲控制台,展開左側導航,選擇“服務清單”-> “物聯網”->“裝置接入IoTDA”,如下圖所示:

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用
#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

6.2上傳模型檔案

點選建立的産品進入詳情,然後點選“上傳模型檔案”,選擇SmartStreetLight.zip檔案,點選“确認”完成上傳。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

###7. 配置智慧路燈應用(訂閱推送方案)

6.1通路智慧路燈Web界面建立浏覽器标簽頁,輸入http://EIP:8080/index.html(使用步驟3.2中彈性雲伺服器的彈性公網IP替換位址中的“EIP”),通路智慧路燈Web頁面。6.2參數設定在彈出的“參數設定”視窗,參數填寫如下:

①資料來源:參數設定頁面下拉框選擇“訂閱推送”。

②本機IP:“控制台”->“服務清單”->“計算”->“彈性雲伺服器ECS”進入伺服器清單,進行檢視并複制彈性公網IP。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

③主題URN:“控制台”->“服務清單”->“管理與監管”->“消息通知服務SMN”進入主題清單,進行檢視并複制主題URN。

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

④APPID:“控制台”->“服務清單”-> “物聯網”->“裝置接入IoTDA”,在左側導航欄選擇“資源空間”,複制擷取産品所需的“APPID”

#yyds幹貨盤點#華為雲IoT體驗:基于IoT平台建構智慧路燈應用

⑤賬号名:華為雲賬号名。

⑥IAM使用者名:華為雲使用者名。

⑦IAM使用者密碼:華為雲密碼。

⑧項目ID:控制台在右上角使用者名下拉框中選擇“我的憑證->API憑證”頁面複制擷取所屬區域為“華北-北京四”的項目ID。

⑨産品ID:“控制台”->“服務清單”-> “物聯網”->“裝置接入IoTDA”,在左側導航欄選擇“産品”,複制擷取産品所需的“産品ID”。

填寫完成後點選“确定”,彈窗提示如下,表示參數設定成功。

7.3注冊裝置

繼續閱讀