項目三智慧園區(qū)節(jié)能減排監(jiān)控系統(tǒng)實訓(xùn)報告

1.實驗背景

智慧城市光照監(jiān)控系統(tǒng)是智慧城市建設(shè)中專門針對城市照明系統(tǒng)而設(shè)計的一個智能化管理系統(tǒng)弊攘。它通過集成物聯(lián)網(wǎng)、云計算摔癣、大數(shù)據(jù)奴饮、傳感器技術(shù)等先進(jìn)的信息技術(shù)手段,實現(xiàn)對城市范圍內(nèi)路燈择浊、景觀燈等照明設(shè)備的實時監(jiān)控戴卜、遠(yuǎn)程控制、故障報警琢岩、數(shù)據(jù)分析與決策支持等功能投剥。智慧城市光照監(jiān)控系統(tǒng)的出現(xiàn)便于節(jié)約能源、保護(hù)環(huán)境担孔,在建設(shè)美麗中國中有著重大的作用江锨!

2.實驗?zāi)繕?biāo)

  • 提高城市照明的智能化水平
  • 實現(xiàn)照明設(shè)備的精準(zhǔn)控制和高效管理
  • 提升城市照明的質(zhì)量、節(jié)能減排
  • 優(yōu)化城市環(huán)境

3.實驗步驟

實驗一 數(shù)據(jù)上云平臺

  • 步驟 1 添加傳感器資源

1.在項目二智慧城市溫濕度監(jiān)測系統(tǒng)的源代碼基礎(chǔ)上進(jìn)行修改糕篇,在 main.c 文件中啄育,更改 IMEI 和IMSI 信息,在 OneNET 平臺添加設(shè)備時娩缰,指定了設(shè)備的“IMEI;IMSI”灸撰,這里谒府,必須在代碼中將 IMEI 和 IMSI 改成跟OneNET 平臺上的一樣拼坎。這樣,就可以實現(xiàn)真實設(shè)備與OneNET 平臺上的虛擬設(shè)備一對一映射完疫,修改位置如下:

2.在 main.c 文件中添加包含“BH1750.h”和"Lcd_Driver.h"頭文件的預(yù)處理命令泰鸡,如下圖所示:


#include "BH1750.h"     /* 光照傳感器 */
#include "Lcd_Driver.h"    /* Lcd屏*/

3.在 main.c 文件中增加光照和 LED 的類型結(jié)構(gòu),并聲明外部變量壳鹤。添加位置和代碼如下圖所示:


添加的具體代碼段如下:


nbiot_value_t illumi;     /* 光照 */
nbiot_value_t led;     /* led燈*/
extern  float result_lx; /* 光照 */

4.) 在 main.c 文件的主函數(shù)中盛龄,在“寫”回調(diào)函數(shù)添加 LED 燈模擬打開、關(guān)閉的代碼芳誓。具體添加位置余舶,如下圖所示:


添加的具體代碼段如下:


if (objid == 3311 && instid ==0 && resid ==5850) /* LED燈 */
    {
        if(data->value.as_bool)
           {
             //打開白色背景以模擬LED燈打開
                 Lcd_Clear (WHITE );
                 ledStatus.Led1Sta=1;
           }
       else
        {
              //打開黑色背景以模擬LED燈關(guān)
              Lcd_Clear (BLACK );
              ledStatus.Led1Sta=0;
          }
    }

5.在 main.c 文件的主函數(shù)中,在“讀”回調(diào)函數(shù)添加光照和 LED 燈的控制代碼锹淌,當(dāng)從平臺接收到控制寫入命令時匿值,響應(yīng)控制。具體添加位置如下圖所示:

添加的具體代碼段如下:


else if (objid == 3301 && instid == 0 && resid == 5700) { /* 光 照 */
BH1750_test();
illumi.value.as_float = result_lx;
} else if (objid == 3311 && instid == 0 && resid == 5850) { /* LED */
led.value.as_bool = ledStatus.Led1Sta;
}

  1. 在 main.c 文件里增加光照值赂摆、LED 數(shù)值的讀取更新挟憔,具體添加位置如下所示:

添加的具體代碼段如下:


/* 更新光照數(shù)值 */
illumi.flag |= NBIOT_UPDATED;
BH1750_test()钟些;
illumi.value.as_float = result_lx;

