項目四 智慧小區(qū)安全防護系統(tǒng)實訓(xùn)報告

##**一.項目背景**

1.社會發(fā)展和科技進步的需求:

隨著科技的不斷發(fā)展和人們生活水平的提高肤晓,對居住環(huán)境的安全性和智能化要求日益增強。城市化進程加速翩隧,小區(qū)人口密度增大妓布,治安形勢變得更為復(fù)雜姻蚓,需要更高效、精準(zhǔn)的安防手段來保障居民的生命財產(chǎn)安全匣沼。

2.傳統(tǒng)安防措施的局限性:

傳統(tǒng)小區(qū)的安防措施往往存在諸多局限性狰挡,如監(jiān)控覆蓋不全面、響應(yīng)不及時、信息孤立等問題圆兵。這些問題使得傳統(tǒng)安防措施無法滿足現(xiàn)代小區(qū)對安全性的高要求。

3.先進信息技術(shù)的支撐:

先進的信息技術(shù)枢贿,如物聯(lián)網(wǎng)殉农、人工智能、大數(shù)據(jù)等的快速發(fā)展局荚,為智慧小區(qū)安防系統(tǒng)的建設(shè)提供了技術(shù)支撐超凳。通過將各類智能設(shè)備和系統(tǒng)進行整合,可以實現(xiàn)對小區(qū)的全方位實時監(jiān)控耀态、智能預(yù)警和快速響應(yīng)轮傍。

4.居民生活品質(zhì)的追求:

居民對生活品質(zhì)的追求也促使小區(qū)管理者不斷提升安防水平。他們希望擁有一個更加安全首装、便捷创夜、舒適的居住環(huán)境,這就要求安防系統(tǒng)不僅具備強大的防護功能仙逻,還要具備良好的用戶體驗和交互性驰吓。

5.政策支持與推動:

各級政府也積極推動智慧小區(qū)的建設(shè),通過政策支持和資金投入系奉,鼓勵小區(qū)管理者采用先進的安防技術(shù)和系統(tǒng)檬贰,提升小區(qū)的安全性和智能化水平。

#二.實訓(xùn)目標(biāo)

##1.創(chuàng)建智慧小區(qū)安全防護系統(tǒng)產(chǎn)品設(shè)備

####1.1 實訓(xùn)目的

1缺亮、通過中移OneNET物聯(lián)網(wǎng)開放平臺新建產(chǎn)品(MQTT)翁涤;

2、根據(jù)項目場景創(chuàng)建產(chǎn)品物模型萌踱;

3葵礼、創(chuàng)建基于MQTT 的云平臺設(shè)備;

4并鸵、查看設(shè)備運行狀態(tài)及數(shù)據(jù)章咧。

##2.智慧小區(qū)安全防護系統(tǒng)模擬設(shè)備接入

###2.1 實訓(xùn)目的

1、通過模擬工具調(diào)試設(shè)備接入能真;

2赁严、通過模擬設(shè)備,實現(xiàn)屬性上報粉铐;

3疼约、OneNET 平臺下發(fā)屬性值(命令)到模擬設(shè)備;

##3.基于真實設(shè)備接入 OneNET 平臺

###3.1 實訓(xùn)目的

1蝙泼、基于真實設(shè)備程剥,搭建軟硬件環(huán)境,接入 OneNET 平臺并實現(xiàn)設(shè)備屬性上報;

2织鲸、通過OneNET 平臺的“設(shè)備調(diào)試”實現(xiàn)設(shè)備屬性下發(fā)舔腾;

3、通過OneNET 平臺的“API 調(diào)試”實現(xiàn)設(shè)備屬性下發(fā)搂擦;

4稳诚、直接基于API 方式實現(xiàn)設(shè)備屬性下發(fā);

##4.安全防護系統(tǒng)的可視化實現(xiàn)

###4.1 實訓(xùn)目的

1瀑踢、學(xué)會OneNET 平臺數(shù)據(jù)可視化編輯器的使用扳还;

2、能夠進行可視化數(shù)據(jù)源的配置橱夭;

3氨距、對智慧小區(qū)安全防護系統(tǒng)進行可視化展現(xiàn)。

##**三.實訓(xùn)過程**

##1.創(chuàng)建智慧小區(qū)安全防護系統(tǒng)產(chǎn)品設(shè)備

###1.1實訓(xùn)過程

1.1.1棘劣、通過中移OneNET物聯(lián)網(wǎng)開放平臺新建產(chǎn)品(MQTT)

(1) 通過中移物聯(lián)網(wǎng)首頁的“全部產(chǎn)品服務(wù)”菜單進入 “物聯(lián)網(wǎng)開放平臺”功能頁

