iot_camera 開發(fā)板試玩心得體會
掃描二維碼
隨時隨地手機看文章
介紹開發(fā)板的配置固件燒錄第一種:通過手工TF卡進行程序更新第二種:http服務器進行程序更新第三種:通過rboot啟動上手體驗系統(tǒng)編譯最新版本開發(fā)開發(fā)板評估與思考
介紹
目前,對于可編程物聯(lián)網(wǎng)攝像頭來說,可以通過手機或者網(wǎng)頁顯示攝像頭畫面。這種應用只要在聯(lián)網(wǎng)條件下就可以進行,所以從某種程度上來說通過網(wǎng)絡傳輸,遠程查看的方式將會成為物聯(lián)網(wǎng)攝像頭非常好的方式。這種方式主要是可以節(jié)約很多硬件成本,同時網(wǎng)絡傳輸技術的不斷成熟,數(shù)據(jù)管理也會慢慢的集中。我覺得物聯(lián)網(wǎng)方向也需要去研究一下IP攝像頭。
本次研究的對象是rtthread在2016年左右眾籌的一塊開發(fā)板iot_camera。

這塊開發(fā)板在市面上已經(jīng)見不到了,只有在二手市場淘到一塊進行研究。
開發(fā)板的配置
下面來詳細介紹對比一下具體的配置信息。
|
FH8620 | FH8632 | FH8852 |
---|---|---|---|
面向?qū)ο? | 面向中低端 | 高性能,低功耗 | 面向2M專業(yè)網(wǎng)絡攝像頭,高性能 |
處理器 | ARM1176 | ARM1176 | ARM1176 |
運行頻率 | 216MHz | 480MHz | 600MHz |
cache | I/D-Cache 16KB/16KB | I/D-Cache 16KB/16KB | I/D-Cache 16KB/16KB |
內(nèi)置 DRAM | 2M x 4banks x 16 bit LVDDR | 512Mbits,480MHz | 512Mbits,480MHz |
MIPI接口 | 不支持 | 支持 | 支持 |
CIS 輸入 | 最大支持1280x720 | 最大支持2560X1440 | 最大支持1920X1080 |
圖像處理 | 支持 | 支持 | 支持 |
H264編碼率 | 1280x720@30fps | 1920x1080@30fps+720P@30fps | 1920x1088@30fps + 720x576@30fps |
JPEG 編碼 | 1M Pixel@1fps | 1920x1080 @5fps | 2M@2fps |
I2C | X2 | X2 | X2 |
SPI | X2 SPI-Master | X2 SPI-Master, X1 SPI-Slave | X2 SPI-Master, X1 SPI-Slave |
uart | X1 | X2 | X2 |
PWM | x3 | x4 | x8 |
RTC | 不支持 | 支持 | 支持 |
音頻接口 | 支持 | 支持 | 支持 |
SDIO | 支持 | 支持 | 支持 |
USB | 不支持 | 支持 | 支持 |
網(wǎng)絡接口 | 不支持 | 支持 | 支持 |
功耗 | 小于650mW | - | - |
底板
底板的設計比較的簡單,主要是相應的接口,主要的芯片的CP2102的串口芯片。還有一塊語音放大芯片。

核心板

核心板背面

整個開發(fā)板硬件配置如下:

-
FH8620, ARM1176, up to 450MHz, Builtin 16MB DRAM
-
AP6181 (bcm43362) Wi-Fi
-
8MB SPI Nor Flash
-
GC1024 sensor
-
Hardware encoder for H.264, 1280x720 @ 30FPS
-
Hardware encoder for MJPEG
其他的外設資源
-
一個 iic 接口
-
一組 SPI 接口
-
一個串口
-
六個 gpio 接口
-
三路 pwm 接口
-
一個 micro SD 卡插槽
-
兩路 ADC 輸入
-
LINE IN 與 LINE OUT
固件燒錄
對于固件的使用來說,可以分為四個固件,這四個固件可以在網(wǎng)盤中下載得到。

在芯片內(nèi)部,已經(jīng)自帶UBOOT,所以如果UBOOT被破壞,那只能用燒錄器重新燒錄了。
第一種:通過手工TF卡進行程序更新
這種方式是將固件放到tf卡的根目錄,然后通過uboot將TF卡中的rtthread.bin轉(zhuǎn)移到Flash中,下次直接從flash中讀取固件啟動即可。
在倒數(shù)到3s之內(nèi)按下鍵盤的任意鍵可以進入uboot的控制臺。

