您的位置:首页 > 新闻频道 > 国内新闻 > 社会民生>正文

酷!DIY wifi把持的遥控车

时间:2017-10-09 19:52:10    来源:淘宝货源网    浏览次数:    我来说两句() 字号:TT

原题目:酷!DIY wifi控制的遥控车

广告本文转自:极客迷

今天的作品(来自Instructables)是一台搭载了相机,并可由WiFi掌握的遥控车,你可以通过互联网驾驶它。这台遥控车比拟特殊,由于它的“遥控器”是无线路由器,而不是咱们熟习的手柄。好吧,言归正转,随着我一起熟悉下制造步骤吧。

第一步:设定

这是一台两轮驱动的遥控车

前轮是该车的转向轮

该车的两个后轮和电机位于车体后部

第二步:需要筹备的原资料

兼容OpenWrt的路由器,如GL.iNet 6416

支持USB Video Class的摄像头,我使用的是带有自动对焦功能的微软 LifeCam HD5000

4块3.7伏的锂离子电池(必定要买有内置保护电路的)

兼容Arduino体系的DIY智能小车Chassis Kit 2 WD

L298N电机驱动节制器开发板

多功能DIY直流对直流转换器

FTF杜邦跨接电线

MTF杜邦跨接电线(20厘米)

阻抗为47欧姆的白光LED。

螺母和螺栓,惊呆惹!真懊悔十一没去这些处所浪

第三步:原理图

如上图所示,无线路由器起到了中枢的作用,它可以控制所有部分。网络摄像头通过支持流媒体视频的USB接口连接到无线路由器,电机控制板则直接通过通用输入输出接口(GPIO)与路由器相连,这样,即便没有了遥控器,我们也可控制小车。

第四步:无线路由器

在这个项目中我采用了GL.iNet 6416A无线路由器,因为它体积十分玲珑(三维只有58*58*22毫米),其机身上的五个接口使用起来也十分方便。

如果存储空间能过关,其余支持Openwrt的路由器也能胜任该项工作,你可以在OpenWrt的官网上找到支持该尺度的路由器名单。

多数路由器的接口数目都稍显不足,无法满意控制电机的需求。你可以在路由器上使用相似LED pin的其他引脚,不过你要卸掉LED的接口模块或者手动控制LED。

第五步:网络摄像头

我手头上就有一台微软HD5000摄像头,它可以录制720p的视频。不过摄像头的自动对焦弄得我烦烦的,小车上这功能没什么意思,所以罗唆直接关掉这一功能了事。不过摄像头还是要找个支持UVC的。

第六步:电机控制板

电机对电流的需要比路由器供给的要高的多,如果你操控电机时不使用H桥,就有可能会对路由器造成侵害。我在该项目中使用L298N电机驱动控制开发板就是为了控制两台直流电机的速度和方向。

在实验进程中我发现,输入电压和L298的输出电压之间有一个约为1.5伏的电压降。

第七步:多功效DIY直流对直流转换器(可自动降压升压)

这是一台可自动降压升压的转换器,它存在输出电压调幅功能,可以让输出电压高于或低于输入电压。

与线性调节器比拟,直流对直流转换器的上风在于其转化效力,该效率可达95%以上,因而它的能耗绝对来说要低得多。为此我还做了一个简略的试验,我将该模块的输出电压改为5伏,而输入电压则在2伏到24伏间调节,但无论输入电压如何(除非输入低于2.6伏),输出电压都稳固的坚持在5伏。

第八步:智能小车Chassis Kit

Chassis Kit由丙烯材料制作而成,其尺寸为19.8 x 14.0 x 6.5厘米,比我设想中要小巧许多。装配过程可不简单,我搜索枯肠才把各个整机、模块和设备的位置搞明白。

套件包含两台减速电机,两个塑料轮子,一个能包容4块AA电池的电池夹,此外还有两个高速编码器,不过在这个项目中我们用不到它俩。

据 Gearbest.com上的数据显示,电机的输入电压为3伏到12伏,下面多少点是我在网上找到的其他相关信息,Science:重磅!CRISPR Cas9为寻找靶DNA序列的机动性付出时光代

倡议工作电压为6到8伏

电压为3V时,其最大扭矩可达800gf cm(约为78牛米)

空载速度可达1:48

负载电流为70毫安(最大250毫安)

这玩意相称有趣,那两个减速电机体积很小,但机能强劲,甚至可以推进一把塑料椅。

第九步:电池和电压问题

在整个项目中,我使用了4节3.7伏的18650锂离子充电电池,其中两块串联,另外两块则采取并联的方法,这样电压就晋升到了7.4伏。若使用或充电方式不当,有可能会引发电池爆炸或火灾,所以我推荐大家购置内置维护电路的电池。

