【原创】tiny6410远程动态图像监测
这段时间在学校有空闲时间,一直想着利用tiny6410开发板练练手,前几天做了通过Web远程浏览并控制Mini6410上的摄像头,中间遇到了一些问题,最后都解决了(除了不影响功能的问题),能够顺利执行。
昨天在网上看到有人做的移动图像监测系统,自己参考资料也动手试了一下,过程中遇到了下面的问题,到现在也都解决了。
问题:
1. 用交叉编译器移植curl到tiny6410,由于curl依赖于openssl,所以就先移植openssl,刚开始openssl可以交叉编译通过,但是curl在交叉编译过程中老是出现错误导致编译终止,到今天上午才编译通过。
问题原因:我的虚拟机中的Ubuntu在不使用的时候都是挂起,这样打开和关闭虚拟机很方便,但是却造成了交叉编译的失败,突然我就想把虚拟机Ubuntu重启一下,结果出人意料的交叉编译成功了。编译成功之前我一直以为是配置文件有问题,就不断地修改尝试,但一直编译印因不明错误终止,实在是没想到是编译环境除了问题。所以,以后再遇到问题时,要尝试多种解决方法,包括注销和重启。
2.开发板无法上外网。因为在学校里面上网每人一个账号,大家用的是交换机,所以,尝试了多次,开发板也无法打开登录账号的页面,所以网络不通,一切都是白干。
解决办法:情急之下找人借了一个无线路由器(有线无线都可以),设置好路由之后,插上网线,可以ping通外网,到此为止就算成功一大步了。
实现步骤(本文所有操作均在root权限下进行):
一. 下载并安装交叉编译链
下载友善之臂开发的arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz交叉编译工具包,安装交叉编译环境。
安装方法(此方法由友善之臂提供):
Step 1:
复制到Ubuntu某个目录下,如/tmp/ ,然后进入到该目录,执行以下命令:
#cd /tmp
#tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz –C /
注意:C 后面有个空格,并且C 是大写的,它是英文单词“Change ”的第一个字母,在此是改变目录的意思。
执行该命令,将把arm-linux-gcc 安装到/opt/FriendlyARM/toolschain/4.5.1 目录。
Step 2:
把编译器路径加入系统环境变量,运行命令
#vim /root/.bashrc
编辑/root/.bashrc 文件,注意“bashrc ”前面有一个“. ”,修改最后一行为 exportPATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin ,注意路径一定要写对,否则将不会有效。然后保存退出。
Step 3:
注销然后重新登录系统(重启机器也可以) ,使以上设置生效,在命令行输入
arm-linux-gcc –v ,出现版本信息,这说明交叉编译环境已经成功安装。
二. 下载和移植curl到tiny6410(curl依赖于openssl)
下载和移植openssl(点击源码下载连接)和curl(点击源码下载连接)(下载最新的发行版就行)。我是在Ubuntu下用交叉编译链将curl移植到tiny6410的。这里说明一下," 在Ubuntu下用交叉编译链将curl移植到tiny6410 ” 这句话对一个新手来说可能会误解,其实这里说的“...移植到...”的意思是首先在宿主机(我用的是Ubuntu)配置无误的情况下,用安装好的交叉编译链编译curl,交叉编译成功后会生成一个名为 curl 的文件(在生成目录中可以找到),然后采用一种方法将curl文件拷贝到tiny6410上(SD卡和ftp都可以)。
下载完成后,开始移植。说明:curl依赖于openssl,所以要首先移植openssl。
移植步骤(点击打开步骤参考链接):
Step 1: 移植openssl
建立shell文件,如openssl_sh.sh,输入以下内容并保存。
修改权限,chmod +x openssl_sh.sh ,然后执行即可,大概需要执行几分钟时间,不要着急。#!/bin/sh export LD_LIBARY_PATH=/opt/FriendlyARM/toolschain/4.5.1/lib/ export CPPFLAGS=-I/opt/FriendlyARM/toolschain/4.5.1/include/ export LDFLAGS=-L/opt/FriendlyARM/toolschain/4.5.1/lib/ export CC=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc cd openssl-1.0.0l ./config no-asm --prefix=/home/share/tool/tiny6410/openssl os/compiler:/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc make make install
Step 2:移植curl
建立shell文件,如curl_sh.sh,输入以下内容并保存。
#!/bin/sh export LD_LIBARY_PATH=/opt/FriendlyARM/toolschain/4.5.1/lib/ export CPPFLAGS=-I/opt/FriendlyARM/toolschain/4.5.1/include/ export LDFLAGS=-L/opt/FriendlyARM/toolschain/4.5.1/lib/ export CC=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc cd curl-7.35.0 ./configure --host=i686 --target=arm-linux --prefix=/home/share/tool/tiny6410/curl --with-ssl=/home/share/tool/tiny6410/openssl --with-random=/dev/urandom make make install
修改权限,chmod +x openssl_sh.sh ,然后执行即可,大概需要执行多几分钟时间,仍然不要着急。
三. 建立yeelink环境
1、去yeelink官网注册用户、添加设备、添加传感器。详情见官网http://www.yeelink.net/,
获取图像URL: http://api.yeelink.net/v1.0/device/9387/sensor/14783/photos,由上可知,我建立传感器的设备号为9387,传感器号为14783。
获取API KEY:这个可以去自己的账户中查看到。
图像URL和API KEY在步骤五中会用到。
(步骤四、五参考链接,点击打开)
四. 移植motion到tiny6410(motion 是一套免费开源的移动图像监测程序)
五. 建立执行脚本文件,添加定时运行crontab服务
其他说明:
在tiny6410下用crontab -e建立文件时,需要先建立目录/var/spool/cron/crontabs,因为系统本身本没有此目录,所以直接运行crontab -e会提示没有文件或目录的错误。另外,crontab -e的使用方法和vi的使用方法类似。
( 转 载 请 注 明 )