/* 更新 LED 數(shù)值*/
led.flag |= NBIOT_UPDATED;
led.value.as_bool = ledStatus.Led1Sta;

7.在 main.c 文件里增加光照、LED 資源绊谭,具體添加位置如下所示:

添加的具體代碼段如下:


// 添加光照資源
illumi.type = NBIOT_FLOAT;
illumi.flag = NBIOT_READABLE;
ret = nbiot_resource_add(dev, 3301, 0, 5700, &illumi);
if (ret)
{
nbiot_device_destroy(dev);
printf("device add resource(illumi) failed, code = %d.\r\n", ret);
}
// 添加 LED 燈資源
led.type = NBIOT_BOOLEAN;
led.flag = NBIOT_READABLE | NBIOT_WRITABLE;
ret = nbiot_resource_add(dev, 3311, 0, 5850, &led);
if (ret)
{
nbiot_device_destroy(dev);
printf("device add resource(led) failed, code = %d.\r\n", ret);
}

  • 步驟 2 實驗箱模塊組裝

本實驗需要用到核心板政恍、溫濕度模塊、NB-IoT 模塊达传、光照模塊和 LCD 模塊篙耗,組裝如下:


  • 步驟 3 編譯下載調(diào)試

顯示“0錯74警告”是正常現(xiàn)象宪赶。

  • 步驟 4 OneNET 物聯(lián)網(wǎng)開放平臺操作

1.編譯燒錄代碼后登錄 OneNET 平臺鹤树,進(jìn)入【設(shè)備管理】,查看設(shè)備是否在線逊朽。當(dāng)設(shè)備顯示在線后罕伯,在操作欄選擇【詳情】,進(jìn)入【設(shè)備資源】

2.在【設(shè)備資源】界面叽讳,可以查看到溫度追他、濕度、光照岛蚤、LED 燈等對象名稱邑狸,點擊對應(yīng)的三角標(biāo),可進(jìn)入對象界面涤妒,查看屬性值等单雾。


  • 在設(shè)備資源列表界面,可查看到光照傳感器和光照控制的三元組objId/instId/resId 代碼她紫;
  • 選擇 Light Control-0對象硅堆,進(jìn)入詳情頁面,具體操作界面如下圖所示:進(jìn)入詳情頁面后可以觀察到終端上報平臺的狀態(tài)與上報時間贿讹。點擊【寫】操作按鈕渐逃,可以對LED 燈進(jìn)行開關(guān)控制。操作界面如下圖所示:
  • 點擊“寫”操作按鈕后民褂,在彈出的對話框中輸入“true”點擊確定茄菊,就可以打開開發(fā)板上的 LED白色背光,輸入“false”點擊確定赊堪,可以關(guān)閉 LED面殖,顯示黑色背光。操作界面如下圖所示:

實驗二 平臺API調(diào)用

  • 步驟1 安裝“Postman”軟件

在網(wǎng)頁上搜索“Postman”進(jìn)行安裝

  • 步驟2 創(chuàng)建文件

1.安裝完成后進(jìn)行登錄注冊哭廉,隨后點擊界面左側(cè)“+”號脊僚,在出現(xiàn)的下拉欄里選擇“Blank collection”創(chuàng)建新文件。

2.點擊“Blank collection”后群叶,會出現(xiàn)一個默認(rèn)名為“New Collection”的文件吃挑,可在右側(cè)直接更改命名钝荡;亦或是右鍵單擊“New Collection”文件,選擇“Rename”進(jìn)行重命名舶衬。


3.創(chuàng)建文件完成后埠通,點擊“Add a request”添加“GET”請求。

  • 步驟3 編寫調(diào)試命令

1.登錄打開 OneNET 平臺逛犹,點擊“文檔”端辱,點擊“ OneNET物聯(lián)網(wǎng)開放平臺 ”,這里面有詳細(xì)的API調(diào)試步驟虽画。


2.進(jìn)入“ OneNET物聯(lián)網(wǎng)開放平臺 ”后舞蔽,在左側(cè)菜單欄找到“平臺API”,下拉選擇“接口詳情”码撰,在里面找到“命令下發(fā)”渗柿。

