項(xiàng)目三智慧園區(qū)節(jié)能減排監(jiān)控系統(tǒng)實(shí)驗(yàn)報(bào)告

一、 實(shí)訓(xùn)目的

1艇搀、在平臺(tái)上實(shí)現(xiàn)發(fā)送命令使開關(guān)燈
2臀蛛、運(yùn)用postman寫入設(shè)備控制開關(guān)燈
3亲桦、會(huì)使用 HTTP 推送
4、了解如何處理 HTTP 推送

二浊仆、實(shí)訓(xùn)步驟

第一段實(shí)驗(yàn)(在平臺(tái)上發(fā)送命令)

步驟1 修改工程文件里面的代碼

向SDK添加外圍硬件驅(qū)動(dòng)客峭,本項(xiàng)目Demo中已經(jīng)做好LED和光照傳感器驅(qū)動(dòng)程序。在HAL文件夾中抡柿,包含了開發(fā)板所有外圍硬件設(shè)備的驅(qū)動(dòng)程序舔琅。


image.png

在讀回調(diào)函數(shù)read_callback里增加光照和LED資源,當(dāng)從平臺(tái)接收到光照值和LED狀態(tài)的讀取命令時(shí),響應(yīng)命令洲劣,上報(bào)數(shù)據(jù)备蚓。


image.png

下行命令的處理︰在寫入回調(diào)函數(shù)write_callback里增加LED控制:
image.png

步驟二 平臺(tái)輸入命令

平臺(tái)信息展示


image.png

發(fā)送寫入數(shù)據(jù)true


image.png

發(fā)送數(shù)據(jù)false
image.png

平臺(tái)發(fā)送記錄


image.png

第二段實(shí)驗(yàn)(通過即使命令-寫入設(shè)備實(shí)現(xiàn)LED燈)

步驟1為post man添加參數(shù)

添加參數(shù)


image.png
image.png

步驟二

添加代碼


image.png

步驟三

寫入命令----開燈


image.png

呈現(xiàn)效果


image.png

寫入命令----關(guān)燈
image.png

呈現(xiàn)效果


image.png

第三段實(shí)驗(yàn) (http數(shù)據(jù)推送自動(dòng)開關(guān)LED燈)

在 OneNET Studio 平臺(tái)上接入 NB 設(shè)備后课蔬,完成從 Studio 向第三方應(yīng)用(本應(yīng)用)的數(shù)據(jù)推送,
從而在應(yīng)用程序中獲取 NB 設(shè)備的所有數(shù)據(jù)郊尝。同時(shí)购笆,在應(yīng)用程序中監(jiān)控光照傳感器的值,達(dá)到預(yù)設(shè)的最
大閾值后虚循,調(diào)用 LwM2M IPSO API,自動(dòng)關(guān)閉 LED 燈样傍;達(dá)到預(yù)設(shè)的最小閾值后横缔,調(diào)用 API 自動(dòng)打開 LED
燈,從而實(shí)現(xiàn)節(jié)能的目的衫哥。
本項(xiàng)目基礎(chǔ)代碼由中移官方數(shù)據(jù)推送 SDK 克隆而來茎刚,使用命令 git clone -b OneNET5.0
https://github.com/cm-heclouds/data-push,然后再簡單地封裝了一下 Studio 訪問 LwM2M IPSO
的 API撤逢。

步驟 1 安裝依賴

1) 安裝配置 JDK

\color{red}{添加環(huán)境變量}
setx /m JAVA_HOME "C:\Program Files\Java\jdk1.8.0_101"
setx /m CLASSPATH ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;"

image.png

\color{red}{修改 PATH 環(huán)境變量的值}
setx /m PATH "%PATH%;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;"
image.png

關(guān)閉當(dāng)前 cmd 窗口膛锭,重新打開一個(gè)新的 cmd 窗口,然后輸入 java -version 命令蚊荣,如果能夠看到
類似如下的輸出初狰,則表示 JDK1.8 安裝完成。
image.png

2) 安裝配置 Maven

\color{red}{添加環(huán)境變量}
setx /m MAVEN_HOME "F:\ProgramEnv\apache-maven-3.3.9"

image.png

\color{red}{修改 PATH 環(huán)境變量的值}
image.png

新開一個(gè) cmd 窗口互例,運(yùn)行 mvn -version 命令奢入,如果能夠看到如下輸出,則表示 Maven 安裝成功:
image.png

3) 安裝配置 IntelliJ IDEA

image.png

步驟 2 運(yùn)行程序

打開 JAVA\src\main\java\com\onenet\datapush\receiver\ReceiverDemo.java 文件媳叨,點(diǎn)擊綠色
三角腥光,則可以運(yùn)行本程序


image.png

1) 修改參數(shù)

api.authorization: 使用 OneNET Studio 提供的 Token 工具生成。需要注意的是糊秆,生成該鑒
權(quán)信息的參數(shù)中包括 et武福,它代表訪問過期時(shí)間,盡可能設(shè)置大一點(diǎn)痘番,否則可能需要不斷地修改該
鑒權(quán)信息捉片。
? light.imei: NB-IoT 設(shè)備的 IMEI 號(hào)。
? http-push.token: 第三方應(yīng)用 Token夫偶,HTTP 數(shù)據(jù)推送頁面中配置的 Token 需要與之一致界睁。


