2109-11-19

實(shí)驗(yàn)六:基于LiteOS實(shí)現(xiàn)端到端物聯(lián)試驗(yàn)

步驟1 移殖光敏傳感器拍屑,通過(guò)傳感器采集光照亮度

在Keil環(huán)境中右擊IOT-Demo食拜,選擇Manage Project Items...;
在Project Items標(biāo)簽下的Groups中添加Hardware哩簿,并在該group下添加光敏傳感器代碼;

image.png

添加光敏傳感器代碼的頭文件路徑;
image.png

在main.hUSER CODE BEGIN Incldes/與/USER CODE BEGIN Incldes/之間添加引用定義標(biāo)準(zhǔn)擴(kuò)展整數(shù)類型的頭文件代碼妒穴;
image.png

在main.h的/USER CODE BEFIN defines/與/USER CODE BEFIN defines/之間添加全局變量msg_for_BH1750與BH1750_send定義的代碼;
image.png

在main.c的USER CODE BEGIN Incldes/與USER CODE BEGIN Incldes/之間添加引用光敏傳感器頭文件的代碼BH1750數(shù)據(jù)的全局變量摊崭,并添加光敏傳感器數(shù)據(jù)上報(bào)是攜帶的messageld的代碼讼油;
image.png

在main.c的/USER CODE BEGIN /與/USER CODE BEGIN /之間添加光敏傳感器任務(wù)代碼;定義光敏傳感器任務(wù)名為L(zhǎng)ightSensor_task呢簸,優(yōu)先級(jí)為矮台;通過(guò)改任務(wù),對(duì)光敏傳感器進(jìn)行初始化根时,并打印任務(wù)信息與光敏傳感器數(shù)據(jù)瘦赫;
image.png

在main.c的/
USER CODE BEGIN 2
/與/USER CODE BEGIN 2/之間生成的代碼,添加創(chuàng)建光敏傳感器任務(wù)的代碼蛤迎,并注釋task1與task的代碼确虱;
image.png

點(diǎn)擊Rebuild,編譯工程忘苛;
image.png

點(diǎn)擊Download蝉娜,下載程序至開(kāi)發(fā)板;

image.png

打開(kāi)QCOM串口調(diào)試助手扎唾,根據(jù)對(duì)應(yīng)的串口召川,選擇相應(yīng)的串口號(hào),配置相應(yīng)信息胸遇,按下MCU_RST荧呐,開(kāi)發(fā)板運(yùn)行程序;

image.png

步驟2 移植NB入網(wǎng)代碼,通過(guò)NB模組將數(shù)據(jù)上報(bào)至平臺(tái)

登陸OceanConnect平臺(tái)倍阐,參照實(shí)驗(yàn)三的方式注冊(cè)設(shè)備概疆;
打開(kāi)Keil,在Keil中右擊Lot-Demo選擇Manage Project Items...
在Project Items標(biāo)簽下的Application/User中添加Iot-Demo-LiteOS/targets/Src目錄下的at_hal.c文件峰搪;


image.png

在Projects Items標(biāo)簽下的Groups中添加at_device岔冀,并在該group下添加基于LitesOS的NB模組代碼,添加Iot-Demo-LiteOS\components\net\at_device\bc95目錄下的bc95.c文件概耻;


image.png

在Project Items標(biāo)簽下Groups中添加at_framework使套,并在該group下添加LitsOS AT框架實(shí)現(xiàn)的代碼,添加Iot-Demo-LiteOS\components\net\at_frame目錄下的全部.c文件鞠柄;


image.png

在Project Items標(biāo)簽下Groups中添加nb-iot-api侦高,并在該group下添加基于LitsOS的NB-IOT API的代碼,添加Iot-Demo-LiteOS\components\connectivity\nb_iot目錄下的ios_nb_api.c文件厌杜;


image.png

完成NB模組與AT框架相關(guān)代碼的添加奉呛,點(diǎn)擊OK;


image.png

添加完成后夯尽,在Keil的Project導(dǎo)航欄會(huì)出現(xiàn)相應(yīng)文件瞧壮;
image.png

在Option for Target‘Iot-Demo’界面下選擇C/C++,在Define中添加全局宏定義標(biāo)識(shí)符:WITH_AT_FRAMEWORK,USE_NB_NEUL95;


image.png
image.png

在Incude Paths欄添加相應(yīng)文件的頭文件路徑呐萌;
頭文件路徑分別為:
Iot-Demo-LiteOS\components\connectivity\lwm2m\core\er-coap-13
Iot-Demo-LiteOS\components\net\at_device\nb_bc95


image.png

image.png

在main.c的/USER CODE BEGIN Include/與/USER CODE BEGIN Include/之間添加調(diào)用AT框架與BC95頭文件的代碼馁痴,并聲明BC95入網(wǎng)的全局變量;
image.png

在main.h的/USER CODE BEGIN Private defines/與/USER CODE BEGIN Private defines/之間添加msg_sys_type_net_data定義的代碼肺孤;

image.png

