您當前的位置:首頁(yè) > 新(xīn)聞資訊 > 産(chǎn)品動态 > 正文(wén)

【新(xīn)東網技(jì )術大咖帶您走進嵌入式操作(zuò)系統】基于RT-Thread的IoT-Camera應用(yòng)介紹

發布時間: 2017-03-14 16:10:03  
分(fēn)享到:

 

 

 

 

 
專欄介紹

新(xīn)東網自2001年成立以來,掌握大數據、雲計算、通信、物(wù)聯網及區(qū)塊鏈等領先信息技(jì )術,擁有(yǒu)一支逾16年經驗的強大IT團隊。為(wèi)沉澱企業技(jì )術實力,繼續發揮行業優勢,《東網快訊》特邀新(xīn)東網技(jì )術大咖帶您走進這些領先信息技(jì )術,揭秘新(xīn)東網16年來的技(jì )術成果,每周一發布

 

筆(bǐ)者工(gōng)作(zuò)以來,一直對嵌入式操作(zuò)系統有(yǒu)比較大的興趣,本文(wén)首先簡要介紹目前市場上嵌入式操作(zuò)系統的情況,然後分(fēn)享下在國(guó)内一款RT-Thread 系統上調試網絡攝像頭的收獲。

 

嵌入式操作(zuò)系統是一種用(yòng)途廣泛的系統軟件,通常包括與硬件相關的底層驅動軟件、系統内核、設備驅動接口、通信協議、圖形界面、标準化浏覽器等。該系統負責全部軟、硬件資源的分(fēn)配、任務(wù)調度,控制、協調并發活動。

 

嵌入式操作(zuò)系統與通用(yòng)的操作(zuò)相比較主要特點在于:

1.小(xiǎo)内核,穩定可(kě)靠。

2.需要可(kě)裝(zhuāng)卸、可(kě)裁剪,以便能(néng)靈活應對各種不同的硬件平台。

3.面向應用(yòng),強實時性,可(kě)用(yòng)于各種設備控制當中(zhōng)。

 

國(guó)際上常見的嵌入式操作(zuò)系統大約有(yǒu)40種左右如:Linux、uClinux、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、Free RTOS等。随着物(wù)聯網的發展日趨火熱,包括一些大型國(guó)際公(gōng)司也開始布局适用(yòng)于物(wù)聯網硬件的操作(zuò)系統,比如ARM公(gōng)司推出的mbed OS,華為(wèi)公(gōng)司的LiteOS等,國(guó)内一些中(zhōng)小(xiǎo)型廠家也投入其中(zhōng),比如慶科(kē)公(gōng)司推出的MICO等。

 

物(wù)聯網的發展必然帶來的是智能(néng)硬件的爆發,那麽這些智能(néng)硬件産(chǎn)品突出要解決兩個問題:

 

1)智能(néng)手機和雲端應用(yòng)。智能(néng)硬件多(duō)與手機進行互動,或由手機進行操作(zuò)控制,或借助手機反映出更多(duō)的設備信息;

 

2)智能(néng)硬件不再是孤立的設備,而是與雲連接起來。

 

這些産(chǎn)品的需求主要體(tǐ)現在以下幾個方面:

 

1) 芯片和硬件:各類不同架構和平台的芯片種類繁多(duō),幾乎每一款智能(néng)硬件的基礎硬件平台都不相同。互聯網時代操作(zuò)系統主要是Windows;移動互聯網時代操作(zuò)系統主要是Android和IOS;到了智能(néng)硬件和物(wù)聯網時代,則很(hěn)難産(chǎn)生一統天下的操作(zuò)系統,于是行業需要各有(yǒu)特色,能(néng)滿足不同需求的操作(zuò)系統

 

