搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
人工智能uu
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
【RK3588 开发笔记——wifi蓝牙调试】_rk3588蓝牙调试
2
C++11 std::thread线程库
3
抖音,快手,视频号AI无人直播插件实用教程_瞎玩ai直播助手
4
GitHub每周最火火火项目(7.15-7.21)
5
异步复位信号的 recovery和removal_怎么 修 removal
6
DiMP视频目标跟踪算法中hinge-like loss的理解_hinge like loss
7
Oracle11gR2 RAC实时应用集群在Redhat Enterprise Linux6.3 x86_64下的集群(ASM篇)_为什么rac启动网格基础结构配置这么慢?
8
SQL Server端口设置全攻略:让你的数据库更安全_sql server2022端口不更改安全吗
9
【秋招笔试】8.11大疆秋招(第二套)-测开岗_大疆测试开发笔试
10
在搭载英特尔® 凌动™ 处理器的 Android* 手机和平板电脑上开发传感器应用_intel 凌动处理器 android
当前位置:
article
> 正文
通过WiFi控制智能小车机器人制作过程详解_wifi智能小车怎么安装
作者:人工智能uu | 2024-08-21 19:45:59
赞
踩
wifi智能小车怎么安装
之前发的作品都是基于蓝牙控制的智能小车机器人,由于蓝牙的传输范围比较小,所以控制距离的局限性比较大,并且通过蓝牙传输视频会明显出现卡屏的现象。
而通过WiFi方式控制智能小车机器人能达到100米左右的控制距离,并且在视频传输方面远远优于蓝牙传输方式,因此这次在原有的智能小车的基础上,将蓝牙控制方式改为WiFi控制。
这是WiFi小车的视频:
下面简单地介绍一下WiFi控制智能小车机器人的制作过程:
首先是智能小车不变,51单片机中的下位机程序也不改,(这些东西的制作可以参看我之前的日志)不过为了方便安装路由器,各位可以自己在小车上再加上一层,这样就有空间安放路由器了。
接下来是原理说明:
其实通过WiFi控制智能小车机器人没有想象中那么复杂,它的原理就是:找一台能刷Linux的无线路由器,将其操作系统刷成OpenWrt,这是一个在路由上运行的Linux操作系统,完成这一步后,这个路由就等于成了一个Linux系统的小型电脑了。
然后将Linux下的摄像头驱动安装到路由器上,这样路由就能把视频通过无线功能发送到电脑控制端。
指令的发送则是通过一个PHP网页,这个PHP网页是运行在路由器上的,控制者通过访问路由器的地址,就能打开这个PHP网页,然后通过按键操作,这个PHP网页就能把相应的按键键值转换为指令发送到路由器的串口。
在路由器中,串口就是TTL线接口,所以只需要将路由器的TTL线接到单片机上对应的串口上,就可以向单片机发送指令了。
需要的材料如下:
1、可以刷OpenWrt的无线路由一台,一般选择大亚DB120系列的,这种路由猫内部有TTL线,可以作为串口发送指令。
2、摄像头采用芯片为301的摄像头,这种摄像头比较老,目前很难找到,建议到旧货市场看看。
3、上位机软件:我的WiFi上位机软件(其实就是运行在路由上的PhP网页和其他一些驱动)采用的是爱果联盟乔帮主写的一个wifirobot控制端程序,但是该程序是配套论坛中商业化量产的WiFi机器人的,所以需要对源代码进行一些修改,稍后将介绍。
制作步骤:
1、刷路由,具体怎么刷比较繁琐,这里就不一一介绍了,直接百度"无线路由/猫刷OpenWrt"即可,不过刷机有风险,希望大家在买路由的时候直接让店家刷好就行了。需要刷的OpenWrt版本号为2.6,网上有这个版本系统的固件下载,如果需要重装的时候直接用这个固件重刷就行了。
2、刷完路由之后,安装爱果论坛乔帮主的wifirobot控制端程序,安装过程请到这个地址查看:http://www.igee.cn/read.php?tid=436
但是在改TTL波特率这一步,不能直接改成链接中所说的115200,这个波特率是论坛中成品小车驱动板的波特率,因为我们的51单片机小车的波特率是9600,所以在这里应改为9600
3、下一步是接线,把51单片机RXD和路由器的TXD相接,TXD和路由器的RXD相接,地线接在一块,但是要注意了,这里我测量得出路由器TTL电平为3.3左右,51单片机引脚为4.5左右,所以在这两对脚之间都串上一个1K电阻。
大亚路由器的TTL引脚定义如下图:
4、摄像头的连接,把301摄像头的USB插口查到路由器后面的USB接口,如果是双USB的路由器,则要接到下面的那个接口。
5、最后是程序
在我这个智能小车的下位机程序中,采用发送字符的方式进行指令传输,所以得需要改改乔帮主的PHP源代码。乔帮主的上位机源代码中有一个web/lib.php文件,用Winscp打开它,其中有个函数是发送数据的,如下:
function send2ser($tts,$hex_data)//发数据
{
$bin_data=hex2bin($hex_data);
$handle = @fopen ($tts, "a+b");
$error=fwrite($handle, $bin_data);
fclose ($handle);
return $error;
}
在这里,乔帮主先对原始的键值进行了处理,把它转换成了二进制格式,但这是适用于论坛中的驱动板的,所以在这里需要改改,把处理字符串的那一行代码注释掉,直接发送字符串就行。
改成:
function send2ser($tts,$hex_data)//发数据
{
//$bin_data=hex2bin($hex_data);
$handle = @fopen ($tts, "a+b");
$error=fwrite($handle, $hex_data);
fclose ($handle);
return $error;
}
由于这个控制端程序是在乔帮主的的源代码基础上修改的,所以在这里就不方便把这一块的源代码公开了,有兴趣者可以自己解压乔帮主的控制端安装包查看代码。
做好这些步骤后,就可以开始运行了。首先打开路由器电源,等待30秒钟左右,路由启动完毕,然后打开电脑的无线网卡,搜索路由信号并进行连接。
连接成功后,打开智能小车上的电源。用火狐浏览器打开如下地址:
http://192.168.1.1:81/car.php
当然,不一定是这个地址,具体看你的路由器LAN口的设置,默认是这个。
然后就可以出现如视频中所示的控制画面了,在控制界面的中选择"编辑"按钮,再点击"前进"按钮,将弹出设置对话框,在"按键按下发送的指令"中填入1,"按键弹起发送的指令"中填入0,再点击"后退"按钮,按下指令填入3,弹起是0;左转按钮设置为2、0,右转为4、0。然后点击"发送",即可通过W、S、A、D四个键控制小车的运动了。
由于视频传输部分其实是不断下载一幅图片所形成的,所以必须选择火狐浏览器,使用IE的话看到的是静态图像,必须手动刷新才行。
OK! 通过WiFi控制智能小车机器人的介绍就到这里了,希望搞这一行的新手能多动动脑筋,光等着前人帮你解决所有问题是不会有进步的。
相关配件网上都有,比较关键而且容易出现干扰的部分是电机,建议找质量好点的店家购买:http://shop60840894.taobao.com/
本文内容由网友自发贡献,转载请注明出处:
【wpsshop博客】
推荐阅读
article
手把手教你
HFSS
仿真
PCB天线
--
WIFI
、蓝牙_pcb导入
hfss
仿真
教程...
超详细的
HFSS
仿真
PCB天线
--
WIFI
、蓝牙教程_pcb导入
hfss
仿真
教程pcb导入
hfss
仿真
教程 ...
赞
踩
article
(35)
远程
识别
(又称
无人机
识别
)(一)
_
rid
无人机
wifi
...
Ardupilot官网关于《Peripheral Hardware》的翻译 —《(35)
远程
识别
(又称
无人机
识别
)》。...
赞
踩
article
微软最新
WiFi
远程
代码执行
漏洞
(
CVE
-2024-
30078
)探究...
从函数的名称 Dt11Translate80211ToEthernetNdisPacket 可以推测,这个函数用于处理 ...
赞
踩
article
Windows
WiFi
驱动程序
远程
代码执行
漏洞(CVE-2024-30078)_cve-2024...
此漏洞与
WiFi
驱动程序
相关,允许攻击者在同一
WiFi
网络下远程执行代码,且这一过程。这意味着如果用户在公共场所,如机场...
赞
踩
article
Arduino
开发
之如何
连接
WIFI
模块?_
arduino
wifi
...
在硬件
开发
过程中,会将许多传感器组合,产生许多数据,这些数据需要传输到上位机进行数据融合处理才能实现硬件系统的功能,或许...
赞
踩
article
7.
ESP32
-
WIFI
(
Arduino
)_
arduino
esp32
wifi
...
Wi-Fi API 提供对 802.11b/g/n 协议驱动程序的支持。Station 模式(STA 模式或 Wi-Fi...
赞
踩
article
【雕爷学编程】
Arduino
智慧校园之使用
WiFi
模块
连接
到
互联网
并获取附近
图书馆
信息_arduin...
请注意,具体的网络API和数据获取方法可能因实际情况而异,需要根据实际的网络接口和数据源进行相应的配置和开发。你可以根据...
赞
踩
article
【雕爷学编程】
MicroPython
手册之
ESP8266
联网
_
esp8266
micropyth...
在实际应用中,你需要根据所使用的固件和网络环境进行适当的调整和配置。
MicroPython
的
ESP8266
联网
可以使用n...
赞
踩
article
RK3588
&
Android13
调试
RTL8852BS
(
WIFI
&BT)...
本文详细记录了在
RK3588
平台使用
RTL8852BS
模块进行WiFi和BT功能调试的过程,包括SDIO配置、驱动移植、...
赞
踩
article
Android
wifi
调试_
android
wifi
调试信息
...
Android开发,离不开一个电脑,一个手机,一根数据线。我们常常遇到USB口接触不良,一动就掉线的问题,怎么办?现在提...
赞
踩
相关标签
硬件工程
功能测试
外设硬件
Copter
ArduPilot
微软
WiFi远程代码
漏洞
30078
安全
服务器
单片机
嵌入式硬件
c++
物联网
c语言
mfc
Arduino智慧校园
并获取附近图书馆信息
使用WiFi模块连接到互联网
python
MicroPython
ESP8266 联网