您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 基于Arduino开源平台的WIFI视频监控小车
基于Arduino开源平台的WIFI视频监控小车市面上美国WowWee公司推出路威(ROVIO)机器人,一个可以通过WiFi无线局域网络控制的八方移动的机器人摄像机,支持使用者利用内部网络或者通过INTERNET来进行远程遥控。通过网络,使用台式电脑、笔记本、智能手机(PDA,SMARTPHONE),PSP和WiLi遥控手柄进行控制,具有实时控制监控、声像传递、根据设定路线(path)巡航,拍照,自动EMAIL。在这里我们可以通过价廉的路由器搭建WIFI视频监控小车。加起来成本一千多元就可以搞定一台可以自己编程玩的机器人。下面是材料清单:材料清单序号材料名称单价1A4WD小车2052ROMEO控制板30035节2300MAH电池65412V电池包1305充电器906上海贝尔RG-100A路由器557中星微301摄像头208两自由度DF15MG云台259合计:11241.A4WD是一个铝合金结构的四轮驱动小车,每个轮子都有一个电机作为驱动,马力强劲。首先根据小车附带的安装说明书装配小车车体,如图就是装好的效果。在底盘里面装了5节2300MAH的镍氢充电电池。2.接下来安装ROMEO扩展板,ROMEO扩展板是一个基于Arduino开源平台的扩展板。因为全球DIY爱好者都在使用,所以提供了丰富的例子程序。基本上想实现的功能都能够找到参考代码。Arduino封装了底层枯燥的寄存器操作,使程序开发都是基于应用的函数调用。输入输出口的定义也是非常直观。程序操作某个口,就对应硬件的某个接口。3.安装两自由度DF15MG云台及其摄像头,DF15MG云台可以上下左右180度旋转。301摄像头是一个裸板没有外壳,所以体积非常小,用一个红外开关的支架就可以装上去,还需要用热熔胶固定。这里我把摄像头的USB线减掉了很长,消除了很大的牵绊。4.最复杂也是最重要的设备来了,就是一个无线路由器。路由器需要支持OpenWrt。他是早年思科公司Linksys释放出WRT54G路由器源码后,DIY爱好者在其上面进行修改增加了很多功能。OpenWrt是基于Linux。Linux为我们提供了很多免费的软件,我们可以用一个很低的价钱购买像WRT54G的硬件,做成一个小型的Linux系统,现在OpenWrt已经提供了100多个已编译好的软件,而且数量还在不断增加,而OpenWrtSDK更简化了开发软件的工序。更多关于OpenWrt的资料可以访问OpenWrt中文:接下来我们来改造路由器。前面我购买过大亚DB120路由器,配置和现在使用的贝尔RG100A一样,我把机壳拆掉,将裸板直接装在了小车上,不幸的是,莫名其妙的就烧掉了。我觉得可能是不小心短路或者静电什么的。所以我建议还是在将必要的线引出后把塑料盖子装上。这个图是拆掉的内部主板图。配置如下:CPU:BCM6358300MhzFLASH:32M内存:16M6.将TTL电平的串口引出,线序为1》V3.3V电源输出2》G地3》T数据发送输出4》R数据接收输入在这里只需要将G,T,R三条线引出来。我使用了一个USB转TTL的设备做测试,先看看路由器是否能够正常发送数据。将线从机壳后面引出后就可以将外壳固定在小车上面了。下面是安装好的图。7.接下来的任务就是设置路由器。路由器的设置在爱果联盟介绍。首先连接网线到电脑。通过网线烧写固件openwrt-RG100A_DB120-jffs2-128k-cfe.bin这个固件支持RG100A和DB120两种使用BCM6358处理器的路由器。其他使用这个芯片的路由器你也可以试试。具体如何烧写可以看相关内容。烧写完毕重启路由器在GOOGLE浏览器输入192.168.1.1用户名:root密码:admin设置路由器,为了方便调试,把IPV4address设置成了192.168.3.1WIFI参数,设置为AP,无加密。设置一遍密码,我发现如果不设置一下,后面putty软件无法登陆。设置完后reboot。等待跳转到登陆界面说明重启成功。8.安装winscp429setup.exe软件WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。打开WinSCP如图设置登陆名密码及其文件传输协议。点击保存,然后登录。中途会有几个错误警告不用管。安装winSCP好后用这个软件将wifirobot_1.2_brcm63xx.ipk上传至路由器root下的根目录。此时打开putty.exePuTTY是自由的跨平台Telnet/SSH客户端,同时在Win32和Unix系统下模拟xterm终端。输入网址后就可以登录远程设备。此时输入用户名:root密码:admin输入命令cd/回车Ls/回车显示root目录的文件这个界面有点像DOS。此时能看到刚才拷贝进去的wifirobot_1.2_brcm63xx.ipk文件输入下面的命令执行安装程序:opkginstallwifirobot_1.2_brcm63xx.ipk正常的会看到以下的进度且不会出现错误安装完成后,请先reboot重启下路由重启之后输入命令编辑wifirobot配置文件,2.6版的需要修改两个配置文件。输入vi/etc/init.d/wifirobot编辑配置用键盘方向键移到需要编辑的地方,输入小写a进入编辑状态,用数字键盘输入19200,删除键可以删除,编辑完后,按ESC退出编辑状态,将键盘切换为大写英文,连续输入两个大写Z即可保存退出!#!/bin/sh/etc/rc.commonSTART=80SSD=start-stop-daemonNAME=wifirobot#video_mod=gspca_zc3xxvideo_mod=gspca_ov519(这两个是摄像头驱动,有#的就是被屏蔽的,如果大家手上的301摄像头有花屏现象,可以屏蔽另外一个换个驱动试试)ser_name=/dev/ttyS0(路由TTL口设置,一般都是ttyS0)ser_speed=19200(TTL波特率设置,要改成19200才能连接ROMEO板)video_name=/dev/video0start(){killallmjpg_streamer/dev/null2&1|sleep1/usr/bin/stty-F$ser_namespeed$ser_speedraw-echo/dev/null2&1echoSettheserialspeedto&&/usr/bin/stty-F$ser_namespeed$serrmmod$video_mod/dev/null2&1&&sleep2insmod$video_mod/dev/null2&1&&sleep5#ln-s/dev/v4l/video0$video_name/usr/bin/mjpg_streamer-b-iinput_uvc.so--device$video_name--fps10/usr/sbin/lighttpd-f/etc/lighttpd/lighttpd.conf/dev/null2&1echoWifiRobot1.2started!ESC两个大写ZZ保存退出,在继续修改第二个配置文件输入vi/web/app_car.php编辑第二个配置文件root@OpenWrt:/#vi/web/app_car.php?phpinclude'lib.php';define('TTS_NAME','/dev/ttyS0');将这个的也修改成ttyS0$db_file='data.car';$DB=array_load($db_file);//print_r($_REQUEST);//exit;//$_REQUEST['cmd'];//$_REQUEST['name'];//$_REQUEST['I'];//sleep(10);functionsend_car($code){send2ser(TTS_NAME,$code);for($x=0;$x=1000;$x++){}returntrue;}if($_REQUEST['cmd']=='is_read'){//............send2ser(TTS_NAME,IR_RD);$tmp=read4ser(TTS_NAME);$ir_data=$tmp[data];-/web/app_car.php1/2830%ESC两个大写ZZ保存退出;输入cd/在输入ln-s/etc/init.d/wifirobot/etc/rc.d/S70wifirobot这样启动快捷就放到init.d里面,wifirobot程序会随路由自动启动。9.用winSCP进到路由器,root/etc/config目录下,可以看到network和wireless这些网络配置文件,我们再次配置网络network部分:config'interface''loopback'option'ifname''lo'option'proto''static'option'ipaddr''127.0.0.1'option'netmask''255.0.0.0'config'interface''lan'option'type''bridge'option'ifname''eth1'option'proto''static'option'netmask''255.255.255.0'option'nat''1'option'ipaddr''192.168.3.1'(本级路由IP,自行修改)option'gateway''192.168.3.1'(本级路由网关,自行修改)option'dns''210.21.4.130'(外网DNS,根据当地情况自行修改)config'interface''wan'option'_ifname''radio0'(这里要把eth?改成radio0)option'ifname'''option'proto''static'option'ipaddr''192.168.1.20'(本级路由WAN口的IP,这时候WAN口就是WIFI无线的,自行修改)option'netmask''255.255.255.0'option'gateway''192.168.1.1'(上级路由网关,,自行修改)option'dns''210.21.4.130'(外网DNS,根据当地情况自行修改)wireless部分config'wifi-device''radio0'option'type''mac80211'option'macaddr''00:1e:40:31:28:82'(本级路由WLAN口的MAC地址,每个路由都是不同的,不要直接套用我的,自行修改)option'hwmode''11g'option'disabled''0'option'channel''8'(要保持和上级路由一样的信号道,自行修改)config'wifi-iface'option'device''radio0'option'encryption''none'(要和上级路由填写一样的WIFI密码)option'ssid''(上级路由的SSID,自行修改)option'network''wan'(这里是wan口)option'mode''sta'reboot重启路由此时电脑无线网卡重新搜索一个叫做OpenWrt无线节点,连接上。使用GOOGLE浏览器输入下面地址即可进入界面。小车WEB控制界面地址视频地址=stream可以登录这个地址进行进行控制,不知何故使用IE是不能登陆的,使用GOOGLE的浏览器登录没有问题。登录后添加一个视频然后把地址改成上面
本文标题:基于Arduino开源平台的WIFI视频监控小车
链接地址:https://www.777doc.com/doc-5462625 .html