2) 計算,存儲資源:大多(duō)智能(néng)硬件對于成本都有(yǒu)要求,因此計算和存儲資源會非常有(yǒu)限;目前手機上的處理(lǐ)器主頻一般是超過1G,ROM和RAM能(néng)達到64G,4G,而智能(néng)硬件上的計算資源很(hěn)多(duō)是低于100M,ROM和RAM小(xiǎo)于100K字節;

 

3) 傳感器:智能(néng)硬件通過各類傳感器來感知環境,并通過各種不同的傳感器融合算法得出感知的結果

 

4) 功耗:智能(néng)硬件一般都是使用(yòng)電(diàn)池供電(diàn),因此需要設備大部分(fēn)時間進入低功耗休眠狀态

 

5) 聯網:智能(néng)硬件不是單一,孤立的設備,它們需要通過各種有(yǒu)線(xiàn)或者無線(xiàn)的方式與其他(tā)設備和互聯網進行通信,有(yǒu)線(xiàn)方式主要是以太網,串口,無線(xiàn)方式則有(yǒu)WiFI,藍牙,2G/3G/4G,Zigbee, Thread等各種不同标準的協議

 

6) 安(ān)全:一是指智能(néng)設備自身的可(kě)靠性,二是指設備連接網絡和進行通信的安(ān)全

 

7) 開機時間和響應速度:電(diàn)腦和手機的開機時間可(kě)以達到幾十秒(miǎo),但智能(néng)硬件一般需要在上電(diàn)後的幾毫秒(miǎo)内立刻啓動并能(néng)夠運行;

 

智能(néng)硬件的這些需求特點決定了Linux、Android、 IOS不是适合的操作(zuò)系統,智能(néng)硬件需要使用(yòng)RTOS,并且對RTOS提出了更高的要求:

 

1) 需要能(néng)夠支持不同架構的處理(lǐ)器,需要有(yǒu)硬件抽象層和設備管理(lǐ)器來管理(lǐ)不同的硬件設備。

 

2) 能(néng)夠支持計算,存儲資源有(yǒu)限的設備,RTOS本身的ROM和RAM資源占用(yòng)少。

 

3) 具(jù)備傳感器管理(lǐ)框架來管理(lǐ)衆多(duō)的傳感器設備,能(néng)夠提供或者整合感知融合算法。

 

4) 提供低功耗管理(lǐ)機制,來幫助設備進行低功耗管理(lǐ)。

 

5) 網絡特性變成RTOS的基礎标配,需要能(néng)夠支持各種網絡協議,以太網,Wi-FI,藍牙,2G/3G/4G,Zigbee, Thread等。

 

6) 能(néng)夠支持網絡升級功能(néng),各種加密機制,安(ān)全的套接字功能(néng)。

 

7) 能(néng)夠支持輕量級的顯示UI,音頻和視頻框架和智能(néng)算法。

 

8) 支持POSIX标準,方便移植程序;并且能(néng)夠支持腳本語言開發。

 

筆(bǐ)者的工(gōng)作(zuò)是開發智能(néng)卡相關産(chǎn)品,也認為(wèi)在物(wù)聯網時代,智能(néng)卡作(zuò)為(wèi)安(ān)全認證模塊,必然可(kě)以在物(wù)聯網系統中(zhōng)得到廣泛的應用(yòng)。于是完成工(gōng)作(zuò)任務(wù)之餘,一探這些嵌入式操作(zuò)系統的面目,期望能(néng)将我們的芯片融合其中(zhōng)。下面介紹下我在調試一款系統過程中(zhōng)的收獲。

 

當前市場上有(yǒu)很(hěn)多(duō)成熟的網絡攝像頭産(chǎn)品,這類産(chǎn)品的共同特點就是功能(néng)單一、固定,無法進行二次開發,不支持設備聯動和功能(néng)擴展。與物(wù)聯網的要求相差甚遠(yuǎn),而基于RT-Thread的IoT-Camera,則為(wèi)創客們提供了一款可(kě)以自己選擇外設傳感器、自己選擇算法、應用(yòng)、控制單元,進行功能(néng)二次開發的無線(xiàn)Camera産(chǎn)品。

 