![image.png](https://upload-images.jianshu.io/upload_images/29624267-437c660a06c51c18.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

(2)創(chuàng)建產(chǎn)品

展開左側(cè)菜單“產(chǎn)品開發(fā)”功能俏让,點擊“創(chuàng)建產(chǎn)品”按鈕,進行產(chǎn)品添加茬暇。(如已創(chuàng)建了產(chǎn)品舆驶,則展

示有產(chǎn)品列表,可繼續(xù)點擊按鈕創(chuàng)建)

![be4a9027fe08ddb0915f34de46dca74a.png](https://upload-images.jianshu.io/upload_images/29624267-4a9ffcd9f8263e47.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

1.1.2而钞、根據(jù)項目場景創(chuàng)建產(chǎn)品物模型沙廉;

![943ee0c18fbbb5631d0fd8249dbe925c.png](https://upload-images.jianshu.io/upload_images/29624267-dc0593bb99b0f66e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

1.1.3、創(chuàng)建基于 MQTT 的設(shè)備臼节;

![8ac70b387bbac3143dec405523e15053.png](https://upload-images.jianshu.io/upload_images/29624267-dffe48fa7a962e0d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

1.1.4撬陵、設(shè)備狀態(tài)及信息查看

步驟 1 查看設(shè)備運行狀態(tài)

點擊左側(cè)菜單“設(shè)備管理”,顯示設(shè)備列表頁面网缝,其中“設(shè)備狀態(tài)”列展示了對應(yīng)設(shè)備的運行狀態(tài)巨税。初始創(chuàng)建的設(shè)備,顯示為“未激活”粉臊,當(dāng)實體設(shè)備使用該條設(shè)備信息接入到 OneNET 平臺后草添,則顯示為“在線”,斷開與OneNET 平臺的連接后扼仲,則顯示為“離線”远寸,且“最近在線時間”列會記錄最后一次上線時間信息。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-aa89b3573d4cb4b1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![image.png](https://upload-images.jianshu.io/upload_images/29624267-cc99ac087af7d701.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 2 查看設(shè)備詳細(xì)信息

點擊設(shè)備列表右側(cè)操作項“詳情”屠凶,在設(shè)備詳情頁面驰后,查看設(shè)備及歸屬產(chǎn)品的詳細(xì)信息。這里的信息矗愧,后續(xù)任務(wù)步驟中會使用到灶芝。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-922b9fd21d20be5d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

切換到“屬性”頁面,可以查看當(dāng)前設(shè)備下的各個物模型功能點實際數(shù)據(jù),下圖因為設(shè)備是初次創(chuàng)建夜涕,所以這些數(shù)據(jù)還沒有記錄犯犁。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-ec49522a8b994e30.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 3 查看設(shè)備日志

OneNET 平臺提供了核心服務(wù)全鏈路日志,包括設(shè)備上下線女器、設(shè)備上行消息酸役、

下行消息、業(yè)務(wù)處理消息(物模型調(diào)用晓避、存儲簇捍、規(guī)則引擎只壳、HTTP 推送俏拱、MQ

推送)等。日志列表提供了強大靈活的搜索功能吼句,可查詢設(shè)備日志詳細(xì)信息锅必,

進行故障分析。

點擊左側(cè)菜單“運維監(jiān)控”展開惕艳,“設(shè)備日志”子菜單搞隐,顯示所有設(shè)備的

日志列表頁面,可以選擇篩選條件远搪,精細(xì)過濾快速查找日志信息劣纲。因為當(dāng)前設(shè)

備是初次創(chuàng)建,相關(guān)日志信息還沒有谁鳍,下圖是一個已經(jīng)產(chǎn)生日志記錄的設(shè)備日志查詢列表癞季。在未來實訓(xùn)環(huán)節(jié),我們將通過這里的功能方便便捷查找傳輸?shù)臄?shù)據(jù)值倘潜, 或者快速定位問題绷柒。![image.png](https://upload-images.jianshu.io/upload_images/29624267-470ccbdbe53ae406.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![image.png](https://upload-images.jianshu.io/upload_images/29624267-415cf27d08d2c9a2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

###1.2拓展實訓(xùn)部分

1.2.1設(shè)備分組管理

步驟 1 創(chuàng)建設(shè)備分組

支持設(shè)備分組功能,可以將不同產(chǎn)品下的不同設(shè)備組合在一起涮因,即增加一個跨產(chǎn)品的自定義設(shè)備組合废睦。每個設(shè)備最多添加進一個分組,通過用戶自定義的分組养泡,標(biāo)記特征嗜湃,從而實現(xiàn)設(shè)備資源的重新組合以方便特定應(yīng)用場景下的物聯(lián)網(wǎng)項目應(yīng)用。點擊左側(cè)“設(shè)備分組”子菜單進入分組管理頁面澜掩,點擊右側(cè)“添加分組”净蚤,在彈出的頁面中填寫分組名稱,點擊“新建”完成分組創(chuàng)建输硝。![image.png](https://upload-images.jianshu.io/upload_images/29624267-ff2859c734ffc486.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![image.png](https://upload-images.jianshu.io/upload_images/29624267-1d9c20456ca10e6c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

點擊創(chuàng)建好的分組信息列表操作列中的“詳情”今瀑,進入當(dāng)前設(shè)備分組信息頁面。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-6721b31d6faea455.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 2 為分組添加設(shè)備

初始時沒有設(shè)備存在于該分組中,列表顯示為空白橘荠。注意分組信息展示的內(nèi)容屿附,分組也有自己的key, 這個 key 可用于按分組方式接入 OneNET 平臺的方式時哥童,計算 Token 的授權(quán)憑據(jù)挺份。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-f1f9bcb59bc7f940.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

點擊頁面右側(cè)“添加設(shè)備”按鈕,彈出的頁面展示了左右兩欄設(shè)備列表贮懈。左側(cè)列出了所有產(chǎn)品下的待添加設(shè)備匀泊,已加入到某個分組的設(shè)備則不會顯示。選擇左側(cè)之前創(chuàng)建好的設(shè)備朵你,右側(cè)會自動出現(xiàn)該設(shè)備信息各聘,表示已被選擇加入到當(dāng)前分組中。點擊下面的“確定”按鈕完成將設(shè)備加入到分組的操作抡医。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-1934c15ded7240b2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

##2.智慧小區(qū)安全防護系統(tǒng)模擬設(shè)備接入

###2.1實訓(xùn)步驟

2.1.1模擬設(shè)備接入OneNET 平臺

步驟 1使用官方 Token 計算工具躲因,獲得驗證 token 信息

下載并運行“實訓(xùn)資料包\工具包\Token 計算器”路徑下的“tokenV2.0.exe”

![image.png](https://upload-images.jianshu.io/upload_images/29624267-29080cd4da06d8bd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 2安裝并配置 MQTT.fx 工具模擬設(shè)備信息

下載并安裝“實訓(xùn)資料包\工具包\MQTT 客戶端”路徑下的“mqttfx-1.7.1-windows-x64.exe”應(yīng)用程序。安裝完畢后忌傻,雙擊桌面建立的MQTT.fx 快捷方式大脉,運行MQTT.fx 客戶端:

![image.png](https://upload-images.jianshu.io/upload_images/29624267-50c8b3b557e277f4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

設(shè)置配置頁面

![b9ea5f3eac1e5dde378f841f7bae4518.png](https://upload-images.jianshu.io/upload_images/29624267-11012ef52d658dfe.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![fc1ead3d9660076c308ed78929186c20.png](https://upload-images.jianshu.io/upload_images/29624267-90a744088b251d83.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 3 使用 MQTT.fx 工具模擬設(shè)備接入

![f1afab3731a56af77b8f82729df42838.png](https://upload-images.jianshu.io/upload_images/29624267-c97a6d905adafa28.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

查看在線狀態(tài)

![3a5e2989ecd9c8809140a9a8696dca05.png](https://upload-images.jianshu.io/upload_images/29624267-c26212ef906b5b76.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 4 斷開 MQTT.fx 工具模擬,查看 OneNET 平臺中設(shè)備的狀態(tài)變化

![56cdb40c7e81276a61441324980d0fc1.png](https://upload-images.jianshu.io/upload_images/29624267-a2d9cfd0ed96169d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

查看在線狀態(tài)

![01104f6ea1056aab98b998e9803fb040.png](https://upload-images.jianshu.io/upload_images/29624267-474ba864f1988638.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2.1.2模擬設(shè)備接入OneNET 平臺實現(xiàn)屬性上報

步驟 1 訂閱屬性上報結(jié)果通知消息

首先根據(jù)前述步驟完成模擬工具 MQTT.fx 模擬一個設(shè)備(本任務(wù)為 Simulator)接入 OneNET 平臺水孩,在平臺側(cè)頁面中查看到設(shè)備為上線狀態(tài)镰矿。點擊模擬工具的“Subscribe”選項頁表頭,在其中的輸入框填寫屬性上報結(jié)果通知topic俘种。

這是為了確保設(shè)備上傳消息確實被平臺所接受處理秤标,模擬設(shè)備通過訂閱 OneNET 平臺中已提前創(chuàng)建好的該 MQTT 設(shè)備屬性上報的結(jié)果回復(fù) topic 主題,來等待獲取對應(yīng)的屬性上報結(jié)果消息安疗,屬性上報結(jié)果回復(fù) topic 為:

######$sys/產(chǎn)品 ID/設(shè)備名稱/thing/property/post/reply

![f6e5eeb5e5d3c21aa474987d367d34be.png](https://upload-images.jianshu.io/upload_images/29624267-d069a1ca226abb62.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 2 發(fā)送屬性上報消息

點擊“Publish”選項頁表頭抛杨,切換到消息發(fā)送頁,在輸入框中填入屬性上報 topic 主題荐类,該 topic為:

######$sys/產(chǎn)品 ID/設(shè)備名稱/thing/property/post

![image.png](https://upload-images.jianshu.io/upload_images/29624267-a8509dda3682061b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

在下空白編輯區(qū)中怖现,輸入如下內(nèi)容:

~~~

{

? ? ? ? ? "id": "123",

? ? ? ? ? "version": "1.0",

? ? ? ? ? ? ? ? ? ? ? "params": {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "distance": {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "value": 28.88,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "time": 1599534283111

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

}

~~~

輸入并檢查無誤后,點擊“Publish”按鈕玉罐。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-1d99a0f1bb84956d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 3 查看屬性上報結(jié)果

![24242aaec3c46f95262237a5be77cbfb.png](https://upload-images.jianshu.io/upload_images/29624267-0a44ed67c3210f29.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 4 OneNET 平臺中查看設(shè)備的屬性最新值

![f98d65c64429562e24de098e35eeffc2.png](https://upload-images.jianshu.io/upload_images/29624267-62a188ad1385a693.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2.1.3OneNET 平臺下發(fā)屬性值到模擬工具

步驟 1 訂閱接收平臺下發(fā)屬性數(shù)據(jù)的 topic

設(shè)備側(cè)如需要收到平臺下發(fā)的數(shù)據(jù)屈嗤,需要訂閱接收平臺下發(fā)數(shù)據(jù)的 topic,該 topic 為:

######$sys/產(chǎn)品 ID/設(shè)備名稱/thing/property/set

點擊模擬工具的“Subscribe”選項頁表頭吊输,在其中的輸入框填寫平臺下發(fā)屬性數(shù)據(jù)的 topic饶号。點擊“Subcribe”按鈕完成訂閱,如下所示季蚂,成功后訂閱列表會多一個新的訂閱頻道茫船,當(dāng)前消息數(shù)為 0琅束。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-f5fa5fdc07466f4f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 2 OneNET 平臺下發(fā)屬性數(shù)據(jù)

在“設(shè)備管理”中選擇要下發(fā)屬性的設(shè)備(本任務(wù)中選擇前面任務(wù)中創(chuàng)建的產(chǎn)品和

Simulator 設(shè)備),點擊詳情進入設(shè)備信息頁面算谈,切換功能為“設(shè)備調(diào)試”在下方顯示頁面中選擇“應(yīng)用模擬器”涩禀,勾中屬性功能點距離 distance,并填寫一個具體數(shù)值然眼,如 33.3艾船,點擊頁面下方的 “屬性設(shè)置”按鈕,完成發(fā)送高每∮炱瘢可以在頁面右側(cè)的調(diào)試日志中看到下發(fā)的日志信息。

![8d184f6c06f94fa1b5ff4aa432b726a2.png](https://upload-images.jianshu.io/upload_images/29624267-0943199cb2659cb4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 3 模擬設(shè)備中查看收到的屬性數(shù)據(jù)值

![abf2d02817977f03e0c235317f1da670.png](https://upload-images.jianshu.io/upload_images/29624267-e046100d4d3ff71e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

###2.2拓展實訓(xùn)部分

2.2.1仿真設(shè)備信息上傳

步驟 1 進入設(shè)備調(diào)試功能

在“設(shè)備管理”中選擇要下發(fā)上報信息的設(shè)備(本任務(wù)中選擇前面任務(wù)中創(chuàng)建的產(chǎn)品和 Simulator 設(shè)備)鲸匿,點擊詳情進入設(shè)備信息頁面爷怀,切換功能為“設(shè)備調(diào)試”。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-bbe3ea770574f6c0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 2 啟動設(shè)備模擬器?

刷新頁面提示可以啟動調(diào)試后晒骇,點擊“啟動調(diào)試”按鈕霉撵。啟動后磺浙,屬性上報 Tab 頁展示了當(dāng)前設(shè)備可以上報的數(shù)據(jù)點洪囤,圖示僅參考操作的位置示意,不代表所示信息必須保持一樣撕氧。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-4c9e9b704cb0fa82.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 3 輸入當(dāng)前設(shè)備的WiFi定位信息上報

向下瀏覽或通過輸入關(guān)鍵字搜索定位到“WiFi定位”屬性數(shù)據(jù)點瘤缩,勾中前面的選框,并點擊右側(cè)下拉展開 箭 頭 伦泥, 在 該 數(shù) 據(jù) 點 下 的 “ 熱 點 mac 信 息 ” 輸 入 框 中 輸 入 某 個 WiFi 熱 點 的 mac 地 址 信 息 剥啤, 如dc:fe:18:f2:4c:67|ac:b3:b5:1d:63:80。點擊下方的“屬性上報”不脯。

![d3628af952ea75d7969e51c17f70be13.png](https://upload-images.jianshu.io/upload_images/29624267-27b75d5e83a25aa7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

觀察頁面右側(cè)顯示的數(shù)據(jù)上報及平臺回應(yīng)信息府怯,確認(rèn)數(shù)據(jù)成功上報。

步驟 4 在設(shè)備詳情頁面查看設(shè)備上報的熱點位置信息數(shù)據(jù)

![217e6f2fc87de9933d2ca9bcf036a29f.png](https://upload-images.jianshu.io/upload_images/29624267-af5755ca77c76898.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 5 重復(fù)為另一個 Controller 設(shè)備上報地理位置信息數(shù)據(jù)

重復(fù)步驟 1防楷、2牺丙、3、4复局,但此時選擇的設(shè)備為“Controller”冲簿,其他操作方式與前述步驟一致,返回設(shè)備詳情頁面亿昏,查看該設(shè)備下的地理位置屬性點信息峦剔,已經(jīng)有數(shù)據(jù)記錄。

##3.基于真實設(shè)備接入 OneNET 平臺

###3.1實訓(xùn)步驟

3.1.1真實設(shè)備接入OneNET 平臺實現(xiàn)屬性上報

步驟 1 基于 OneNET 物聯(lián)網(wǎng)實驗箱搭建實訓(xùn)項目終端硬件平臺

根據(jù)實訓(xùn)場景角钩,選取 OneNET 物聯(lián)網(wǎng)實驗箱“核心模塊”以及“Wifi 模塊”吝沫、“蜂鳴器模塊”呻澜、 “超聲波模塊”等場景所需的模塊進行搭建

步驟 2 終端設(shè)備軟件系統(tǒng)搭建

(1) 運行 Keil uVision5 應(yīng)用程序(有關(guān)Keil uVision5 應(yīng)用程序的安裝、芯片編譯環(huán)境配置等步驟參考前述實訓(xùn)項目任務(wù)中有關(guān)指導(dǎo)說明)惨险。

(2) 載入項目三終端設(shè)備側(cè)代碼工程(該工程代碼已經(jīng)包含了根據(jù)實驗箱各模塊基礎(chǔ)集成框架易迹,以及基于 MQTT 的 OneNET 云平臺接入能力),載入后直接全編譯工程平道,查看編譯結(jié)果睹欲。具體工程的打開以及編譯等操作參考前述實訓(xùn)項目中操作描述。如下圖所示表示編譯沒有錯誤一屋。

![d070e08769a92ba6c8d6bc59111f3aa7.png](https://upload-images.jianshu.io/upload_images/29624267-de4bee7d8d9672bb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟3修改設(shè)備程序的OneNET平臺網(wǎng)絡(luò)接入配置參數(shù)

修改如下幾處代碼窘疮,讓工程具備正確的網(wǎng)絡(luò)訪問以及OneNET平臺接入驗證和適配本次實訓(xùn)任務(wù)所需的物模型數(shù)據(jù)屬性上報、寫入能力冀墨。具體代碼文件在工程中的位置如下圖所示![image.png](https://upload-images.jianshu.io/upload_images/29624267-ac947e083ad03eb9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

A. 工程相對路徑\device\src\net_device.c 約 677 行處闸衫,將{wifi}、{password}替換為設(shè)備所在 Wifi 網(wǎng)絡(luò)用戶名和密碼(將{}括號一起替換诽嘉,下同)蔚出;

![aa5766f652190df741e035e6b1a1734c.png](https://upload-images.jianshu.io/upload_images/29624267-53aefbafadc6a6eb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~

#if(PHONE_AP_MODE == 1)

UsartPrintf(USART_DEBUG, "Tips: AT+CWJAP\r\n");

if(!NET_DEVICE_SendCmd("AT+CWJAP=\"*********\",\"********\"\r\n", "GOT IP", 400))

#endif

~~~

B. 工程相對路徑\onenet\src\onenet.c 約 56 行處,依次修改{設(shè)備密鑰}虫腋、{產(chǎn)品 id}骄酗、{設(shè)備名稱}為之前步驟中在 OneNET 平臺 中所創(chuàng)建的產(chǎn)品、設(shè)備相關(guān)信息悦冀,本例中設(shè)備名稱就是之前步驟中創(chuàng)建的“Controller”設(shè)備趋翻,并對應(yīng)填入其設(shè)備密鑰;![6f23119abceea7bc47df4f2cb5c8e783.png](https://upload-images.jianshu.io/upload_images/29624267-51c824e9730c0680.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~

ONETNET_INFO onenet_info = {"", "*******************************", "",

"***************", "", "",

"183.230.40.96", "1883", 0,

0, 0, 1, 0, 0, 0, 0, 0, 0};

char devicename[32]="Controller";

~~~

步驟 4 修改設(shè)備程序的上報屬性值映射關(guān)系以及 OneNET 平臺下發(fā)屬性生效命令處理代碼

C. 工程相對路徑\applications\application.c 約 132 行處盒蟆,根據(jù)之前步驟中在 OneNET 平臺中所創(chuàng)建的物模型信息踏烙,依次增加屬性點標(biāo)識符以及對應(yīng)需上報的設(shè)備數(shù)據(jù)變量,如下所示历等;

![image.png](https://upload-images.jianshu.io/upload_images/29624267-f458092771da1703.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~

DATA_STREAM data_stream[] = {

{"$OneNET_LBS", &data_lbs, TYPE_LBS, 0},

{"$OneNET_LBS_WIFI", &data_lbs_wifi, TYPE_LBS_WIFI, 0},

{"beep", &beep_info.beep_status[0], TYPE_BOOL, 1},

{"distance", &Sonic_Info.sonic_distance, TYPE_FLOAT, 1},

};

unsigned char data_stream_cnt = sizeof(data_stream) / sizeof(data_stream[0]);

~~~

D. 工程相對路徑\onenet\src\cmd_callback.c 約 51 行處讨惩,根據(jù)之前步驟中在OneNET 平臺 中所創(chuàng)建的物模型信息,增改此處的屬性點標(biāo)識符寒屯,對應(yīng)設(shè)置需寫入生效的設(shè)備數(shù)據(jù)處理函數(shù)名荐捻,并同時實現(xiàn)該函數(shù)的聲明以及具體函數(shù)代碼,完成寫入信息在本地設(shè)備上的實際生效邏輯浩螺;![image.png](https://upload-images.jianshu.io/upload_images/29624267-a0f61eefdb58b74e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~

CMD_CALLBACK_INFO cmd_callback_info[] = {

{"beep", CALLBACK_Beep},

{"int_test", CALLBACK_Test},

};

unsigned char cmd_cb_cnt = sizeof(cmd_callback_info) / sizeof(cmd_callback_info[0]);

~~~

以蜂鳴器寫入為例靴患,對應(yīng)修改該變量定義段內(nèi)某行形如“{“beep”,CALLBACK_Beep},”的信息要出,逗號前面的字符串標(biāo)識符為"beep"鸳君,逗號后的處理方法名為 CALLBACK_Beep。同時在該文件頭部患蹂,增加 void CALLBACK_Beep(int value);這樣的方法聲明:

![image.png](https://upload-images.jianshu.io/upload_images/29624267-307ff12980cdb030.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~

void CALLBACK_Beep(int value);

void CALLBACK_Test(int value);

~~~

在文件適當(dāng)位置增加該方法的具體實現(xiàn)邏輯代碼:

![image.png](https://upload-images.jianshu.io/upload_images/29624267-37040ebb082f3cc6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~void CALLBACK_Beep(int value)

{

switch(value)

{

case 0:BEEP_Ctl(0,BEEP_OFF);? break;

case 1:BEEP_Ctl(0,BEEP_ON);? break;

default:? ? ? ? ? ? break;

}

}

~~~

步驟 5 編譯工程或颊,連接下載器燒寫程序到設(shè)備中

下載器的連接以及燒寫過程略砸紊。下載成功后設(shè)備重新加電,等待一定時間囱挑,進入下一步醉顽。

步驟 6 OneNET 平臺側(cè)查看設(shè)備狀態(tài)

![image.png](https://upload-images.jianshu.io/upload_images/29624267-6c9e304db806ee1d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 7 OneNET 平臺側(cè)查看設(shè)備上報數(shù)據(jù)信息

![83a5dfb390c226edb662c1166b0b7a66.png](https://upload-images.jianshu.io/upload_images/29624267-1ee989c7cdba1afe.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

###3.2實訓(xùn)步驟

3.2.1下發(fā)屬性在終端設(shè)備上執(zhí)行生效(設(shè)備調(diào)試)

步驟 1 設(shè)備端軟硬件環(huán)境準(zhǔn)備

沿用上一個實訓(xùn)任務(wù)中搭建的設(shè)備硬件系統(tǒng),以及繼續(xù)使用 Keil5 開發(fā)工具載入的項目三終端設(shè)備側(cè)代碼工程(該工程代碼在完成上一實訓(xùn)任務(wù)后平挑,已經(jīng)能夠接入 OneNET 平臺并上報屬性點數(shù)據(jù))游添。

將設(shè)備上電,等待OneNET 平臺 中顯示該設(shè)備處于上線狀態(tài)通熄,進入下一實訓(xùn)步驟唆涝。

步驟 2 通過 OneNET平臺 的設(shè)備調(diào)試方式進行屬性下發(fā)

打開設(shè)備管理列表頁面,選擇之前步驟中創(chuàng)建的MQTT產(chǎn)品下的“Controller”設(shè)備唇辨,點擊“詳情”進入設(shè)備詳情頁面廊酣,并點擊 “設(shè)備調(diào)試”選項,進入 OneNET 平臺 的設(shè)備調(diào)試功能頁面赏枚。本任務(wù)中亡驰,需要切換調(diào)試方式為“應(yīng)用模擬器”,下方頁面展示了可以設(shè)置的屬性(物模型中可寫的屬性功能點)饿幅。![image.png](https://upload-images.jianshu.io/upload_images/29624267-e983f156d358a0e5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![image.png](https://upload-images.jianshu.io/upload_images/29624267-09ffd20b2ffe8e6a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

先勾選一個功能點凡辱,然后設(shè)置下發(fā)的數(shù)值。(以蜂鳴器為例诫睬,這是一個 bool 型功能點煞茫,勾選后帕涌,可設(shè)置值為 true摄凡、false 兩個之一,本次任務(wù)選擇 true 作為下發(fā)數(shù)值)點擊頁面下方的“屬性設(shè)置”按鈕蚓曼,右側(cè)調(diào)試日志展示了下發(fā)的報文亲澡,設(shè)備端也同時將該數(shù)值執(zhí)行生效。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-7c17766a7c7f66e9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

3.2.2下發(fā)屬性在終端設(shè)備上執(zhí)行生效(API 調(diào)試)

步驟 1 設(shè)備端軟硬件環(huán)境準(zhǔn)備

沿用上一個實訓(xùn)任務(wù)中搭建的設(shè)備硬件系統(tǒng)纫版,以及繼續(xù)使用 Keil5 開發(fā)工具載入的項目三終端設(shè)備側(cè)代碼工程(該工程代碼在完成上一實訓(xùn)任務(wù)后床绪,已經(jīng)能夠接入 OneNET 平臺并上報屬性點數(shù)據(jù))。將設(shè)備上電其弊,等待OneNET 平臺 中顯示該設(shè)備處于在線狀態(tài)癞己,進入下一實訓(xùn)步驟。

步驟 2 進入“API 調(diào)試”功能頁面

點擊“運維監(jiān)控”菜單下“API 調(diào)試”子菜單梭伐,并展開工作頁面左列顯示的大類調(diào)試類別中的“物模型使用”下拉列表痹雅,選擇“設(shè)置設(shè)備屬性”API項,如下圖所示:![image.png](https://upload-images.jianshu.io/upload_images/29624267-ed39cdb8ef0b549b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

在中間頁面展示的必填參數(shù)中糊识,填寫頁面中輸入必要的參數(shù)绩社,如下圖所示摔蓝,本次任務(wù)中,填入真實接入的設(shè)備“Controller”所對應(yīng)的相關(guān)信息:![image.png](https://upload-images.jianshu.io/upload_images/29624267-047fa5715fcff6ff.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![36fd4a9615cdf884b775d5c3b0de1e06.png](https://upload-images.jianshu.io/upload_images/29624267-fe96878d9a80c34b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

其中的params內(nèi)容填寫要設(shè)置的屬性標(biāo)識符以及對應(yīng)設(shè)置值愉耙,本次任務(wù)中設(shè)置蜂鳴器狀態(tài)為true贮尉,文本示例參考如下:

~~~

{

? ? "beep": true

}

~~~

![89dc31bf54ad9df494331d042eec7149.png](https://upload-images.jianshu.io/upload_images/29624267-5c1ea48a6303bbc2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

點擊下方的“執(zhí)行”按鈕,等待一會兒后朴沿,設(shè)備端執(zhí)行下發(fā)的屬性值(蜂鳴器響)猜谚,同時右側(cè)列頁面刷新顯示出調(diào)用結(jié)果,也就是整個API 模擬調(diào)用的報文交互結(jié)果赌渣。

3.2.3基于API 方式實現(xiàn)設(shè)備屬性下發(fā)

步驟 1 準(zhǔn)備 API 接口調(diào)試工具 Postman

推薦使用 Postman 工具龄毡,下文的操作均以該工具作為實訓(xùn)操作對象,其他支持 http 協(xié)議的工具也可以使用锡垄,可參考下文描述對應(yīng)調(diào)整參數(shù)填寫方式沦零。

步驟 2 查閱接口文檔,了解有關(guān)屬性下發(fā)的 API 調(diào)用方式

點擊前面任務(wù)中API“設(shè)置設(shè)備屬性”參數(shù)填寫頁面左上角的“查看API文檔”鏈接货岭,查看右側(cè)顯示的API文檔路操,了解“設(shè)置設(shè)備屬性”這個API的調(diào)用方式及對應(yīng)的請求千贯、響應(yīng)相關(guān)參數(shù)信息屯仗。![image.png](https://upload-images.jianshu.io/upload_images/29624267-e2029fde9c8e217e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

也可以訪問OneNET 官網(wǎng)的“開發(fā)中心”,OneNET 平臺 專題搔谴,通過左側(cè)菜單定位到“設(shè)備屬性設(shè)置”的API接口使用文檔頁面詳細(xì)了解相關(guān)請求方式以及請求參數(shù)填寫說明魁袜。![image.png](https://upload-images.jianshu.io/upload_images/29624267-6515124475992a13.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

以“設(shè)置設(shè)備屬性”為例,對應(yīng)文檔地址為:

https://open.iot.10086.cn/doc/v5/fuse/detail/1418該幫助頁面詳細(xì)說明了請求方式以及請求參數(shù)填寫說明敦第,如下圖所示:![image.png](https://upload-images.jianshu.io/upload_images/29624267-3369727e6c218759.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 3 填入必要參數(shù)

1峰弹、根據(jù)API文檔的信息,確定設(shè)備屬性設(shè)置的請求方式芜果、請求 url 鞠呈,填入到 Postman 工具url填寫欄,將 Postman工具url填寫欄前面的下拉選項為“POST”右钾。

2蚁吝、確定請求 body 內(nèi)容及格式,以蜂鳴器屬性值(beep)下發(fā)為例舀射, product_id為產(chǎn)品ID窘茁,device_name為設(shè)備名稱,params 為需要下發(fā)的結(jié)構(gòu)化數(shù)據(jù)脆烟,同時包含了要下發(fā)的“beep”屬性點的值山林,示例中為 true 數(shù)據(jù)。以鍵值對形式將上述需要設(shè)置的具體參數(shù)組裝為 body 報文內(nèi)容浩淘,最終填入 Postman 工具的 Body 選項頁內(nèi)捌朴。

~~~

{

? ? "product_id": "********",

? ? ? "device_name": "Controller",

? ? ? "params":

? ? ? ? ? ? {

? ? ? ? ? ? ? ? "beep": true

? ? ? ? ? ? }

~~~

3吴攒、確定請求的 Header 內(nèi)容,這里需要一個向 OneNET 平臺鑒權(quán)所需的必要信息字段砂蔽,就是“authorization ”信息洼怔,下面是該信息的一個生成示例,具體生成方式可參考其他實訓(xùn)任務(wù)環(huán)節(jié)中的操作步驟指導(dǎo)左驾,應(yīng)用側(cè)請求鑒權(quán)镣隶,res 參數(shù)須以“userid/ 用戶 ID”的格式填入,版本號須為“2022-05-01”诡右,字段具體內(nèi)容根據(jù)實際情況進行填入安岂。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-619720f19311d8e8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 4 發(fā)起 API 請求,查看結(jié)果

發(fā)起請求前確認(rèn)當(dāng)前真實設(shè)備已在線帆吻,以蜂鳴器屬性值(beep)下發(fā)為例域那,通過 postman 發(fā)起請求, 通過平臺鑒權(quán)后猜煮,該請求會下發(fā)到對應(yīng)的真實設(shè)備次员,打開蜂鳴器開關(guān),蜂鳴器會按照程序里預(yù)置的邏輯進行鳴響王带。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-2ea5dd2d5885ee8d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 5 更改 api 報文淑蔚,對同樣屬性點,設(shè)置新的屬性值愕撰,并下發(fā)

以蜂鳴器屬性值(beep)下發(fā)為例刹衫,更改下發(fā)的屬性值為 false,報文如下:

~~~

{

? ? ? ? "product_id": "***********",

? ? ? ? "device_name": "Controller",

? ? ? ? "params": {

? ? ? ? ? ? ? ? ? ? ? ? ? "beep": false

? ? ? ? ? ? ? ? ? }

}

~~~

再次通過 postman 發(fā)起請求搞挣,通過平臺鑒權(quán)后带迟,該請求會下發(fā)到對應(yīng)的真實設(shè)備,蜂鳴器關(guān)閉

![image.png](https://upload-images.jianshu.io/upload_images/29624267-c76b1ae77a3d9c0c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

3.2.4 基于OneNET 云平臺的場景聯(lián)動

步驟 1 進入 OneNET 平臺 場景聯(lián)動管理功能

檢查實驗箱目前搭建的硬件系統(tǒng)是“核心模塊”以及“Wifi 模塊”柿究、“蜂鳴器模塊”邮旷、 “超聲波模塊”等模塊,燒寫程序上電運行蝇摸。

確保用戶已登錄 OneNET 云平臺,進入 OneNET 平臺 控制臺頁面办陷,點擊“數(shù)據(jù)流轉(zhuǎn)”菜單下“場景聯(lián)動”子菜單貌夕,進入場景聯(lián)動管理功能頁面。

步驟 2 創(chuàng)建場景聯(lián)動規(guī)則

場景聯(lián)動是一種開發(fā)自動化業(yè)務(wù)邏輯的編程方式民镜,目前支持設(shè)備啡专、時間、第三方數(shù)據(jù)源等多維度的條件

觸發(fā)制圈,這些觸發(fā)條件以及執(zhí)行動作組合起來们童,形成一套規(guī)則畔况。點擊頁面右上角“新建場景”,填寫場景名

稱慧库,這里我們需要一個“距離太近告警”的場景跷跪,點擊添加進入下一步。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-febc9690255ce1ec.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 3 編輯距離探測告警的聯(lián)動規(guī)則

1齐板、觸發(fā)方式:“設(shè)備觸發(fā)”

2吵瞻、選擇產(chǎn)品分組:“選擇產(chǎn)品”

3、選擇具體產(chǎn)品:選擇之前實訓(xùn)任務(wù)中創(chuàng)建的MQTT產(chǎn)品名稱

4甘磨、選擇設(shè)備: 選擇該產(chǎn)品下的Controller設(shè)備

5橡羞、選擇信息源類型:“設(shè)備功能點”

6、選擇功能:選擇該產(chǎn)品下的“距離”數(shù)據(jù)點

7济舆、修改關(guān)系運算符:“<”

8卿泽、數(shù)值:填入“5”(雙引號不要填)。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-3636fb77934c7763.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

其次點擊增加“執(zhí)行動作”滋觉,在“動作一”內(nèi)容中又厉,依次選擇:

1、選擇動作類型:“設(shè)備執(zhí)行”

2椎瘟、選擇產(chǎn)品分組:“選擇產(chǎn)品”

3覆致、選擇具體產(chǎn)品:選擇之前實訓(xùn)任務(wù)中創(chuàng)建的MQTT產(chǎn)品名稱4、選擇設(shè)備:選擇該產(chǎn)品下的Controller設(shè)備

5肺蔚、選擇功能:選擇該產(chǎn)品下的“蜂鳴器”

6煌妈、數(shù)據(jù)值選擇“1”。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-12440a0f07395b95.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

點擊“確定”創(chuàng)建好改場景信息宣羊,并修改其啟用狀態(tài)為“開”璧诵。

![bc244cbfaf2e8f4707f20ad71d889e24.png](https://upload-images.jianshu.io/upload_images/29624267-b6643c643321f0ab.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟4再新增一個聯(lián)動規(guī)則,實現(xiàn)距離安全時取消告警

參考步驟3描述仇冯,再新增一個聯(lián)動規(guī)則之宿,名稱可以為“距離安全取消告警”。該規(guī)則的具體條件及動作與步驟3大部分相同苛坚,除了其中的條件部分膘掰,距離邏輯判斷修改為“>”秧耗,數(shù)值為“20”,執(zhí)行動作部分,蜂鳴器的數(shù)值改為“0”银还。最后點擊“確認(rèn)”按鈕熬词,并同樣將該條場景規(guī)則的啟用狀態(tài)修改為“開”惫搏,完? 成本次編輯內(nèi)容剥哑。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-5afe7e9bfeec0cf3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟5設(shè)備上線,觀察場景實現(xiàn)效果

檢查實驗箱目前搭建的硬件系統(tǒng)是“核心模塊”以及“Wifi模塊”、“蜂鳴器模塊”噪裕、“超聲波模塊”等模塊蹲盘,燒寫程序為項目三配套工程代碼,上電運行膳音。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-44c3358defef1da2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

##4.安全防護系統(tǒng)的可視化實現(xiàn)

###4.1實訓(xùn)步驟

4.1.1物聯(lián)網(wǎng)云平臺可視化組件配置運用

步驟 1 創(chuàng)建一個可視化項目

可視化能力是 OneNET 平臺重點打造的基于物聯(lián)網(wǎng)設(shè)備大數(shù)據(jù)的增值服務(wù)能力召衔,可以從平臺全部產(chǎn)品服務(wù)的菜單列表中,點擊”數(shù)據(jù)可視化 view“菜單后严蓖,點擊“立即試用”按鈕進入薄嫡。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-e62795b3d1f1b663.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![image.png](https://upload-images.jianshu.io/upload_images/29624267-144f1744e721db81.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

首先新增一個可視化項目,在彈出的模板選擇頁面颗胡,選擇一個 2D 項目模板下的“空白模板”作為本次項目可視化的基礎(chǔ)模板毫深,填寫位于右側(cè)的項目名稱、項目描述后毒姨,點擊“確定”完成可視化項目創(chuàng)建哑蔫。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-bb0d73e156ff13bb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![image.png](https://upload-images.jianshu.io/upload_images/29624267-7c4747d15c55c56d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 2 增加數(shù)據(jù)源模板

點擊左側(cè)菜單“數(shù)據(jù)管理”下“數(shù)據(jù)源模板”子菜單,右側(cè)頁面中弧呐,點擊“創(chuàng)建數(shù)據(jù)源模板”闸迷,預(yù)先為界面展示距離的變化圖表建立一個數(shù)據(jù)來源模板

![image.png](https://upload-images.jianshu.io/upload_images/29624267-3093d5b79d58f877.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

在展開的配置項中,先設(shè)定第一項的“數(shù)據(jù)類 ”

型為“物聯(lián)網(wǎng)平臺”俘枫,這時頁面會切換為配置從

“物聯(lián)網(wǎng)平臺”抓取數(shù)據(jù)所需的必要信息腥沽。依次填

寫帶“*”的所有項:

(1) 名稱,設(shè)置數(shù)據(jù)源的名稱鸠蚪,注意不能是中文今阳,該名稱將作為關(guān)鍵字與數(shù)據(jù)一起傳遞到可視化組件頁面中解析。比如下圖所示茅信,設(shè)為“distance”盾舌。

(2) userId:填寫用戶ID;

(3) accessKey:填寫用戶的accessKey蘸鲸;該項與上一項均需進入用戶中心妖谴、“訪問權(quán)限”頁面查看獲取。

(4) 產(chǎn)品ID:為之前任務(wù)中創(chuàng)建的產(chǎn)品ID酌摇;

(5) 設(shè)備名稱:點選輸入框膝舅,等待平臺將上述已經(jīng)填寫的3項內(nèi)容作為條件匹配查找設(shè)備,并將符合的設(shè)備以下拉的方式展示妙痹,以本次任務(wù)為例铸史,顯示了之前實訓(xùn)環(huán)節(jié)的設(shè)備“Controller”,選中該設(shè)備怯伊。注:如這里提示獲取設(shè)備列表失敗,則相應(yīng)檢查(2)、(3)耿芹、(4)中填寫的信息是否正確崭篡。

(6) 數(shù)據(jù)流:選擇一個設(shè)備中可以用于讀取的屬性功能名作為數(shù)據(jù)產(chǎn)生點。本例中選擇“距離”吧秕。點擊“創(chuàng)建”按鈕琉闪,耐心等待平臺返回創(chuàng)建結(jié)果。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-decab07186730c60.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![image.png](https://upload-images.jianshu.io/upload_images/29624267-68e91e1971ea30b7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 3 編輯可視化頁面及各個組件

![image.png](https://upload-images.jianshu.io/upload_images/29624267-de1d0cee4fe224b4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

回到可視化項目列表展示頁面砸彬,點擊已創(chuàng)建好可視化項目縮略圖下方的“編輯”按鈕颠毙,進入頁面編輯狀態(tài),如果是采用已有模板砂碉,則需將頁面多余的控件加以刪除蛀蜜,保留背景等基礎(chǔ)效果,如果是空白模板增蹭,則直接添加本次實訓(xùn)所需的控件:常規(guī)圖表中的平滑折線圖滴某,如下圖,添加后效果如圖所示滋迈。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-0d4febd2d0f10c25.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

雙擊添加的控件霎奢,右側(cè)出現(xiàn)對應(yīng)控件的“樣式”屬性修改 Tab 頁,根據(jù)項目看板展示效果所需饼灿,自行展開具體的屬性列表項幕侠,調(diào)整各項屬性,達(dá)到最優(yōu)顯示效果碍彭。

步驟4設(shè)置圖表的數(shù)據(jù)來源

保持折線圖處于選擇狀態(tài)(可再次雙擊折線圖晤硕,右側(cè)出現(xiàn)屬性修改頁),現(xiàn)在切換到“數(shù)據(jù)”屬性Tab頁硕旗。選擇“數(shù)據(jù)綁定方式”為“數(shù)據(jù)源”窗骑,此時“數(shù)據(jù)源選擇”下拉列表為“請選擇”狀態(tài),點擊“管理數(shù)據(jù)源”按鈕漆枚,彈出“數(shù)據(jù)源管理”頁面创译。

點擊“數(shù)據(jù)源模板”Tab頁,展示目前所有的數(shù)據(jù)源模板墙基,可以看到一條在之前步驟中已經(jīng)創(chuàng)建好的記錄(名稱為distance)软族,點擊該記錄操作列中最右圖標(biāo):“以此模板創(chuàng)建數(shù)據(jù)源”。關(guān)閉窗口回到視圖編輯頁面残制。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-79b33fd4b5615c80.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![image.png](https://upload-images.jianshu.io/upload_images/29624267-032c9f1b1411dcc3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

此時“數(shù)據(jù)源選擇”下拉列表會出現(xiàn)一條可選的記錄立砸,形如“distance_XXXX”,代表以“distance”模板生成的記錄初茶,平臺自動追加后綴加以命名颗祝。選擇該條記錄作為折線圖的數(shù)據(jù)源。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-4263cddcd48ac9dc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟5設(shè)置不使用數(shù)據(jù)過濾器

點擊“使用數(shù)據(jù)過濾器”前面的勾選框,去掉勾選螺戳,即不使用數(shù)據(jù)過濾器搁宾。點擊“數(shù)據(jù)處理結(jié)果”按鈕,查看彈出的窗口中展示的數(shù)據(jù)倔幼,這些數(shù)據(jù)就是設(shè)備定時上報的屬性點形成的(圖例中的value對應(yīng)的值盖腿,就是上報的間隔距離值)。關(guān)閉彈出窗口繼續(xù)下一步损同。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-3ca30497600a0f82.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟6設(shè)置圖表的橫軸列展示字段名與數(shù)據(jù)提供字段相匹配

現(xiàn)在切換回“樣式”屬性Tab頁翩腐。展開“數(shù)據(jù)系列”的節(jié)點,修改列字段名為“value”膏燃,保持與數(shù)據(jù)源中提供的數(shù)值字段“value”相一致茂卦。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-ceb4fedba9afbd0c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟7預(yù)覽可視化視圖并回到編輯狀態(tài)迭代優(yōu)化視圖效果

編輯視圖界面,可以看到折線圖已顯示出實際的折線數(shù)據(jù)圖表蹄梢,可以點擊右上角“預(yù)覽”按鈕疙筹,在全頁面狀態(tài)下查看整個可視化視圖的效果。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-d42a73c98961b5c0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

如需要修改視圖禁炒,可以點擊頂部右側(cè)出現(xiàn)的“繼續(xù)編輯”按鈕而咆,回到可編輯狀態(tài)繼續(xù)修改。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-08039a14f6a3ab51.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟8保存視圖幕袱,完成可視化項目

完成視圖編輯后暴备,點擊頂部的“保存”按鈕(編輯狀態(tài)和預(yù)覽狀態(tài)均可),完成項目保存们豌。

###4.2拓展實訓(xùn)

4.2.1設(shè)備地理位置可視化展現(xiàn)

步驟1新增一個數(shù)據(jù)源模板

參考前述實訓(xùn)任務(wù)中數(shù)據(jù)源模板創(chuàng)建步驟涯捻,填入必要的信息,“名稱”項填入“l(fā)ocation”望迎,“數(shù)據(jù)流”項障癌,從現(xiàn)有設(shè)備中選擇“地理位置”屬性點。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-989ff8ec3dbf4326.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟2為可視化視圖添加地理位置組件

編輯前述實訓(xùn)任務(wù)中創(chuàng)建的可視化視圖頁面辩尊,選擇控件列表中的“地圖”涛浙、“基礎(chǔ)地圖”控件放入頁面中。調(diào)整控件大小并擺放在整個視圖的合理位置摄欲。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-47c41f2b960829e1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟3設(shè)置地圖控件的數(shù)據(jù)來源

選中地圖控件轿亮,右側(cè)屬性頁切換到“數(shù)據(jù)”Tab頁。參考前述實訓(xùn)任務(wù)中數(shù)據(jù)源配置的方式胸墙,從已有的數(shù)據(jù)源模板“l(fā)ocation”創(chuàng)建出所需的數(shù)據(jù)源我注,如下圖形如location_XXXX。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-3fd38118e03f68a2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

點擊“數(shù)據(jù)處理結(jié)果”按鈕迟隅,查看彈出的窗口中展示的數(shù)據(jù)但骨,是否形如下圖所示励七,這里的數(shù)據(jù)就是之前實訓(xùn)任務(wù)中通過仿真方式模擬上報的設(shè)備經(jīng)緯度信息(圖例中的value對應(yīng)的值,有2個字段嗽冒,分別是經(jīng)度和維度)呀伙。關(guān)閉彈出窗口繼續(xù)下一步补履。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-510ce104b559bfb8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟4預(yù)覽并持續(xù)編輯可視化視圖添坊,保存完成項目

回到編輯視圖界面,可以看到地圖控件已顯示出定位經(jīng)緯度附近的地圖信息箫锤,并有紅色標(biāo)記標(biāo)識出定位點贬蛙,可以點擊右上角“預(yù)覽”按鈕,在全頁面狀態(tài)下查看整個可視化視圖的效果谚攒。同樣可反復(fù)切換到編輯頁面繼續(xù)優(yōu)化阳准,最終點擊保存完成項目。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-74b3cac54f83525c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

##**四.實訓(xùn)結(jié)果**

###4.1近距離遮擋超聲波模塊的距離探測器探頭馏臭,稍等一定時間后野蝇,蜂鳴器模塊鳴叫,移開超聲波模塊遮擋括儒,再稍等一定時間后绕沈,蜂鳴器模塊停止鳴叫。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-841ce363e00f9806.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![19f7b04f281c23a2e24a7caacdb5df79.png](https://upload-images.jianshu.io/upload_images/29624267-88e94ef17e294116.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![19f7b04f281c23a2e24a7caacdb5df79.png](https://upload-images.jianshu.io/upload_images/29624267-f5469c574113d98e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

###4.2對智慧小區(qū)安全防護系統(tǒng)進行可視化展現(xiàn)帮寻。

![image.png](https://upload-images.jianshu.io/upload_images/29624267-74b3cac54f83525c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末乍狐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子固逗,更是在濱河造成了極大的恐慌浅蚪,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烫罩,死亡現(xiàn)場離奇詭異惜傲,居然都是意外死亡,警方通過查閱死者的電腦和手機贝攒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門盗誊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人饿这,你說我怎么就攤上這事浊伙。” “怎么了长捧?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵嚣鄙,是天一觀的道長。 經(jīng)常有香客問我串结,道長哑子,這世上最難降的妖魔是什么舅列? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮卧蜓,結(jié)果婚禮上帐要,老公的妹妹穿的比我還像新娘。我一直安慰自己弥奸,他們只是感情好榨惠,可當(dāng)我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盛霎,像睡著了一般赠橙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上愤炸,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天期揪,我揣著相機與錄音,去河邊找鬼规个。 笑死凤薛,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的诞仓。 我是一名探鬼主播缤苫,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼狂芋!你這毒婦竟也來了榨馁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤帜矾,失蹤者是張志新(化名)和其女友劉穎翼虫,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屡萤,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡珍剑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了死陆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片招拙。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖措译,靈堂內(nèi)的尸體忽然破棺而出别凤,到底是詐尸還是另有隱情,我是刑警寧澤领虹,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布规哪,位于F島的核電站,受9級特大地震影響塌衰,放射性物質(zhì)發(fā)生泄漏诉稍。R本人自食惡果不足惜蝠嘉,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望杯巨。 院中可真熱鬧蚤告,春花似錦、人聲如沸服爷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽层扶。三九已至箫章,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間镜会,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工终抽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留戳表,地道東北人。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓昼伴,卻偏偏與公主長得像匾旭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子圃郊,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • ## 【博主推薦】1元學(xué)習(xí)《Django零基礎(chǔ)到項目實戰(zhàn)》視頻教程:http://dwz.cn/VHRVxWfC ...
    陳奕迅fans閱讀 147評論 0 0
  • 一价涝、Gitlab需要的涉及部署的信息 序號名稱信息圖例1用戶名your user name用戶名例圖查看2密碼yo...
    解語者閱讀 216評論 0 0
  • > 正所謂前人栽樹,后人乘涼持舆,樹越大色瘩,當(dāng)然越蔭涼,所以我就來啦(●'?'●)逸寓。 > > 感謝[Huxpro](ht...
    雁旖之薌閱讀 1,462評論 0 1
  • # 001--初識匯編 我們在學(xué)習(xí)逆向開發(fā)之前,我們要了解一個基本的逆向原理.首先我們是逆向iOS系統(tǒng)上面的APP...
    诰诱祝虎_779e閱讀 358評論 0 0
  • 1)開始菜單中輸入"打開或關(guān)閉",找到"打開或關(guān)閉Window功能"竹伸,如下圖所示![](http://upload...
    ZhouMac閱讀 1,213評論 1 4