小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 380294|回复: 491

【机器人创意工作室教程六】外网远程控制WIFI智能小车机器人(wifi模块作为客户端接入)

  [复制链接]
发表于 2012-7-15 23:31:57 | 显示全部楼层 |阅读模式
前面那么多的教程都是关于如何制作一台WIFI智能小车机器人,那么真正的运用到实际上,我们可以利用这个小机器人做什么呢?相信大家都会想到这一点:远程安防监控与控制!
好的,本期教程专门介绍如何让我们的机器人与互联网相连,然后可以在全球范围内控制它。本教程使用的WIFI板/路由器为WR703N,DB120的路由外网控制设置其实sunxiaofei网友已经发布过一个教程,大家可以到论坛置顶帖里找。

一、基本原理
      外网控制的基本原理就是“端口映射”+“动态域名”。什么叫端口映射呢?简单地说,就是在你家里的无线路由器上做一个设置,使得外网对于路由器上一个特定的端口的访问会被路由器重新转到一个指定的IP主机和端口,这样一来,家里的无线路由器就等于是一个“桥”,联通了外网和小车机器人上面的路由,使得我们可以在外网控制家里的机器人。
外网远程图解.jpg
      那么“动态域名”又是什么呢?大家可以想想:我们家里的路由器每次开机后,对外的IP地址都是不同的,那么控制小车就需要每次通过查询路由对外的IP地址,然后重新设置控制端的IP,这是个很麻烦的事。“动态域名”就可以完美地解决这个问题,你先向动态域名提供商申请一个动态域名,这个域名是不变的,比如:www.liuviking.com,提供商会给你一个账号密码,把这个账号密码填入路由的动态域名功能里面,每次开机的时候,路由就会向域名提供商的服务器登录,服务器就可以获取本次登录时,路由对外网的地址,然后自动帮你把这个新IP绑定在www.liuviking.com这个域名上面,这样一来,我们就没必要每次都去找路由当前的IP了,直接输这个域名就可以连到我们的路由。
      我们今天要做的也就是利用上面的原理完成外网到家里的无线路由器,再到机器人上面的WIFI板这一过程。

二、外网映射设置

       1、家庭路由器设置。
        首先需要一个家用的路由器,可以上外网的,这个路由器就是作为沟通小车与外界的桥梁。在这里,我们有一台家庭路由器可以正常访问外网,其名称为“xiao-R/409”。
         第一步:设置转发规则
         如下图所示,登陆家庭路由器的192.168.2.1管理界面,找到转发规则——》虚拟服务器
         在这里,因为我们的WIFI机器人运行需要开两个端口,端口8080为视频端口,端口2001为控制端口,所以我们添加两个端口转发规则,这边我使用192.168.2.107作为转发的目标客户端,这就是我们的WIFI板IP地址。这个IP可以自己定的,但是必须为固定的。并且在家庭路由器的DHCP范围内。
         通过这个设置,来自外网的对8080端口和2001端口的访问将重新发送到192.168.2.107这个IP的客户端上,也就是我们的WIFI板。
上级路由端口转发.jpg

         第二步:设置静态地址分配
          如下图,这一步中的MAC地址即为WIFI板的MAC地址,WIFI板MAC地址可以在其管理页面里面找到。IP地址固定为192.168.2.107,与上一步一样。
静态地址分配.jpg

好的,家庭路由器这一端的设置就告一段落了。

2、WiFi板的设置备注:我这里用中文版的界面,如果是英文的界面,可以按照这个教程来设置语言为中文:http://www.wifi-robots.com/thread-7995-1-1.html
第一步:用电脑的无线连接WiFi模块信号
链接WIFI模块.jpg
第二步:打开浏览器,访问192.168.1.1 WiFi模块的系统配置界面,默认的密码为admin
进入模块管理界面.jpg
第三步:到模块的“网络”-“无线”选项,点击右侧的“扫描”按钮,模块将自动扫描周边的路由器信号,等几秒钟。
无线界面.jpg
第四步:在无线列表中找到我们要连入的家庭路由器名称“xiao-R/409”,点击右侧的“加入网络”按钮。
扫描路由列表.jpg
第五步:浏览器将弹出输入密码界面,如下图,在WPA密钥选项中,填入“xiao-R/409”这台家庭路由器的上网密码,然后点击右下角“提交”按钮。
输入密码界面.jpg
第六步:浏览器弹出无线参数确认界面,无需做任何修改,直接右下角“保存&应用”,让系统设置生效。
无线参数确认.jpg
此时,WiFi模块已经切换到Client(客户端)模式,并连入了家庭路由器“xiao-R/409”的无线网络了,这时候,你已经搜不到WiFi模块的无线信号了,因为在Client模式下WiFi模块是不会发射信号的。
这时候,你用电脑的CMD窗口去ping WiFi模块的IP,可以看到已经可ping通了,说明WiFi模块已经和电脑处于同一个局域网中,模块已经连入局域网。
pingWIFI模块.jpg

