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

步驟1胎许、移植光敏傳感器代碼葛虐,通過傳感器采集光照亮度
在Keil環(huán)境中右擊“l(fā)oT-Demo"選擇"Manage Project Items

在"Project Items"標簽下的“Groups”中添加"Hardware”,并在該 group下添加光放傳感器代碼

添加 loT Demo-LiteO\stargets\Hareware\BH1750”目錄下的”BH1750.c"文件拘泞,點擊“OK”"


image.png

參照實驗5步驟1的方式恨统,添加光敏傳感器代碼的頭文件路徑 loT Demo-LiteO\stargets\Hareware\BH1750


image.png

在“mainh"/ USER CODE BEGIN Includes /與/USER CODE END Includes */之間添加引用定義標準擴展整數(shù)類型的頭文件代碼:

image.png

在”main h”的/USER CODE BEGIN Private defines "/與/USER CODE END Private defines `之間添加全局變量"msg_ for BH1750“與“BH1750 send“定義的代碼叁扫;


image.png

在”mainC“的八USER CODE BEGIN Includes */與/USER CODE END Incudes /Z間添加引用光敏傳感器頭文件的代碼與 BH1750數(shù)據(jù)的全局變量,并根據(jù)1.2.1章節(jié)步驟3中設計的數(shù)據(jù)碼流畜埋,添加光敏傳感器數(shù)據(jù)上報時攜帶 messageld 的代碼:


image.png

在“main.c“的/*USER CODE BEGIN O /與/ USER CODE ENDO/之間添加光敏傳感器任務代碼;定義光敏傳感器任務名為“LightSensor_task莫绣,優(yōu)先級為0;通過該任務,對光敏傳感器進行初始化悠鞍,并打印任務信息與光敏傳感器數(shù)據(jù):

image.png

基于步驟3在”main "的/USER CODE BEGIN 2“與/USER CODE END 2*/之間生成的代碼对室,添加創(chuàng)建光敏傳感器任務的代碼,并注釋創(chuàng)建task1與task2的代碼:


image.png

點擊"Rebuild",編譯工程;


image.png

點擊"Download"软驰,下載程序至開發(fā)板:

image.png

打開 QCOM串口調(diào)試助手涧窒,根據(jù)對應的串口,選招對應的串口號.按下TMCU-RST锭亏,開發(fā)板運行程序山時在 QCOM上可以看到任務打印的信息纠吴。


image.png

步驟2 移植NB入網(wǎng)代碼,通過NB模組將數(shù)據(jù)上報至平臺

登陸 OceanConnect平臺慧瘤,參照實驗三的方式注冊設備(設備名稱自定義戴已,設備驗證碼為NB模組的IMEI號);


image.png

打開Keil,在 Keil中右擊”loT-Demo"選擇"Manage Project |tems


image.png

在"Project Items"標簽下的"Applcation/User”中添加” loT Demo-LiteOS
Src目錄下的"at-halc”文件(注:“"athal”文件包含用于連接 LiteOS 與HAL 面數(shù)庫控制外設的代碼

image.png

在"Project ltems”“標簽下的"Groups"中添加"at_device”,并在該 group下添加基于 LiteOS 的NB模組代碼锅减;添加“l(fā)oT-Demo-LiteOS components\net\at_device\nb\bc95”目錄下的"bc95.c”文件:


image.png

在”Project Items”標簽下的"Groups”中添加“at_framework糖儡,并在該 group下添加 LiteOS AT框架實現(xiàn)的代碼:添加“l(fā)oT-Demo-LiteOS.components\net\ at-frame”"目錄下的全部.c文件;


image.png

在 Projec liems 標簽下的Goups 中添加nb-iot api,并在該 group下添加基于LiteOS的NB-IoT API的代碼:最加loT-Demo-LnteOS\compenents\ connectivity\nb_iot"目錄下的los_nb api.c文件:
完成NB模組與AT框架相關代碼添加怔匣,點擊OK


image.png

添加完成后握联,Keil的 Project導骯欄出現(xiàn)相應文件
image.png

在"Option for Target loT-Demo“界面下選擇”CC艸+",在"Define"中添加全局宏定義標識符:“WITH AT FRAMEWORK”每瞒,“USE-NB_NEUL95”;


image.png

image.png

在"Include Paths”欄添加相應文件的頭文件路徑


image.png

頭文件路徑分別為
"loT-Demo-LiteO5components\connectivity\lwm2m\coreler-coap-13
"loT-Demo-LiteOS\components\net\at _device\nb bc95”


image.png

在"mainc" 的/” USER CODE BEGIN Includes "/與/* USER CODE END incudes "之間添加調(diào)用AT框架與BC95頭文件的代碼金闽,并聲明 BC95入網(wǎng)的全局變量:

image.png

在"mainh”的/ USER CODE BEGIN Private defines 與r USER CODE END Pnvate delines"之間添加" msg sys type bc95_net data”定義的代碼:
image.png

在”main.c”"的/
USER CODE BEGIN0與/ USER CODE ENDO/之間添加 BC95模組人網(wǎng)連按平臺發(fā)送數(shù)據(jù)任務代碼;定義該任務名為“”data_ send task”剿骨,優(yōu)先級為1:通過該任務代芜,MCU向BC95發(fā)送平臺ip及port信息和光敏傳感器數(shù)據(jù)并通過串口打印發(fā)送結果:
image.png