3.在“命令下發(fā)”下找到“LwM2M-即時命令”,選擇“讀設(shè)備資源”并打開脖岛。打開后可以看到有接口地址朵栖、API說明以及各類參數(shù)名稱。


4.打開“Postman”軟件柴梆,選擇請求方式為“GET”,將“接口地址https://iot-api.heclouds.com/nb-iot復(fù)制到請求處陨溅,填寫“imei”“obj_id”參數(shù)。

注:value值均可在OneNET云平臺上找到

5.“Params”處填寫完后绍在,點擊“Headers”進(jìn)行填寫门扇,在Key處添加一個“Authorization”“value”值需要打開“Token計算器”進(jìn)行轉(zhuǎn)換偿渡。


“Token計算器”所在位置:

  • 打開“Token計算器”后臼寄,需要修改reset卸察、Keyversion脯厨。铅祸、

    注:
  • 355111為OneNET云平臺的用戶ID坑质,可以在云平臺上查找,登錄云平臺后點擊右上角临梗,找到“賬號信息”涡扼,點擊“訪問權(quán)限”,在此界面就可以看到自己的用戶ID以及密鑰盟庞。
  • 時間戳:在瀏覽器搜索“時間戳”進(jìn)行轉(zhuǎn)換吃沪,時間要是未來的某一個時間
  • version:時間設(shè)置為2022-05-01


6.填寫完后點擊“Send”保存。在未連接設(shè)備時什猖,點擊“Send”會出現(xiàn)“device not online”票彪。

  • 步驟4 創(chuàng)建LwM2M-緩存命令

創(chuàng)建步驟如上红淡,分別創(chuàng)建LwM2M-緩存命令POST請求和GET請求,創(chuàng)建完后點擊“Send”保存降铸。



注:
POST請求中在旱,需要在“Headers”處多添加一個Key“Content -Type”,如圖所示:

實驗三 使用 HTTP 數(shù)據(jù)推送自動開關(guān) LED燈

  • 步驟1 打開燈光推送應(yīng)用用戶門戶

以O(shè)neNET注冊用戶的 用戶id 和用戶AcessKey 登陸,門戶地址如下:

門戶地址


注意:
1推掸、首次登陸桶蝎,會提示該用戶id未使用記錄,需要再次輸入相同的用戶id和用戶AcessKey谅畅,登陸即可
成功登渣。
2、需要使用本人在OneNET注冊用戶的 用戶id 和用戶AcessKey毡泻,如填錯胜茧,則使用燈光控制功能會
因為鑒權(quán)錯誤而功能失敗。具體的信息在OneNET官網(wǎng)(用戶中心-訪問權(quán)限頁面)仇味,用戶id為6位數(shù)字竹揍,AcessKey需點擊查看:

  • 步驟2 綁定NB-IoT設(shè)備的IMEI號

進(jìn)入“我的物聯(lián)網(wǎng)”-“設(shè)備”菜單頁面,填寫IMEI號(用于數(shù)據(jù)推送時匹配)邪铲,點擊確定完成綁
定芬位。


注意:IMEI號需要正確填寫在OneNET官網(wǎng)上創(chuàng)建的LwM2M設(shè)備IMEI號

  • 步驟3 實例創(chuàng)建

進(jìn)入OneNET物聯(lián)網(wǎng)開放平臺“開發(fā)者中心”,選擇菜單欄中的數(shù)據(jù)流轉(zhuǎn)下的資源管理带到,點擊HTTP推送實例昧碉,每個實例對應(yīng)一個HTTP的推送配置。點擊添加實例揽惹。


具體的配置如下:

  • 實例名稱:自己取一個合理的名稱被饿。

  • 推送地址url:http://1.14.71.134:8080/receive ,注意 URL 后面必須包含 /receive搪搏,

  • Token:填入“111”狭握。

  • 消息加密方式:選擇“明文模式”,不進(jìn)行消息加密疯溺。


  • 步驟4 實例驗證

實例創(chuàng)建成功后论颅,下一步進(jìn)行實例驗證。在實例列表頁面囱嫩,點擊驗證恃疯。

  • 步驟5 規(guī)則引擎配置

