smching 发表于 2015-11-14 18:11:10

无需外加微控制器的无线路由器WiFi遥控小车

本帖最后由 smching 于 2015-11-15 23:05 编辑

http://ediy.com.my/images/2015/Wi-Fi_controlled_Remote_Control_Car_without_microcontroller/Wi-Fi_controlled_Remote_Control_Car_without_microcontroller.jpg
这是一个具有摄像功能的Wi-Fi无线遥控小车,设计独特,它使用了一个无线路由器,无需外加微控制器(如pic, Arduino等)亦可以通过电机驱动器进行遥控小车。

先放一个视频
http://v.youku.com/v_show/id_XMT ... ttime=0&from=y1.4-2
http://v.youku.com/v_show/id_XMTM4NDc1Nzk5Mg==.html?firsttime=0&from=y1.4-2

材料

[*]OpenWrt的兼容路由器,如GL.iNet 6416。
[*]USB UVC兼容的网络摄像头,我使用支持自动对焦的Microsft LifeCam HD-5000
[*]4×3.7V 可充电锂离子电池(内置保护电路)
[*]DIY智能机器人车底盘套件
[*]L298N 电机驱动器模块
[*]DC-DC转换器
[*]母对母彩色杜邦线
[*]公对母彩色杜邦线
[*]47ohms电阻和白色LED
[*]螺母和螺栓
http://ediy.com.my/images/2015/Wi-Fi_controlled_Remote_Control_Car_without_microcontroller/Materials.jpg

框架原理图
如图所示,所有指令都是由一个无线路由器来完成,摄像头经由USB连接到无线路由器来实现视频流,路由器的GPIO输出直接与电机驱动器通信从而控制两个电机。
http://ediy.com.my/images/2015/Wi-Fi_controlled_Remote_Control_Car_without_microcontroller/Wi-Fi_car_block_diagram.jpg


源代码核心代码是使用Lua脚本语言编写,而Web界面则是用HTML和JavaScript。所有文件压缩成一个zip文件,请从这里下载之。Lua是一个小巧的解释型语言,其代码不需编译就可以直接运行,因此更容易更新和维护。
[*]/usr/lib/lua/gpio.lua
GPIO读与写功能,这里有更多关于GPIO的信息
[*]/usr/lib/lua/2w_motor.lua
与gpio.lua配合,以便控制两个直流电机,这里有更多关于2w_motor.lua2w_motor.lua的信息
[*]/www/cgi-bin/control
如上所述,Web界面是使用HTML和JavaScript编写。如果想要开发自己的界面,请阅读以下文件。
[*]/www/car/index.html
主程序,调用外部js和css文件并执行onclick点击事件
[*]/www/car/pantilt.html
另一个主程序,更大的视窗显示视频
[*]/www/car/car.css
布局选项,如设定图像位置,颜色和字体
[*]/www/car/car.js
JavaScript函数
[*]/www/images
用于显示在屏幕的图像,都保存在此文件夹
[*]/www/codebase
实现滑块的JavaScript组件(dhtmlxSlider)

软件安装该软件不需安装,确保各自的文件都传送到正确的位置。建议使用WinSCP来处理。WinSCP是一个运行于Microsoft Windows的SFTP/FTP/WebDAV/SCP客户端,用于计算机与路由器之间传输文件和管理。
假设你已经在计算机安装了WinSCP,且运行及登录了路由器。接下来下载源代码及解压之(2W_WiFi_car.zip)到计算机,最后将各文件传送到路由器,如图所示:
http://ediy.com.my/images/2015/Wi-Fi_controlled_Remote_Control_Car_without_microcontroller/Files_and_folders_tree_view.jpg

遥控小车你可以打开一个网页来遥控小车,别使用IE浏览器,建议使用谷歌浏览器。
[*]在浏览器的地址栏键入http://192.168.8.1/car/(使用你的IP)或http//192.168.8.1/car/pantilt.html
http://ediy.com.my/images/2015/Wi-Fi_controlled_Remote_Control_Car_without_microcontroller/Web_interface.jpg


键盘快捷键
KeyboardFunctionCommand
8 or Up arrowMove forwardrouterIP/cgi-bin/control?RUN=8
2 or Down ArrowMove backwardrouterIP/cgi-bin/control?RUN=2
4 or Left ArrowMove leftrouterIP/cgi-bin/control?RUN=4
6 or Right ArrowMove rightrouterIP/cgi-bin/control?RUN=6
5 or SpaceStoprouterIP/cgi-bin/control?RUN=5
7Enable/Disable webcamrouterIP/cgi-bin/control?CAM
9Headlight ON/OFF (use GPIO20)routerIP/cgi-bin/control?LED=20
1Horn (not implemented)routerIP/cgi-bin/control?SPK
3Enable/Disable mic input (not implemented)routerIP/cgi-bin/control?MIC
QSpeed 1 (lowest speed)routerIP/cgi-bin/control?SPD=40
WSpeed 2 (low speed)routerIP/cgi-bin/control?RUN=60
ESpeed 3 (high speed)routerIP/cgi-bin/control?RUN=80
RSpeed 4 (full speed)routerIP/cgi-bin/control?RUN=100

我是Wi-Fi遥控小车我的名字叫Wi-Fi遥控小车,出生于马来西亚。我能看,我能跑,我爱玩,我强壮,我很帅。请你试着了解我,我敢肯定你将会爱上我。
詳細资料请浏览遥控小车网页
http://ediy.com.my/images/2015/Wi-Fi_controlled_Remote_Control_Car_without_microcontroller/Wi-Fi_car_1.jpg

164335413 发表于 2015-11-16 09:28:45

mjpg启动了,摄像头驱动也装上了,为什么从浏览器无法访问mjpg

smching 发表于 2015-11-16 15:08:52

164335413 发表于 2015-11-16 09:28 static/image/common/back.gif
mjpg启动了,摄像头驱动也装上了,为什么从浏览器无法访问mjpg

你是使用什么路由器?浏览器显示什么?请使用 Google Chrome浏览器

164335413 发表于 2015-11-18 08:56:31

火狐。估计摄像头驱动还是有问题。

smching 发表于 2015-11-19 20:59:30

164335413 发表于 2015-11-18 08:56 static/image/common/back.gif
火狐。估计摄像头驱动还是有问题。

必须安装以下驱动:
opkg install kmod-video-uvc
opkg install mjpg-streamer

重新启动路由器后,运行下面指令
/etc/init.d/mjpg-streamer start
如果你的webcam前上方有led的话,它将会接通。

另外可以展示你的/etc/config/mjpg-streamer文件内容吗?

假设你的路由器IP是http://192.168.8.1
在浏览器的地址栏键入http://192.168.8.1:8080/?action=stream
你看到什么?

164335413 发表于 2015-11-24 08:52:47

ok摄像头已经挂载成功了,现在差写一些其他的驱动了。
页: [1]
查看完整版本: 无需外加微控制器的无线路由器WiFi遥控小车