打開 bc95.h”,在該文件中修改ATUSART_PORT為2(本實驗開發(fā)板MCU過USART2向BC95模組發(fā)送數(shù)據(jù)浓利,不同開發(fā)板根據(jù)實際硬件情況配置):

image.png

基于步驟1在”main.c"的/ USER CODE BEGIN 2 /與/”USER CODE END21之間生成的代碼挤庇,添加創(chuàng)建 BC95模組人網(wǎng)連接平臺發(fā)送數(shù)據(jù)任務的代碼
image.png

點擊"Rebuild",編譯工程;


image.png

點擊"Download"贷掖,下載程序至開發(fā)板:


image.png

打開QCOM串口調(diào)試助手嫡秕,根據(jù)對應的串口,選擇對應的串口號羽资,配置相應信息淘菩;通過跳線帽將開發(fā)板上的 UART1 的RX和TX與CH340的TX和RX連接遵班,將開發(fā)板上的UART2 的RX和TX與NB-IoT的TX和RX連接屠升;按下"MCU_RST”,開發(fā)板運行程序狭郑;
此時在QCOM上可以看到任務打印的信息腹暖。


image.png

登陸平臺,可以查看到注冊的設備處于己綁定狀態(tài)翰萨,通過”歷史數(shù)據(jù)“可以查看到開發(fā)板上報的數(shù)據(jù):


image.png

步驟3 編寫命令響應代碼脏答,通過平臺下發(fā)命令開關光敏傳感器上的LED燈

MCU通過PA5口控制光敏傳感器上的LED燈;打開"gpio.c”,在GPIO初始化面數(shù)下A加PIN5的初始化代碼:
image.png

打開"main.h",添加定義 LED引腳的代碼殖告;


image.png

打開 bc95.c阿蝶,在該。c文件中添加接收命令代碼黄绩,根據(jù)命令執(zhí)行控制LED 燈代碼及命令答復代碼


image.png

在 bc95c的"nb cmd match 回調(diào)面數(shù)中羡洁,將"nb-handle-data- ind(bu0),”改為nb-handle-data-coap(buf).


image.png

在步驟2"main.c"中創(chuàng)建的"data send task"任務中添加回復代碼


image.png

點擊"Rebuild",編譯工程;


image.png

點擊"Download"爽丹,下載程序至開發(fā)板:


image.png

登陸平臺筑煮,在”我的設備”中進行命令下發(fā)
選擇"value"為“ON”,即下發(fā)開燈命令粤蝎,點擊”緩存發(fā)送
點擊”我的設備”中的”歷史命令”真仲,可以看到命已下發(fā)并執(zhí)行,此時光收傳感器上的LED燈點亮


image.png

同樣初澎,選擇"value”為“OFF”秸应,即下發(fā)關燈命令,點擊”緩存發(fā)送”碑宴;在”歷史命令“中灸眼,可以看到命令已下發(fā)并執(zhí)行,此時光敏傳感器上的LED燈熄滅墓懂。


image.png
image.png

1焰宣、在LiteOS基礎上,移植光敏傳感器代碼捕仔,采集光強度數(shù)據(jù)
2匕积、在LiteOS基礎上,移植NB模組代碼榜跌,通過NB模組入網(wǎng)連接平臺上報數(shù)據(jù)
3闪唆、終端開發(fā)板接收下發(fā)命令,執(zhí)行命令并作出響應钓葫,點亮熄滅光敏傳感器上的LED燈悄蕾。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市础浮,隨后出現(xiàn)的幾起案子帆调,更是在濱河造成了極大的恐慌,老刑警劉巖豆同,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件番刊,死亡現(xiàn)場離奇詭異,居然都是意外死亡影锈,警方通過查閱死者的電腦和手機芹务,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門蝉绷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人枣抱,你說我怎么就攤上這事熔吗。” “怎么了佳晶?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵磁滚,是天一觀的道長。 經(jīng)常有香客問我宵晚,道長垂攘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任淤刃,我火速辦了婚禮晒他,結果婚禮上,老公的妹妹穿的比我還像新娘逸贾。我一直安慰自己陨仅,他們只是感情好,可當我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布铝侵。 她就那樣靜靜地躺著灼伤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咪鲜。 梳的紋絲不亂的頭發(fā)上狐赡,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機與錄音疟丙,去河邊找鬼颖侄。 笑死,一個胖子當著我的面吹牛享郊,可吹牛的內(nèi)容都是我干的览祖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼炊琉,長吁一口氣:“原來是場噩夢啊……” “哼展蒂!你這毒婦竟也來了?” 一聲冷哼從身側響起苔咪,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤锰悼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后悼泌,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體松捉,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年馆里,在試婚紗的時候發(fā)現(xiàn)自己被綠了隘世。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡鸠踪,死狀恐怖丙者,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情营密,我是刑警寧澤械媒,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站评汰,受9級特大地震影響纷捞,放射性物質發(fā)生泄漏。R本人自食惡果不足惜被去,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一主儡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惨缆,春花似錦糜值、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至捣染,卻和暖如春骄瓣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耍攘。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工累贤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人少漆。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓臼膏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親示损。 傳聞我的和親對象是個殘疾皇子渗磅,可洞房花燭夜當晚...
    茶點故事閱讀 45,685評論 2 360

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