1.【开源】ESP32 Quad-Terminal四足机器人操控终端
2.ESP8266通过微信airkiss一键配网
3.esp8266无线小车
4.栈帧(ebp与esp)
5.ESP8266模组AT指令开发二
【开源】ESP32 Quad-Terminal四足机器人操控终端
ESP四足机器人低成本操控终端开源项目,以Arduino平台为基础,专为仿生机器人设计。其核心功能包括:利用Wi-Fi UDP通信技术,实现与机器人的双向数据传输,配置文件支持SD卡存储和在线修改。默认扫描包源码
实时显示机器人关节反馈数据,以及波形绘制功能,便于监测和分析机器人的运行状态。
集成按键控制,支持电机标定和状态标定,便于远程操作和调整。
通过按键实现简单遥控,用户可以直观地控制机器人的行动。
安装教程推荐使用Arduino 2.0 IDE或Vscode,需从Seeed Github下载以下库:Seeed_Arduino_FS, Seeed_Arduino_LIS3DHTR, Seeed_Arduino_mbedtls-dev, Seeed_Arduino_rpcUnified, Seeed_Arduino_rpcWiFi, Seeed_Arduino_SFUD。 该项目支持Wio Terminal主板,但也可移植到其他ESP平台。Wio Terminal需更新至Wi-Fi固件,并参考相关wiki文档进行操作,openssh 源码安装如getiot.tech/wifi相关内容。 针对遥控精度和供电问题,底板在年8月进行了升级,采用Wio外扩排针串口1与IO板通信,并扩展了电池和按键功能,兼容USB通讯与充电。 使用操作指南如下:首次开机后,可从sd_card目录复制文件至G TF卡,或直接修改代码固定连接Wi-Fi。Wio作为客户端,与机器人主控制器进行通信。主界面分为RC和WIN模式,通过按键切换,RC模式用于摇杆控制,WIN模式则通过摇杆选择功能按键。 源代码中的WiFiUDPClient文件是核心控制部分,开发者可以根据需求进行定制和扩展。这款低成本操控终端为四足机器人操控提供了一个灵活且易于使用的平台。ESP通过微信airkiss一键配网
通过微信airkiss一键配网ESP WiFi模块的综合缴费源码流程和原理如下: 前言 本文介绍如何利用微信airkiss技术,使ESP WiFi模块快速连接至路由器。 Airkiss原理 Airkiss是一种由腾讯开发的WiFi设备入网配置技术,允许用户通过微信直接操作,无需安装额外APP。智能设备如智能插座收到微信发送的无线广播后,尝试使用广播中的密码连接特定的WiFi网络。一旦连接成功,将信息反馈给微信客户端,显示配网成功。 电路原理图 ESP模块的按键连接到GPIO0,LED指示灯连接到GPIO2。 核心代码 主要包含两个关键头文件,通过检测长按键事件,ESP进入Airkiss入网模式,自动完成连接。 关键代码片段包括:设置连接类型、启动配置过程,并在连接成功后自动连接路由器。 步骤说明 1. **连接路由器**:确保手机连接至路由器。iptables 源码分析 2. **长按按键**:长时间按压ESP的按键,模块LED灯闪烁。 3. **关注公众号**:通过微信搜索“米霓科技”公众号。 4. **配置入网**:进入公众号对话框,选择“WiFi配置”及“AirKiss入网”,开始配置。 5. **输入密码**:根据提示输入路由器密码,点击连接。 6. **完成连接**:配置成功后点击确定关闭,ESP通过AirKiss连接至路由器。 源码工程 完整的源码工程请参考:<a href="github.com/meaneatech/l...esp无线小车
ESP无线小车项目通过JavaScript与该芯片的WebSocket通信,实现了前端摇杆操作远程控制小车的创新应用。以下是项目的关键步骤和所需资源的概述。
硬件准备:
- 项目仅需L的四根控制线连接,确保5V电源为电机提供动力。电机转向可以根据测试调整接线。
代码实现:
- ESP代码基于OLED屏幕,仅需修改WiFi信息。对于初级开发者,qemu 源码分析index.html中的IP(如..0.)和默认端口需要替换为个人设备信息。
- 控制端代码可直接使用,只需调整IP和端口,不具备前端基础的用户可借助轻量级文件服务器webd进行访问,无需深入技术配置。
项目部署:
- 对于技术熟练者,可以部署整个项目;对于新手,只需在webd上上传代码文件夹,通过浏览器访问index.html进行操作。
扩展与展望:
- 作者考虑使用webRTC进行更高效通信,但因技术复杂性未实现。未来计划尝试ESP以提升性能。
结束语:
- 项目源码可在GitHub找到:github.com/Syske/arduino...,如有疑问,欢迎在评论区交流。
项目实现基于ESP的无线控制,通过前端与硬件的简单连接,轻松实现小车的远程操控。
硬件准备:仅需L四线连接,注意电机转向调整。ESP代码包含在内,只需替换WiFi信息,新手可借助webd简单访问。
部署与操作:对于技术熟悉的用户,可自行部署;初学者可直接使用webd访问index.html进行控制。
未来计划:作者计划探索webRTC和ESP以提升性能,有兴趣的朋友可以关注项目源码:github.com/Syske/arduino...
感谢关注,有任何问题可在下方留言讨论。
栈帧(ebp与esp)
栈帧,亦称为活动记录过程,是编译器实现过程的一种机制。
寄存器ebp,亦称栈底寄存器,用于记录栈的基址。
寄存器esp,亦称栈顶寄存器,用于指示栈的当前位置。
寄存器pc指针,即程序计数器,其作用是指向当前指令的下一个指令。
在函数调用过程中,首先调用main函数,为主函数分配存储空间,并设置ebp和esp分别指向栈顶和栈底,同时pc指针指向main函数中的下一条指令。需要注意的是,栈是从高地址向低地址生长的,如图所示,红色箭头代表main函数的指针,蓝色箭头代表指向fun函数的指针,首先执行main函数,然后执行fun函数,先使用红色指针,再使用蓝色指针。
以下是一个C语言的例子,用于解释函数调用的过程:
源代码中的int iRes = FunAdd(iVal1, iVal2);对应的汇编指令如下:
根据上述汇编指令的解释,将iVal2和iVal1的值作为函数参数依次压栈(参数从右向左),而call指令除了调用FunAdd外,还隐含地将下一条指令的地址压栈(即add esp, 8的地址,通常称为返回地址),以便FunAdd函数返回时知道接着应该执行哪条指令。
此时的栈帧如图所示:
第二步,开始执行FunAdd函数,函数的汇编和解释如下:
栈上还存在着调用FunAdd时入栈的两个参数,返回值还没有获取。首先执行add esp, 8指令,将栈顶去除八个字节,这八个字节用于存储FunAdd的入栈参数。由于编译器默认采用的__cdecl约定,因此由调用函数main来清理入栈的函数参数。
EBP-0Ch地址存储的是iRes,从第二步中可知,将返回结果存储在EAX,然后使用mov dword ptr [ebp-0Ch],eax将返回结果存储到iRes中。
ESP模组AT指令开发二
ESP模组AT指令开发二
基于STM的AT指令开发,介绍利用ESP模组通过串口与STM进行数据交互,实现WiFi模块与手机进行连接交互,支持功能包括TCP、UDP、HTTP、智能配网等。
第二章节将深入介绍基于STM的AT指令开发步骤,包括硬件设计与软件设计。硬件设计中,实现STMF采集DHT温湿度数据,并通过WiFi模块传输至手机。硬件资源包括:D1指示灯、串口、ESP连接线、复位和片选管脚。ESP需要连接3.3V、GND,串口的RX、TX、RST、EN引脚。
软件设计分为两个部分:STMCubeMX设置与MDK-ARM编程。通过STMCubeMX配置项目,实现与ESP的通信。利用MDK-ARM进行代码编写和编译,实现数据采集与传输。
完成编程后,通过下载到开发板验证功能。在开发板上连接ESP模组和DHT温湿度传感器,开启串口助手,查看初始化调试信息。通过手机连接ESP热点,使用网络调试助手建立TCP客户端,向ESP发送指令,接收并显示温湿度数据。
关注公众号获取完整工程源代码,代码实例展示了基于STM的AT指令WiFi开发过程。