接下去的操作,我们用有线网线来完成。
用有线网线连接WiFi模块和电脑网口,同样用浏览器访问192.168.1.1,然后打开“无线”界面,可以看到已连接的站点中有“xiao-R/409”这一项,在“接口”页面中,可以看到WWAN这个接口,同时这个接口获取到了“xiao-R/409”这个路由分配的IP为192.168.2.107,这个IP视你的家庭路由器DHCP范围而定,我的是192.168.2.X段的,如果你的家庭路由是192.168.1.X段的DHCP池,那么分配到的IP应该是192.168.1.X。
无线页面中已连接站点.jpg
接口选项.jpg
如果你的LAN接口的IP地址和WWAN的IP地址是一个段的话,需要点击LAN接口右侧的“修改”按钮,把IP换为和WWAN不同的段,比如WWAN是192.168.1.3,那么LAN的IP要改为192.168.2.1或者192.168.3.1等等,修改完WiFi模块的LAN地址后,如果再需要访问WiFi模块的管理界面,就不再是原来的192.168.1.1了,而是你修改后的IP地址,如下图:
修改LAN地址.jpg

在本案例中,因为我们的家庭路由是192.168.2.X网段,所以分配给我们的WiFi模块IP是192.168.2.107,而我们的WiFi模块LAN地址为192.168.1.1,不在同一个网段,所以直接进行下一步操作。

第七步:关闭WiFi模块的防火墙,如下图,所有“拒绝”的都改为“接受”,然后点右下角"保存&生效"。
防火墙设置.jpg


好了,通过以上的配置,你现在可以拔掉网线,打开电脑的无线,连上家庭路由器,然后打开火狐浏览器,在地址栏输入“WiFi模块在家庭路由器中的IP:8080/?action=stream”,来尝试在局域网中能否访问到WiFi模块的视频。
如本例所示,我们的WiFi模块拿到的IP是192.168.1.107,所以我们在火狐浏览器中输入“192.168.1.107:8080/?action=stream”,可以看到浏览器中出现了WiFi模块上的摄像头拍摄的视频,证明局域网内视频传输已经OK。
访问客户端视频.jpg

现在,我们来尝试远程查看视频,登陆www.ip.cn网站,或者,登陆家庭路由器的路由状态页面,可以看到当前路由器对外网的IP地址,把这个地址替换掉我们原来看机器人摄像头视频的地址,比如,假设现在路由器对外网的IP是202.119.23.122,那么把http://202.119.23.122:8080/?action=stream这个地址发送给你在外网的朋友,让他用火狐浏览器打开,如果一切正常,他看到的页面里面有一个视频窗口,显示着当前摄像头的实时视频,和我们直连WIFI小车的方式所见到的是一样的效果。
OK,到这一步,就意味着外网映射控制智能小车机器人设置成功了。那么如果使用工作室开发的PC版、手机版上位机如何查看视频和控制呢?操作如下:

打开控制端的“设置”界面,在视频地址项里,填入视频地址:http://你的当前路由外网IP地址:8080/?action=stream     控制地址项:你的当前路由外网IP地址  控制端口:2001
这样就行了。
目前经过几位外地网友的测试,发现视频传输速度还是很不错的,基本能达到7fps,没有很明显的卡屏现象。


二、动态域名设置
如果不嫌麻烦,那么如上的设置就可以做到在全世界任何有互联网的地方控制家里的智能小车机器人了,当然,只要你家里的路由器不要关,这个IP是可以一直保持的,但是难免会关闭的情况,每关闭一次就得重新查询当前路由的外网IP,这多麻烦!
为了解决这个问题,可以去花生壳动态域名服务商或者3322域名服务商申请一个动态域名,同时他们会提供一个账号密码,以花生壳为例,在家庭路由器的动态DNS选项中,填入账号密码,如下图:
DDNS.png