在main.c的/USER CODE BEGIN 0/與/USER CODE BEGIN 0/之間添加BC95模組入網(wǎng)連接平臺(tái)發(fā)送數(shù)據(jù)任務(wù)代碼,定義該任務(wù)為data_send_task济欢,優(yōu)先級(jí)為1赠堵,通過(guò)該任務(wù),MCU向BC95發(fā)送ip及port信息和光敏傳感器數(shù)據(jù)并通過(guò)串口打印發(fā)送結(jié)果法褥;
image.png

打開(kāi)bc95.h茫叭,在該文件中修改AT_USART_PORT為2;

image.png

image.png

在main.c的/USER CODE BEGIN 2/與/USER CODE BEGIN 2/之間生成代碼半等,添加創(chuàng)建BC95模組入網(wǎng)連接平臺(tái)發(fā)送數(shù)據(jù)任務(wù)的代碼揍愁;
image.png

點(diǎn)擊Rebuild,編譯工程杀饵;
image.png

點(diǎn)擊Download莽囤,下載程序至開(kāi)發(fā)板;

image.png

打開(kāi)QCOM串口調(diào)試助手切距,根據(jù)對(duì)應(yīng)的串口號(hào)朽缎,配置對(duì)應(yīng)信息,通過(guò)跳線帽將開(kāi)發(fā)板的UART1的RX和TX與CH340的TX和RX連接,將開(kāi)發(fā)板上的UART2的RX和TX與NB-IOT的TX和RX連接话肖,點(diǎn)擊MCU_RST,開(kāi)發(fā)板運(yùn)行程序北秽。此時(shí)在QCOM上可以看到打印任務(wù)的信息

登陸平臺(tái),可以查看到注冊(cè)的設(shè)備處于已綁定狀態(tài)最筒,通過(guò)歷史數(shù)據(jù)可以查看到開(kāi)發(fā)板上報(bào)的數(shù)據(jù)贺氓;

步驟3 編寫(xiě)命令相應(yīng)代碼,通過(guò)平臺(tái)下發(fā)命令開(kāi)關(guān)光敏傳感器上的LED燈

打開(kāi)gpio.c床蜘,在GPIO初始化函數(shù)下添加PIN5的初始化代碼辙培;

image.png

打開(kāi)main.h,添加定義LED引腳的代碼悄泥;


image.png

打開(kāi)bc95.c虏冻,在該文件中添加接收命令代碼,根據(jù)命令執(zhí)行控制LED燈代碼及命令答復(fù)代碼弹囚;


image.png

image.png

在bc95.c的nb_cmd_match回調(diào)函數(shù)中厨相,將nb_hdndle_data_ind(buf)改為nb_handle_data_coap(buf);
image.png

在main.c中創(chuàng)建的data_send_tsak任務(wù)中添加命令回復(fù)代碼;

image.png

點(diǎn)擊Rebuild鸥鹉,編譯工程蛮穿;


image.png

點(diǎn)擊Download,下載程序至開(kāi)發(fā)板毁渗;

image.png

登陸平臺(tái)践磅,在我的設(shè)備中進(jìn)行命令下發(fā);

點(diǎn)擊我的設(shè)備中的歷史命令灸异,可以看到命令已下發(fā)并執(zhí)行府适,此時(shí)光敏傳感器上的LED燈點(diǎn)亮;

同樣肺樟,選擇value為OFF檐春,即下發(fā)關(guān)燈命令,點(diǎn)擊緩存發(fā)送么伯;在歷史命令中疟暖,可以看到命令已下發(fā)并執(zhí)行,此時(shí)光敏傳感器上的LED燈熄滅田柔;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末俐巴,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子硬爆,更是在濱河造成了極大的恐慌欣舵,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摆屯,死亡現(xiàn)場(chǎng)離奇詭異邻遏,居然都是意外死亡糠亩,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)准验,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)赎线,“玉大人,你說(shuō)我怎么就攤上這事糊饱〈沽龋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵另锋,是天一觀的道長(zhǎng)滞项。 經(jīng)常有香客問(wèn)我,道長(zhǎng)夭坪,這世上最難降的妖魔是什么文判? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮室梅,結(jié)果婚禮上戏仓,老公的妹妹穿的比我還像新娘。我一直安慰自己亡鼠,他們只是感情好赏殃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著间涵,像睡著了一般仁热。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上勾哩,一...
    開(kāi)封第一講書(shū)人閱讀 51,554評(píng)論 1 305
  • 那天抗蠢,我揣著相機(jī)與錄音,去河邊找鬼思劳。 笑死物蝙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的敢艰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼册赛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钠导!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起森瘪,我...
    開(kāi)封第一講書(shū)人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤牡属,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后扼睬,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體逮栅,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡悴势,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了措伐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片特纤。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖侥加,靈堂內(nèi)的尸體忽然破棺而出捧存,到底是詐尸還是另有隱情,我是刑警寧澤担败,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布昔穴,位于F島的核電站,受9級(jí)特大地震影響提前,放射性物質(zhì)發(fā)生泄漏吗货。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一狈网、第九天 我趴在偏房一處隱蔽的房頂上張望宙搬。 院中可真熱鬧,春花似錦孙援、人聲如沸害淤。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)窥摄。三九已至,卻和暖如春础淤,著一層夾襖步出監(jiān)牢的瞬間崭放,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工鸽凶, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留币砂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓玻侥,卻偏偏與公主長(zhǎng)得像决摧,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子凑兰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

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