進(jìn)入OneNET物聯(lián)網(wǎng)開放平臺“開發(fā)者中心”,選擇菜單欄中的數(shù)據(jù)流轉(zhuǎn)下的規(guī)則引擎墨闲,點擊直接添加規(guī)則今妄。


具體的配置如下:

  • 規(guī)則名稱:LED遠(yuǎn)程控制
  • 產(chǎn)品篩選:選擇指定產(chǎn)品,后面一欄是在云平臺所創(chuàng)設(shè)備中選
  • 消息源:默認(rèn)選擇設(shè)備數(shù)據(jù)點消息
  • 轉(zhuǎn)發(fā)方式:選擇HTTP推送
  • 使用資源:默認(rèn)選擇剛剛創(chuàng)建的實例


配置完成后,啟動該規(guī)則引擎盾鳞。

  • 步驟6 觀察光照數(shù)值變化與LCD模塊顏色狀態(tài)的變化

接下來觀察LCD的變化犬性,確保設(shè)備在線的情況下,當(dāng) NB-IoT 設(shè)備上下線腾仅、上報新數(shù)據(jù)時仔夺,應(yīng)用服務(wù)器就能夠獲得這些數(shù)據(jù),當(dāng)數(shù)據(jù)上報時攒砖,程序會解析其中的光照度數(shù)據(jù)缸兔,并且根據(jù)預(yù)設(shè)的閾值,對 LCD 燈進(jìn)行控制吹艇。
1惰蜜、室內(nèi)照明情況下,LCD模塊應(yīng)處于“關(guān)閉”狀態(tài)(顏色程序編寫的“關(guān)”狀態(tài)顏色)受神,如下圖:


2抛猖、用物體遮擋光照傳感器模塊(約30秒),LCD模塊應(yīng)處于“開啟”狀態(tài)(顏色程序編寫的“開”
狀態(tài)顏色)鼻听,如下圖:

3财著、拿開遮蓋物,約30秒后撑碴,LCD模塊應(yīng)處于“關(guān)閉”狀態(tài)(顏色程序編寫的“關(guān)”狀態(tài)顏色)撑教。
4、同時可在平臺上通過查看實例獲得推送數(shù)據(jù)統(tǒng)計醉拓,進(jìn)入資源管理下的HTTP推送實例伟姐,點擊管理卓囚,可查看實例的基本信息付魔、推送數(shù)據(jù)統(tǒng)計、近一月數(shù)據(jù)趨勢泵喘。至此排吴,數(shù)據(jù)推送完成

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秆乳,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子钻哩,更是在濱河造成了極大的恐慌屹堰,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件憋槐,死亡現(xiàn)場離奇詭異双藕,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)阳仔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人近范,你說我怎么就攤上這事嘶摊。” “怎么了评矩?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵叶堆,是天一觀的道長。 經(jīng)常有香客問我斥杜,道長虱颗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任蔗喂,我火速辦了婚禮忘渔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缰儿。我一直安慰自己畦粮,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布乖阵。 她就那樣靜靜地躺著宣赔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瞪浸。 梳的紋絲不亂的頭發(fā)上儒将,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天,我揣著相機(jī)與錄音对蒲,去河邊找鬼椅棺。 笑死,一個胖子當(dāng)著我的面吹牛齐蔽,可吹牛的內(nèi)容都是我干的两疚。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼含滴,長吁一口氣:“原來是場噩夢啊……” “哼诱渤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起谈况,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤勺美,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后碑韵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赡茸,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年祝闻,在試婚紗的時候發(fā)現(xiàn)自己被綠了占卧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖华蜒,靈堂內(nèi)的尸體忽然破棺而出辙纬,到底是詐尸還是另有隱情,我是刑警寧澤叭喜,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布贺拣,位于F島的核電站,受9級特大地震影響捂蕴,放射性物質(zhì)發(fā)生泄漏譬涡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一啥辨、第九天 我趴在偏房一處隱蔽的房頂上張望涡匀。 院中可真熱鬧,春花似錦委可、人聲如沸渊跋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拾酝。三九已至,卻和暖如春卡者,著一層夾襖步出監(jiān)牢的瞬間蒿囤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工崇决, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留材诽,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓恒傻,卻偏偏與公主長得像脸侥,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子盈厘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

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