保存后,每次重新开家庭路由,你都可以不用关心目前对外网IP多少了,因为已经绑定在了你的动态域名上了,你只需要把我们控制端的设置里面把IP部分替换成你的动态域名即可!(注:V1.25版本上位机控制端已经支持动态域名,控制地址处可以直接填入域名。)
备注:由于国内很多地区的网络运营商把端口做了屏蔽,或者启用内网IP,这种情况下是无法远程视频或者控制的,所以端口转发方式进行控制的教程需要因地制宜,不能确保百分百成功。








点评

不错 希望讲解更加详细  发表于 2015-6-7 21:34
很不错  发表于 2013-1-30 15:08

评分

参与人数 26金钱 +50 收起 理由
杨森2 + 1 想问一下那个用手机流量为啥不能进入路由器.
苦难辉煌 + 3 膜拜大神!
黄俊涛 + 2 很给力!
lamborghini889 + 3 很给力!
cancan2013 + 3 膜拜大神!
唐筱秋 + 1 很给力!
lzjtu + 3 很给力!
郭的快乐 + 1 很给力!
pyzch + 2 很给力!
这下死机了 + 2 赞一个!
p0oiuy6 + 3 很给力!
gggicfyygy + 3 很给力!
shrakin + 1 很给力!
耗子 + 1 很给力!
quyang1992 + 1 很给力!
fan1kui + 1 很给力!
娜样美灏 + 2 赞一个!
Chujie + 1 很给力!
653949915 + 1 很给力!
l1hx + 1 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-5-10 23:15:24 | 显示全部楼层
不够坚定的步伐 发表于 2014-5-10 15:18
请问楼主,有没有办法把远程登录的网页加密,否则只要别人知道了域名地址,就可以控制车子了,安全性不够

可以加密码。
修改/etc/init.d/mjpg-streamer文件
start函数里面,增加:
        config_get username core username
        config_get password core password
回复 支持 2 反对 0

使用道具 举报

发表于 2012-7-15 23:36:35 | 显示全部楼层
支持支持,等我看看怎么能稳定的让703n做无线中继,那就更容易了
回复 支持 反对

使用道具 举报

发表于 2012-7-16 00:26:29 | 显示全部楼层
这种方案适合校园局域网用户么?我家里的网络是校园局域网,用的是固定ip地址:192.168.11.52,能直接用这个方案么?
回复 支持 反对

使用道具 举报

发表于 2012-7-16 08:00:59 | 显示全部楼层
本帖最后由 泰州搜宝 于 2012-7-16 08:06 编辑

这个不错,我们单位是固定iP的,这样有机会在家里控制单位里面的下位机了。呵呵!

驱动板上看到5个舵机接口,用鼠标控制云台是接到哪个位置?
还有就是如果实现2个以上的舵机一起关联动作?
例如:
1、同时将1号舵机转90度,2号舵机转45度,3号舵机转90度。
2、或者是2号舵机转45度,然后将1号、3号舵机同时转90度。
回复 支持 反对

使用道具 举报

发表于 2012-7-16 08:57:33 | 显示全部楼层
好东东,,,,,,
回复 支持 反对

使用道具 举报

发表于 2012-7-16 09:39:36 | 显示全部楼层
尽快学习一下:)
回复 支持 反对

使用道具 举报

发表于 2012-7-16 11:02:24 | 显示全部楼层
威武!!
回复 支持 反对

使用道具 举报

发表于 2012-7-16 17:57:40 | 显示全部楼层
太好了,虽然不太懂,慢慢学吧.....
回复 支持 反对

使用道具 举报

发表于 2012-7-16 19:42:21 | 显示全部楼层
学无止境!加油!!!!!!!:)
回复 支持 反对

使用道具 举报

发表于 2012-7-16 20:00:34 | 显示全部楼层
家里的路由不连接外网可以么?直接分配WAN口IP么?小车连接家里路由然后再用手机连接家里路由可以控制么?:)

点评

现在有P2P技术,可以直接穿透路由器不用设置转发规则了。  发表于 2013-5-26 09:06

评分

参与人数 1金钱 +2 收起 理由
小蝌蚪 + 2 太好了 尽快学习一下

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-4-19 16:38 , Processed in 1.092832 second(s), 29 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

快速回复 返回顶部 返回列表