IoT-Camera学习笔记之初识IoT-Camera(二)

来源:互联网 发布:淘宝供销 编辑:程序博客网 时间:2024/06/06 12:57

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/1pLguWt1的prebuilt_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

0 0