接著將tf卡中的程序轉(zhuǎn)移到內(nèi)存中
fatload mmc 0 0xA0000000 rtthread.bin

然后將鏡像轉(zhuǎn)移到flash中(從 4M 位置,燒錄 2M 數(shù)據(jù))
sf probe 0 sf erase 400000 200000 sf write a0000000 400000 200000
選擇設備

擦除扇區(qū)

燒寫固件

設置uboot的啟動項并保存配置
set bootcmd 'sf probe 0; sf read a0000000 400000 200000; go a0000000' save
重新啟動
reset

最后就可以正常的啟動了

也可以通過從tf卡中直接讀取rtthread.bin的固件到內(nèi)存中,直接跳轉(zhuǎn)即可。
set bootcmd fatload mmc 0 0xa0000000 rtthread.bin\; go 0xa0000000
save reset
第二種:http服務器進行程序更新
固件更新時,可以通過wget下載固件
很多時候,我們做調(diào)試的過程中,如果總是將TF插上然后再進行燒錄,這樣效率非常的差,所以可以采用wget的方式進行固件的下載。
首先啟動python中的web_server
import SimpleHTTPServer import SocketServer
PORT = 8000 Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler) print "serving at port", PORT
httpd.serve_forever()
開啟服務

訪問http://localhost:8000/可以看到

此時,如果我們已經(jīng)將wifi連接上網(wǎng)絡(wifi join ssid password),在同一個局域網(wǎng)內(nèi)就可以利用rtthread的wget工具進行下載了。
第三種:通過rboot啟動
固件的啟動順序如下:

這種方式是rboot可以引導一個腳本rboot.sh,然后通過該腳本指定啟動方式。
上手體驗
如果要讓開發(fā)板聯(lián)網(wǎng),需要配置init.sh,因為這個腳本會在main函數(shù)中執(zhí)行。

而該腳本中的內(nèi)容就是配置wifi和啟動mjpeg

然后可以看到系統(tǒng)正常啟動
通過ifconfig查看開發(fā)板的ip信息

在同一個局域網(wǎng)內(nèi)的其他電腦上用瀏覽器訪問該地址,可以看到ip攝像頭的畫面

這樣,下圖是手機瀏覽器上看到的效果

系統(tǒng)編譯
到github上去下載源代碼:https://github.com/RT-Thread/IoT_Camera
然后進入到firmware文件夾下,然后下載3.0.3版本的rtthread。

然后在env工具上進行配置

然后輸入pkgs --update 更新固件

直接進行編譯即可。
最新版本開發(fā)
如果要在最新版本上進行開發(fā)工作,可以直接到從github上下載最新版本的庫進行相關的開發(fā)工作。

將固件轉(zhuǎn)移到sd卡中,可以看到啟動信息

開發(fā)板評估與思考
對于該富瀚微FH系列芯片來說,主要專注于視頻監(jiān)控方案,總的說來也是一款專用芯片。而這些芯片跑rtos又有著非常大的優(yōu)勢。但是款開發(fā)板從16年眾籌開始,賣的并不樂觀,而且fh8620芯片到目前為止已經(jīng)停產(chǎn)。
個人認為,這款芯片應該說已經(jīng)過時了,比這更好的有V3S等等,其性能都要比富瀚芯片的性能強大。
其實我覺得國內(nèi)的這些IPC芯片SoC供應商怎么不通過RT-Thread之類的將芯片推廣到通用市場,比如就當通用MCU用,做網(wǎng)關、做控制器,像富翰微的FH8630D、國科微的GK7102、華為海思的等待,這些芯片具有圖像處理功能,有SPI、有網(wǎng)口、有SDIO、有UART,跟STM32F7、RT1050之類的比起來有超高的性價比,很多情況下都能替代,對用戶很有吸引力,特別是移植好RTOS和驅(qū)動后,用起來就很順了。但是,支持的并不給力。
用這個板子做方案,其實就是高不成低不就的東西。如果用MT6261,可實現(xiàn)錄像,拍照定位和物聯(lián)網(wǎng)設備,成本也才19.8元,雖然不支持視頻傳輸,但是功耗可以做到很低。做遠程視頻監(jiān)控之類的wifi攝像頭,50到60元也會有相應的方案。
總的評估,我覺得,這款開發(fā)板其實做東西也可以做的出來,只是定位需求不對。