image.png

? http-push.aesKey: 第三方應(yīng)用 AesKey,HTTP 數(shù)據(jù)推送頁面中配置的 AesKey 需要與之一
致兵拢。本實(shí)驗(yàn)中這里設(shè)置為空翻斟,于此同時(shí),下一個(gè)步驟中说铃,數(shù)據(jù)推送配置頁面上的“消息加密方式”
應(yīng)該對應(yīng)選擇“明文模式”访惜。

步驟 3 OneNET Studio HTTP 數(shù)據(jù)推送配置

實(shí)例名稱:自己取一個(gè)合理的名稱嘹履。
? 推送地址:http://www.xxx.net/receive,注意 URL 后面必須包含 /receive债热,它是在本應(yīng)用程
序中實(shí)現(xiàn)的砾嫉,用于接收處理 Studio 的驗(yàn)證和數(shù)據(jù)。
? Token:自己輸入一個(gè)合理的字符串窒篱。該字符串需要與配置文件中的 http-push.token 保持一致焕刮。
? 消息加密方式:選擇“明文模式”,本應(yīng)用程序不進(jìn)行消息加密墙杯。
配置完成以后配并,需要手動(dòng)點(diǎn)擊數(shù)據(jù)推送的“驗(yàn)證”按鈕,只有驗(yàn)證成功了高镐,Studio 才會(huì)向其推送數(shù)
據(jù)

image.png

步驟 4 OneNET Studio 規(guī)則引擎配置

在 Studio 上點(diǎn)擊“應(yīng)用開發(fā)->項(xiàng)目管理”溉旋,新建一個(gè)項(xiàng)目,取一個(gè)合理的名稱嫉髓,比如“智能燈控項(xiàng)
目”:


image.png

點(diǎn)擊上圖“進(jìn)入項(xiàng)目管理”按鈕观腊,就可以進(jìn)入項(xiàng)目管理頁面。在“設(shè)備管理→設(shè)備列表”中算行,點(diǎn)擊“添
加設(shè)備”按鈕梧油,將前面創(chuàng)建的 NB-IoT 設(shè)備加入到該項(xiàng)目中


image.png

接下來,點(diǎn)擊左側(cè)的“規(guī)則引擎”按鈕州邢,創(chuàng)建一個(gè)規(guī)則引擎婶溯。勾選所有的消息源,指定前面創(chuàng)建的 NB-IoT
產(chǎn)品偷霉,然后關(guān)聯(lián)前面創(chuàng)建的 HTTP 數(shù)據(jù)推送迄委。
image.png

步驟 5 根據(jù)光照度的閾值自動(dòng)開關(guān) LED 燈

三、實(shí)驗(yàn)總結(jié)

通過本次實(shí)驗(yàn)类少,更加熟悉了onenet平臺(tái)的操作叙身,并且也對postman的相關(guān)操作也更加的清楚,多方面的擴(kuò)展了自己的知識(shí)面硫狞,在不斷的失敗中信轿,通過查詢資料和向老師求解,明白了更多的解決方法残吩,也讓我自己印象更加的深刻财忽。0.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者泣侮。
  • 序言:七十年代末即彪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子活尊,更是在濱河造成了極大的恐慌隶校,老刑警劉巖漏益,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異深胳,居然都是意外死亡绰疤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門舞终,熙熙樓的掌柜王于貴愁眉苦臉地迎上來轻庆,“玉大人,你說我怎么就攤上這事敛劝≌チ耍” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵攘蔽,是天一觀的道長。 經(jīng)常有香客問我呐粘,道長满俗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任作岖,我火速辦了婚禮唆垃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘痘儡。我一直安慰自己辕万,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布沉删。 她就那樣靜靜地躺著渐尿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪矾瑰。 梳的紋絲不亂的頭發(fā)上砖茸,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機(jī)與錄音殴穴,去河邊找鬼凉夯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛采幌,可吹牛的內(nèi)容都是我干的劲够。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼休傍,長吁一口氣:“原來是場噩夢啊……” “哼征绎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起磨取,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤炒瘸,失蹤者是張志新(化名)和其女友劉穎淤堵,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顷扩,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拐邪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了隘截。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扎阶。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖婶芭,靈堂內(nèi)的尸體忽然破棺而出东臀,到底是詐尸還是另有隱情,我是刑警寧澤犀农,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布惰赋,位于F島的核電站,受9級(jí)特大地震影響呵哨,放射性物質(zhì)發(fā)生泄漏赁濒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一孟害、第九天 我趴在偏房一處隱蔽的房頂上張望拒炎。 院中可真熱鬧,春花似錦挨务、人聲如沸击你。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丁侄。三九已至,卻和暖如春朝巫,著一層夾襖步出監(jiān)牢的瞬間绒障,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工捍歪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留户辱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓糙臼,卻偏偏與公主長得像庐镐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子变逃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355

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