共創(chuàng)】Python編程快速入門(mén)指南">【云駐共創(chuàng)】Python編程快速入門(mén)指南
672
2025-04-01
1. IoT介紹
1.1 什么是IoT?
物聯(lián)網(wǎng)技術(shù),即Internet of things簡(jiǎn)稱為IoT,萬(wàn)物互聯(lián)的網(wǎng)絡(luò)技術(shù),是通過(guò)信息傳感設(shè)備,按照一些約定好的協(xié)議,將一些設(shè)備或者裝置等與網(wǎng)絡(luò)相連接,從而使設(shè)備和設(shè)備之間可以通過(guò)信息傳播媒介進(jìn)行信息交換和通信,以實(shí)現(xiàn)智能化的識(shí)別、定位、跟蹤、監(jiān)管等功能。
1.2 IoT涉及的領(lǐng)域
如今IoT技術(shù)已經(jīng)涉及到我們生活中的方方面面,也正是這種“真正的科技讓人感受不到科技的存在”的潤(rùn)物細(xì)無(wú)聲般的方式,在無(wú)聲無(wú)息間改變了我們很多生活中的點(diǎn)點(diǎn)滴滴。
舉幾個(gè)栗子,比如智能車(chē)載、智能家居、智能穿戴(智能手環(huán)、智能手表等)、智慧樓宇、智慧園區(qū)、智能家居、共享單車(chē)(從最開(kāi)始的機(jī)械鎖時(shí)代(出行便利)到手機(jī)掃描時(shí)代(使用便利)再到現(xiàn)在的電子圍欄規(guī)范引導(dǎo)停放等可控可監(jiān)管的時(shí)代)、消防方面(煙感控制,可以聯(lián)動(dòng)公用設(shè)施實(shí)現(xiàn)監(jiān)管、防控功能、報(bào)警功能等措施)、門(mén)禁方面(被暴力破除后可以聯(lián)動(dòng)自動(dòng)報(bào)警等功能),總的來(lái)說(shuō)不知不覺(jué)中,他來(lái)了,他來(lái)了,物聯(lián)網(wǎng)時(shí)代已經(jīng)走入進(jìn)來(lái)了。
1.3 IoT的痛點(diǎn)
在轉(zhuǎn)向物聯(lián)網(wǎng)開(kāi)發(fā)的過(guò)程中會(huì)遇到IoT的許多痛點(diǎn),比如協(xié)議棧、硬件資源管理等。
2. LiteOS簡(jiǎn)介
2.1 LiteOS是什么?
Huawei LiteOS是華為面向物聯(lián)網(wǎng)領(lǐng)域開(kāi)發(fā)的一個(gè)基于實(shí)時(shí)內(nèi)核的輕量級(jí)操作系統(tǒng)。也正因?yàn)樯厦嬲f(shuō)的物聯(lián)網(wǎng)技術(shù)中的存在各種各樣的痛點(diǎn),此時(shí)LiteOS就這么應(yīng)運(yùn)而生閃亮登場(chǎng)了,為解決各種IoT技術(shù)中的痛點(diǎn)而誕生。
2.2 IoT中的戰(zhàn)略角色
IoT由平臺(tái)(虛擬設(shè)備,解決設(shè)備聯(lián)動(dòng)的功能,有利于北向開(kāi)發(fā)(APP開(kāi)發(fā))(將代碼燒進(jìn)設(shè)備中),可以獨(dú)立開(kāi)發(fā))、管道(通信網(wǎng)絡(luò))、落地產(chǎn)品構(gòu)成。
2.3 LiteOS資源管理
LiteOS物聯(lián)網(wǎng)技術(shù)的誕生是為了解決互聯(lián)互通、資源管理,使產(chǎn)品更快的發(fā)布出來(lái),簡(jiǎn)短開(kāi)發(fā)周期,加快開(kāi)發(fā)效率(物聯(lián)網(wǎng)嵌入式開(kāi)發(fā)者的福音~(yú))。
2.3.1 時(shí)間管理
時(shí)間管理包括運(yùn)行時(shí)間tick、系統(tǒng)時(shí)間 sys、時(shí)間定時(shí)timer等。
2.3.2 存儲(chǔ)管理
存儲(chǔ)管理包括TLSF、BestFit(二叉搜索樹(shù),防止退化,總是能在一個(gè)高度,使時(shí)間點(diǎn)降低,減少了CPU的算力)、VFS等。(比如管理PC中的內(nèi)存,增加復(fù)用性,動(dòng)態(tài)分配)。
2.3.3 硬件管理
硬件管理包括中斷管理、異常管理、驅(qū)動(dòng)管理等。
2.3.4 同步通信
同步通信包括Queue、Mutex、Event等。(支持多任務(wù),管理任務(wù)調(diào)度,解決資源競(jìng)爭(zhēng)行為)。
LiteOS中的信號(hào)量,其中一個(gè)經(jīng)典的栗子是消費(fèi)者和生產(chǎn)者流程PV操作,即生產(chǎn)者等待信號(hào)量,消費(fèi)者釋放信號(hào)量,任務(wù)直接進(jìn)行同步協(xié)調(diào),不用作輪訓(xùn),提高效率。
2.4 LiteOS連網(wǎng)問(wèn)題
那么協(xié)議是如何被集成到LiteOS的呢?協(xié)議那么多,每個(gè)通信實(shí)體又不一樣,很痛苦啊。。。
這是一種硬件碎片化的問(wèn)題,是使用定義標(biāo)準(zhǔn)的API接口來(lái)解決的(有趣靈魂萬(wàn)里挑一,漂亮的皮囊千篇一律,那么大家喜歡哪種呢,當(dāng)然工程師當(dāng)然喜歡大家都一樣不用搜文檔看文檔核對(duì)操作了~)。???? 用模組去還原聯(lián)網(wǎng)的本質(zhì)(標(biāo)準(zhǔn)化帶來(lái)的),屏蔽了通信實(shí)體帶來(lái)的差異性以及適配問(wèn)題等這種層級(jí)抽象的方法,不再用關(guān)心通信實(shí)體用了什么,或者通信實(shí)體使用了什么協(xié)議,也不需要知道這些了(很棒~(yú)),只需要直接使用這種標(biāo)準(zhǔn)化插件去對(duì)接就行了,十分的靈活方便,以此解決連網(wǎng)、互聯(lián)互通的問(wèn)題。
2.5 案例演示
一鍵上云案例,將SDK集成到模組中去,通過(guò)AT指令調(diào)用API接口,只需要通過(guò)串口發(fā)送就能完成調(diào)用API的操作。
通過(guò)LiteOS的互聯(lián)互通,在平臺(tái)上進(jìn)行產(chǎn)品的創(chuàng)建,設(shè)置功能,設(shè)置設(shè)備,達(dá)到上報(bào)數(shù)據(jù),接收數(shù)據(jù)這種無(wú)縫銜接的操作,分分鐘搞定,簡(jiǎn)單快捷。
2.5.1 創(chuàng)建產(chǎn)品
通過(guò)設(shè)備中的創(chuàng)建產(chǎn)品創(chuàng)建我們所需要的產(chǎn)品。
2.5.2 設(shè)置功能(上報(bào)功能和下發(fā)功能)
在屬性/命令列表中添加所需要的功能動(dòng)作,本案例以上報(bào)操作和接收操作為例。
2.5.3 基于產(chǎn)品模型創(chuàng)建的設(shè)備
在設(shè)備中的所有設(shè)備列表中添加我們所需要連接的設(shè)備。
2.5.4 打開(kāi)窗口軟件
2.5.5 查看是否連網(wǎng),查看模組是否有上網(wǎng)能力
查看是否連網(wǎng),也就是先看看模組中是否有上網(wǎng)的能力,要沒(méi)有連網(wǎng),后面操作就成了一頓操作猛如虎一看戰(zhàn)績(jī)0-5了,所以首先檢查連網(wǎng)是所有操作的前提條件。
2.5.6 會(huì)使用到的指令
2.5.7 查看設(shè)備是否處于離線狀態(tài)
在發(fā)送連接指令的時(shí)候,先查看設(shè)備是否處于離線狀態(tài)。
2.5.8 發(fā)送連接指令
2.5.9 設(shè)備被連接
2.5.10 上報(bào)數(shù)據(jù)
2.5.11 發(fā)看是否發(fā)布上報(bào)
2.5.12 下發(fā)命令666
2.5.13 接收了指令666
2.6 遠(yuǎn)程終端的迭代
支持差分升級(jí)(必須基于某個(gè)版本),優(yōu)點(diǎn)是可以加快傳輸速度(比較小傳輸快),并且可以節(jié)約存儲(chǔ)降低功耗,適用于對(duì)改動(dòng)比較小,比如修復(fù)缺陷或者小功能推送等小版本的省級(jí)。(制作升級(jí)包,將包傳送到云平臺(tái),下載后將包推送到設(shè)備端,最后設(shè)備端進(jìn)行升級(jí))。
全量升級(jí)會(huì)進(jìn)行,全量包進(jìn)行壓縮,壓縮到占全量包的60%。
2.6.1 差分升級(jí)的案例
2.6.1.1 制作升級(jí)包
創(chuàng)建差分升級(jí)包并且利用華為離線簽名工具進(jìn)行簽名(防止篡改)操作。
2.6.1.2 放到云平臺(tái)上
2.6.1.3 將更新代碼燒入
2.6.1.4 創(chuàng)建升級(jí)任務(wù)并自動(dòng)執(zhí)行升級(jí)
2.6.1.5 完成升級(jí)
2.7 LiteOS的開(kāi)源開(kāi)放
LiteOS是通過(guò)開(kāi)源開(kāi)放參與到IoT生態(tài)系統(tǒng)建設(shè)中的,讓各種開(kāi)發(fā)運(yùn)維等等不同專業(yè)的小伙伴可以通過(guò)平臺(tái)來(lái)不斷構(gòu)筑完善我們的IoT生態(tài)系統(tǒng),讓我們不斷的接近萬(wàn)物互聯(lián)的這個(gè)美好愿景,并且只要符合平臺(tái)的標(biāo)準(zhǔn)和代碼規(guī)范就可以貢獻(xiàn)到其中(為大佬們的共享在此打一波666~)。
本文整理自華為云社區(qū)內(nèi)容共創(chuàng)活動(dòng)《硬核對(duì)話 攻城獅vs攻城獅PLUS 》,《【內(nèi)容共創(chuàng)系列】1024,懂你所需,予你溫暖,致敬新時(shí)代可愛(ài)的程序員們》https://bbs.huaweicloud.com/blogs/302011
TCP/IP 輕量級(jí)操作系統(tǒng) LiteOS
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。