电子说
第1步:为什么选择WebSocket?
网上有大量的WiFi远程机器人。他们中的大多数都有一个简单的Web界面,可以通过几个箭头按钮控制机器人。它足以证明电路工作原理。然而,响应时间太慢,甚至将它与几块钱的RC车相比:(
每个远程控制命令只能是1或2个字节,但是单个HTTP请求会引入数百个字节的开销并需要等待建立每次都有一个新的连接.WebSocket可以消除这种开销并获得超过10倍的性能提升。
你可能不熟悉Web Socket,但实现起来非常简单。这个Arduino源代码文件只有5个KB大小,已包含客户端HTML + Javascript和服务器端HTTP + Web Socket服务器。这是学习Web Socket的一个很好的起点。
第2步:准备
ESP8266开发板
任何ESP8266开发板都应该没问题,这次我使用的是NodeMCU。
电机驱动板
任何2个电机驱动板都应该没问题,这次我使用的是L9110S。
2WD机器人底盘
任何2WD机器人底盘都应该没问题,我手头没人,所以我只是用一些LEGO制作一个。
电池
ESP8266工作电压为3.3V,大多数开发板都有调节器来制作它。在大多数情况下,它可以在5V - 12V的范围内供电。我这次使用带电池座的8.4 V充电电池。
步骤3:软件
Arduino IDE
下载并安装Arduino IDE
ESP8266支持
按照ESP8266官方步骤添加ESP8266支持
第4步:HTML& Javascript
Web Socket远程可以分为两部分,即客户端和服务器端。客户端是移动电话的简单网页。主要区域是画布,一旦您触摸并滑动它,x和y坐标值将通过已建立的Web Socket连接传递到服务器端。下面是完整的网页源代码,它在Arduino源代码中缩小为单行字符串值:
ESP TOUCH REMOTE
步骤5:引脚连接
这是连接摘要:
ESP8266 Dev Board -》 Motor Driver Board
Vin -》 Vcc -》 Battery +ve
GND -》 GND -》 Battery -ve
GPIO4 (D2) -》 A-IA
GPIO0 (D3) -》 A-IB
Motor A -》 Left motor
GPIO14 (D5) -》 B-IA
GPIO12 (D6) -》 B-IB
Motor B -》 Right motor
第6步:上传程序
在Arduino IDE中打开ESPWebSocketRemote.ino
连接您的ESP8266开发板
在工具菜单中选择您的ESP8266开发板类型和端口
按上传
步骤7:首次设置步骤
大多数WiFi机器人要求您连接来自你的手机,但我不认为这是正确的方法。因为这意味着任何人的手机都可以连接到您自己的机器人。而且每次你需要等待你的机器人WiFi AP启动然后使用你的移动搜索WiFi并连接它,它有点耗费时间。
我认为正确的方法应该是机器人自动启动时连接到您的移动热点。
但我仍然不想在源代码中存储我的热点凭证,WiFiManager可以帮我解决这个问题。
WiFiManager会自动尝试连接最后连接的WiFi。如果失败,请启动AP和强制网络门户等待您输入WiFi详细信息,然后重新启动。
因此,首次设置步骤为:
打开ESP8266 Robot
连接到“espweremote”AP
填写您的手机热点详细信息
步骤8:连接步骤
打开手机热点
打开ESP8266机器人
等待ESP8266机器人连接到手机hotspot
触摸并在画布上滑动(白色方块)以控制机器人
第9步:快乐远程!
是时候玩你的低圈时间远程机器人了!
第10步:下一步是什么?
ESPWebSocketRemote是一个非常简单的例子,你可以做更多的事情。
例如:
使用PWM在不同坐标上滑动时更改两种电机速度
添加更多控制,例如机器人灯t,武装甚至发射火箭:》
装饰HTML布局
建造一个更大的机器人
body{padding:0 24px 0 24px;background-color:#ccc;}
#main{margin:0 auto 0 auto;}
全部0条评论
快来发表一下你的评论吧 !