IoT-Camera即可(kě)編程物(wù)聯網攝像頭,是由RT-Thread的開發團隊專門針對物(wù)聯網應用(yòng)開發的一款實物(wù)産(chǎn)品。其軟、硬件都完全開源,問世之初,便受到了廣大開發者的關注。

 

圖一 IoT-Camera開發闆實物(wù)圖

 

IoT-Camera開發闆上封裝(zhuāng)了Wifi、圖像處理(lǐ)和視頻技(jì )術,為(wèi)使用(yòng)者的二次開發提供了便利。

 

一、RT-Thread嵌入式操作(zuò)系統
 

 

RT-Thread是一款主要由中(zhōng)國(guó)開源社區(qū)主導開發的實時嵌入式操作(zuò)系統,它的開發、維護團隊主要來自中(zhōng)國(guó)國(guó)内。曾獲得“第六屆中(zhōng)日韓開源軟件競賽”技(jì )術優勝獎。目前,國(guó)内已有(yǒu)十多(duō)家企業将RT-Thread成功應用(yòng)到自己的産(chǎn)品中(zhōng)。

 

圖二 RT-Thread軟件結構

 

RT-Thread作(zuò)為(wèi)一款穩定小(xiǎo)巧的實時操作(zuò)系統,包含了硬實施搶占式内核,文(wén)件系統,TCP/IP協議棧,标準的POSIX  API接口,libc接口,圖形用(yòng)戶界面等。

 

二、IoT-Camera開發闆
 

 

IoT-Camera開發闆上運行RT-Thread内核,通過Wifi網絡可(kě)以将攝像頭采集到的數據上傳,用(yòng)浏覽器訪問攝像頭IP地址就可(kě)以看到攝像頭采集到的實時圖像。

 

使用(yòng)時,需要有(yǒu)一張TF卡片,在其根目錄下存儲内核代碼和boot程序固件。開發闆默認在串口上提供交互用(yòng)的命令行。當PC機與開發闆連接後,可(kě)以使用(yòng)PuTTY軟件開配置串口,并啓動交互界面。

 

圖三 PuTTY軟件開啓窗口

 

如上圖所示,串口波特率選擇115200,串口通道根據自己電(diàn)腦的接口選擇(本台電(diàn)腦使用(yòng)的是COM3口)。點擊Open即口啓動操作(zuò)界面。

 

系統啓動後,先從flash加載燒錄好的uboot程序開始執行,接着從TF卡加載存儲的rboot.bin執行,執行地址默認為(wèi)0xA0200000。rboot啓動超時後,自動執行/rboot.sh腳本。

 

圖四 通過shell指令設置rboot啓動地址

 

在rboot.sh中(zhōng)可(kě)以設置系統啓動時使用(yòng)的rtthread.bin所在的位置。如:

boot /rtthread.bin(直接啓動TF卡中(zhōng)的bin文(wén)件)

boot http://192.168.10.246:8000/firmware/rtthread.bin(需預先配置好網絡連接)

配置網絡連接的命令為(wèi)wifi join your_ssid your_passwd。

rtthread.bin啓動後,可(kě)以通過help命令列出rt-thread支持的命令行,默認命令行為(wèi)msh />。

輸入命令mjpeg start,啓動視頻服務(wù)mjpeg server。

 

在PC上打開浏覽器,訪問IoT-Camera的ip地址,即可(kě)看到攝像頭采集到的實時視頻圖像。

分(fēn)享到:
地址:福建省福州市銅盤路軟件大道89号軟件園A區(qū)26号樓 電(diàn)話:0591-83519233 傳真:0591-87882335 E-mail:doone@doone.com.cn
版權所有(yǒu) 新(xīn)東網科(kē)技(jì )有(yǒu)限公(gōng)司 京ICP證000000号 閩公(gōng)網安(ān)備 35010202001006号