当前位置: 首页 > 极客乐一乐 > 科技
  • 焦点关注
  • 最新更新
  • 最热排行

WIFI控制的遥控车

发布时间:2016-04-23 00:18:15文章来源:编辑:

第十二步:为路由器安装额外的软件

默认条件下,OpenWrt包括一些标准软件,借助它们你可以建立无线网络或者加入现有网络,不过你需要在路由器上安装一些额外的软件。下面的步骤详细介绍了摄像头所需软件的安装过程,如果你没有摄像头或不需要视频流,尽可以略过这部分。

使用SSH将软件传输至路由器,然后逐行执行下列命令,推荐使用名为PuTTY的工具。

在安装软件前,你需要从本地软件库中下载当前列表中的软件包。

opkg update #update list of available packages

对摄像头进行设置时,请参阅相关教程。

opkg install kmod-video-uvc #UVC camera driver

opkg install mjpg-streamer #stream JPEG files over an IP-based network

若要开启视频,请对/etc/config/mjpg-streamer文件进行编辑,在这里我是用的编辑工具是WinSCP。

config mjpg-streamer core

option enabled "1"   

option device "/dev/video0"    

option resolution "640x480"    

option fps "15"    

option www "/www/webcam"    

option port "8080"

如果你想打开或关掉摄像头的自动对焦,请安装uvcdynctrl。

opkg install uvcdynctrl

如果想随时获知摄像头的状态,请安装Isof。

opkg install lsof

要开启视频请重启路由器。

/etc/init.d/mjpg-streamer enable

重启路由器后你就可以使用视频功能了。

下面一行命令可以暂时关掉自动对焦功能。

uvcdynctrl --set='Focus, Auto' 0

通过lsof命令来查看摄像头状态。

lsof /dev/video0

第十三步:启动时禁用自动对焦

将下列代码保存到/etc/init.d/disableAutoFocus。

#!/bin/sh /etc/rc.common

START=99

STOP=15

start() { 

uvcdynctrl --set='Focus, Auto' 0

stop() { 

uvcdynctrl --set='Focus, Auto'

}

将文件系统权限设定为0755,你也可以通过WinSCP修改权限。

chmod 0755 /etc/init.d/disableAutoFocus

需要时可关掉自动对焦

/etc/init.d/disableAutoFocus start

激活服务自启动能

/etc/init.d/disableAutoFocus enable

第十四步:电路图

第十五步:源代码

该项目的核心代码由Lua脚本语言撰写而成,网页界面则使用了html和javascript。作者已经将所有文件整合进了一个压缩包,请点击此处下载。

Lua是一种解释性语言,对脚本进行修改也并不需要重建整个项目,它的代码在保存后就会立即执行,所以Lua在升级和维护上十分方便。如果你对Lua感兴趣,可以仔细阅读下列Lua文档。

/usr/lib/lua/gpio.lua

控制路由器上各类接口的读写工作。

/usr/lib/lua/2w_motor.lua

与gpio.lua协同工作,可控制小车上的两台直流电机。

/www/cgi-bin/control

该程序可作为浏览器和路由器之间的一个接口。

之前我们提到过,网页界面的编写使用了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的元素,开发者可以用它来制作滑块。

第十六步:软件安装(1)

实际上你并不需要费劲安装软件,只要把它们放在路由器的相关文件夹中就行,在项目中我是用WinSCP来管理文件和文件夹。

WinSCP是Windows下的SFTP/FTP/WebDAV/SCP客户端,你可以利用它在电脑和路由器间传输文档和管理文件夹。 

第十七步:软件安装(2)

若你的电脑上已经安装了WinSCP并建立了与路由器的连接,就可以解压缩下载的文档(2W_WiFi_car.zip) 到你的电脑并将其传送至路由器上相应的文件夹(如上图所示)。

第十八步:软件安装(3)

名为 /www/cgi-bin/control的文件需要执行权限,请将其权限修改为0755 (rwxr-xr-x)(如上图所示)。至于修改权限的相关步骤,你可以参考WinSCP的相关提示。

第十九步:脉宽调变(PWM)-速度控制

GL.iNet无线路由使用了一块Atheros AR9331 CPU,不过它在硬件上却不支持脉宽调变,想要实现该功能,只能通过安装相关软件来支持。

在内核升级到3.14之后,许多OpenWrt的软件如Barrier Breaker和Chaos Calmer都不再支持输入输出接口端的脉宽调变了。所以你得自行对OpenWrt的固件进行修改,以便使用脉宽调变功能。

我跟着教程试着对固件进行修改,但当我将修改好的固件上传至路由器后,它却直接变砖了,还好路由器恢复起来比较简单,真是惊出我一身冷汗。

我上手gpio-pwm-ar9331时间不短了,之前下载了先行编译版的程序并上传至我的路由器,不过安装缺总是出错,显示的错误信息如下:

Installing kmod-gpio-pwm-ar9331 (3.10.49-1) to root...Collected errors:

* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-gpio-pwm-ar9331:* kernel (= 3.10.49-1-69f3c9d824d79ff97e8c05f8219a41f3) *

* opkg_install_cmd: Cannot install package kmod-gpio-pwm-ar9331.

此后,我从源码对gpio-pwm-ar9331进行了重新编译,这次安装成功了,但它却完全无法工作。

于是我从网上找了一些软件端脉宽调频教程,经过不断地测试,我终于取得了成功,希望在使用过程中不要出现bug。

不过我的担心还是发生了,路由器上的脉宽调频还是废了,希望未来几周我能搞定这个问题。如果各位有什么高见,我洗耳恭听。

第二十步:试着操控车辆

你可以通过网络浏览器(别用万恶的IE,我推荐你们使用Chrome)或者安卓应用来控制小车。

打开浏览器并跳转到http://routerIP/car/(一般是http://192.168.8.1/car/)或者http://routerIP/car/pantilt.html(如:http://192.168.8.1/car/pantilt.html)。

在界面中点击相关按钮或使用键盘对校车进行操控。

狂点键盘上的一个键就可以让小车跑起来,松开按键小车就会停下来。

第二十一步:键盘快捷键

第二十二步:Wi-Fi遥控车完成

我的名字叫Wi-Fi遥控车,我于05年十月诞生于马来西亚。我能跑能看,身强力壮长得又帅,熟悉我之后保证你会爱上我。

 2/2   首页 上一页 1 2

小编推荐

更多

热门手游

更多

热门攻略

更多

八卦美图

更多

热门游戏

更多