IoT-Camera學習筆記之初識IoT-Camera(二)

5.bin文件燒寫運行

剛拿到手的IOT-Camera開發板是沒有燒寫攝像頭固件的,所以我們要先刷機!!!
最新版本的Firmware已經支持3種不同的刷機方式。

5.1.更新固件方式1:手工TF卡刷機

1)Step1:將camera studio編譯完成後的rtthread.bin複製至TF卡根目錄,插入IoT-Camera核心板。
2)Step2:將USB插入電腦後,打開串口終端,波特率爲115200,本人使用的是SecureCRT。在顯示”Hit any key to stop autoboot”倒計時爲0前,按任意鍵進入uboot命令行模式。

3)Step3:選擇啓動方式:IoT-Camera可以通過2種不同的啓動模式啓動
a)啓動方式1:將rtthread.bin從TF複製至內部flash,每次從內部flash啓動IoT-Camera,每次更新固件都需要手工進uboot輸入命令。(也太麻煩了吧!!!)
將TF卡中的rtthread.bin加載到0xA0000000內存地址中
fatload mmc 0 0xA0000000 rtthread.bin
將鏡像文件燒錄至 Flash 中(從 4M 位置,燒錄 2M 數據)
sf probe 0
sf erase 400000 200000
sf write a0000000 400000 200000
設置 U-Boot 啓動參數並保存
set bootcmd 'sf probe 0; sf read a0000000 400000 200000; go a0000000'
save
重新啓動
reset

可以看到,程序已經正常運行
b)啓動方式2:從TF卡啓動IoT-Camera,uboot自動讀取rtthread.bin文件
在uboot中修改啓動參數
set bootcmd fatload mmc 0 0xa0000000 rtthread.bin\; go 0xa0000000
保存uboot配置
save
重新啓動
reset
兩種啓動方式比較:
1.啓動方式1適合正式生產的時候使用,在程序調試階段並不合適。
2.啓動方式2會在啓動時讀取rtthread.bin增加啓動時間,但適合程序調試。
3.在下面的更新方式中會經常用到,所以推薦使用啓動方式2。

5.2.更新固件方式2:通過wget下載rtthread.bin至TF卡並在TF卡上運行

更新固件方法1只適合的IoT-Camera第一次刷機使用或者由於程序出錯無法正常啓動時使用!如果每次更新程序都需要去通過TF卡在電腦上覆制bin文件那是非常麻煩的!那我們來試試方法2吧!
1.2.3.4.5.5.1.5.2.1)Step1格式化分區:這個很重要哦!否則rtthread系統訪問不了TF卡(step1只需要執行一次就可以了)
a.固件運行起來後,需要格式化rootfs分區。輸入:
mkfs rootfs 後重啓

b.創建sdcard目錄.輸入:
mkidr sdcard 後重啓

這樣,rtthread系統能夠自動裝載 flash 上的 rootfs 分區到’/’根目錄,而把 TF 卡裝載到’/sdcard’目錄中。可通過ls命令查看當前目錄

1)2)Step2啓動web_server
c.如果電腦上沒有安裝python2.7,可先安裝,安裝完成後,在windows命令行輸入:
python c:\iot_camera\firmware-20161002\websrv.py啓動web_server

如果不想安裝python2.7,camera_studio自帶了python2.7,在windows命令行輸入:
cd c:\iot_camera\camera_studio\tools\Python27
python.exe c:\iot_camera\firmware-20161002\websrv.py

啓動完成後,在瀏覽器輸入http://localhost:8000/查看是否成功運行。
注:以上2種方式啓動的web_server的根目錄不一樣,這個對於我們下面使用wget獲取文件位置有很大關係(本人使用的是自己安裝python2)
3)Step3將IoT-Camera連接網絡:
使用wifi join ssid password命令,ssid和password爲需要配置的網絡名和密碼。

連接成功!並可使用ifconfig查看ip確認是否正確連接

4)Step4使用wget命令下載
在電腦端先將rtthread.bin複製至對於web_server根目錄下,在msh命令行輸入:
wget http://192.168.31.166:8000/rtthread.bin /sdcard/rtthread.bin
如配置及輸入命令正確,wget將開始從web_server下載rtthread.bin文件

下載完成!!!重啓iot-camera就可運行新程序。


可修改Makefile文件,每次編譯完成後自動將rtthread.bin複製至web_server根目錄(目錄請自行修改)


5.3.更新固件方式3:通過rboot啓動並下載rtthread.bin至TF卡並在TF卡上運行

更新固件方式2在程序正常運行後,可通過wget獲取rtthread.bin至TF卡完成更新。但如果用戶修改程序後無法正常運行wget呢?只能用方式1了吧???當然還有更便捷的方法,通過rboot啓動IoT-Camera。IoT-Camera啓動流程:

我們來試試用rboot啓動系統,更新系統吧!

1) Step1:將rboot.bin rboot.sh init.sh rtthread.bin4個文件複製至TF卡根目錄。文件下載地址爲:網盤http://pan.baidu.com/s/1pLguWt1prebuilt_demo目錄下密碼:6c33

1) Step2:按照前章描述啓動IoT-Camera並進入uboot命令行,輸入如下命令:

設置執行地址

setenv bootcmd fatload mmc 0 0xa0200000 rboot.bin\; go 0xa0200000

設置 uboot 的提示計數等待爲 1

setenv bootdelay 1

 保存設置

save

 重啓

reset

這時候就可以看到rboot已經正常工作了


rboot.sh腳本是rboot啓動提示計數器減到0後自動運行的腳本文件。在rboot.sh中可以指定下一個啓動的rt_thread固件位於哪裏。如:
加載TF卡根目錄下的rtthread.bin
boot /rtthread.bin
加載web_server服務器上的固件
boot http://192.168.31.166:8000/rtthread.bin
爲了讓rboot能上網,需要先在rboot下先進行wifi配置;輸入:wifi cfg ssid passwd。完成wifi配置後,rboot會在提示計數器時試圖關聯到本地wifi網絡中,以便執行rboot.sh腳本時,能儘快下載到更新需要的固件
本人使用的是加載TF卡根目錄下rtthread.bin這種方式,如需要更新程序直接進rboot命令行輸入:boot http://192.168.31.166:8000/rtthread.bin;這樣可提高iot-camera加載啓動速度

下載完成後,rboot會自動

6.視頻測試

在iot-camera正常啓動rt-thread系統後,可以使用help命令,或tab鍵獲得當前rt-thread支持的命令行。

具體該指令如何使用,可輸入該指令:

1.將iot-camera連入wifi。聯網操作請參照前述操作。
2.在msh命令行中輸入 mjpeg start 啓動mjpeg_server,默認端口爲80

3.啓動成功後,在瀏覽器中輸入當前iot-camera的IP地址,就可看到視頻流。

並可在msh中斷上看到client連接狀態

注: 在 PC 上請使用 Chrome 或 firefox 瀏覽器來打開視頻, IE 不支持這種方式

完整版pdf下載地址:http://download.csdn.net/detail/flyingcys/9668808

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章