【原创】tiny6410远程动态图像监测

来源:互联网 发布:恶魔高达jr数据 编辑:程序博客网 时间:2024/05/03 06:01

 

【原创】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 ”前面有一个“. ”,修改最后一行为 export 

PATH=$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,输入以下内容并保存。

#!/bin/shexport 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-gcccd openssl-1.0.0l./config no-asm --prefix=/home/share/tool/tiny6410/openssl os/compiler:/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gccmakemake install
修改权限,chmod +x openssl_sh.sh  ,然后执行即可,大概需要执行几分钟时间,不要着急。

Step 2:移植curl

建立shell文件,如curl_sh.sh,输入以下内容并保存。

#!/bin/shexport 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-gcccd 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/urandommakemake 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的使用方法类似。


( 转     载     请     注     明 )




0 0
原创粉丝点击