因为电机的输入电压可变,所以遥控车须要两种不同的电压,5伏来支撑无线路由器,其它的则供应给电机。

在组装遥控车前,我订购了双USB降压调压器模块和直流对直流转换器(可自动升压降压)。前者通过USB线为无线路由器和网络摄像头提供稳定的5伏电压,后者则会在输出之前将电压调剂到电机所需的大小。

在测试过程中,我发现电机的输入电压不能超过5伏,要不然遥控车会速渡过快,或者因为电路掩护而直接停掉。

基于这一测试成果,双USB降压调压器模块就被我弃用了,而直流对直流转换器则被我留了下来,它可以将输出电压稳定在4.5伏左右。这样一来,路由器和摄像头电压就变为4.5伏,两台电机则只有3伏的输入电压了。

第十步:OpenWrt??路由器的Linux

GL.iNet无线路由器出厂就自带OpenWrt Barrier Braker软件,它领有全新设计的易用网页界面,你可以在这里对路由器进行设置。请跳转到http://192.168.8.1并登录你的网络账号。

此外你还可以点击高等选项(或者翻开http://192.168.8.1/cgibin/luci)来进入传统的Luci网络界面对路由器进行设置。

在测试中我发明,假如不登陆到路由器,视频流就无奈畸形工作,为此我不得不从OpenWrt的网站高低载相干文件并将其传递至路由器。

如果你的路由器上还没安装OpenWrt的固件,请参阅相关教程并对你的固件进行升级。

第十一步:网络连接

安装相关软件时路由器需要网络连接,所以你得先对路由器进行设置,详细步骤点这里,学习一番之后你就能为路由器设置好网络了。此外,你还可认为路由器创立一个新的SSID,这样你的各类装备都能连上互联网了。

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

默认前提下,OpenWrt包含一些标准软件,借助它们你可以建破无线网络或者参加现有网络,不过你需要在路由器上安装一些额外的软件。下面的步骤具体先容了摄像头所需软件的安装过程,如果你没有摄像头或不需要视频流,尽可以略过这部分。

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

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

opkg update #update list of available packages

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

opkg install kmodvideouvc #UVC camera driver

opkg install mjpgstreamer #stream JPEG files over an IPbased network

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

config mjpgstreamer 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/mjpgstreamer 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跟java。作者已经将所有文件整合进了一个紧缩包,请点击此处下载。

Lua是一种说明性语言,对脚本进行修正也并不需要重建全部项目,它的代码在保留后就会即时履行,所以Lua在进级和保护上非常便利。如果你对Lua感兴致,可以细心浏览下列Lua文档。

/usr/lib/lua/gpio.lua

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

/usr/lib/lua/2w_motor.lua

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

/www/cgibin/control

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

之前我们提到过,网页界面的编写使用了html和java。如果你想开发本人的界面,可以参考下列文档。

/www/car/index.html

主程序,可加载外部js & css文件并实现图像的onClick事件。

/www/car/pantilt.html

主程序,可带来更大的视频辨别率。

/www/car/car.css

控制选项布局,如图片地位,色彩和字体等。

/www/car/car.js

该文档包含有一部门java函数。

/www/images

网页上一个装满图片的文件夹。

/www/codebase

该文档中包括了一局部java的元素,开发者可以用它来制作滑块。

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

实际上你并不需要吃力安装软件,只有把它们放在路由器的相关文件夹中就行,在名目中我是用WinSCP来治理文件和文件夹,2017年诺贝奖出炉:你变丑跟变笨的起因,他们终于研讨出来了…

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

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

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

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

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

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

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

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

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

我上手gpiopwmar9331时光不短了,之前下载了先行编译版的程序并上传至我的路由器,不过安装缺老是犯错,显示的过错信息如下:

Installing kmodgpiopwmar9331 (3.10.491) to root...Collected errors:

* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmodgpiopwmar9331:* kernel (= 3.10.49169f3c9d824d79ff97e8c05f8219a41f3) *

* opkg_install_cmd: Cannot install package kmodgpiopwmar9331.

尔后,我从源码对gpiopwmar9331进行了从新编译,这次安装成功了,但它却完整无法工作。

于是我从网上找了一些软件端脉宽调频教程,经由一直地测试,我终于获得了胜利,愿望在使用过程中不要呈现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)。

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

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

第二十一步:键盘快捷键

第二十二步:WiFi遥控车实现

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

查看视频,请复制链接:(http://www.geekfans.com/article50012.html)

免责申明:本文转自网络,版权归原作者,如果你感到不好,请接洽我们删除!

广告

本文由:《株洲生活资讯》提供

请选择您浏览此新闻时的心情

相关新闻
    无相关信息
网友评论
本文共有人参与评论
用户名:
密码:
验证码:  
匿名发表