1.【开源】ESP32 Quad-Terminal四足机器人操控终端
2.ESP32学习笔记----MPU6050使用
3.用ESP32做了个高颜值游戏机!础例程源开源资料堪称保姆级
4.spiffs 文件系统在esp32中的例程应用
5.esp32cam camera_web_server去掉功能选项
6.ESP32开发解析JSON,这里用cJSON
【开源】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文档进行操作,如getiot.tech/wifi相关内容。 针对遥控精度和供电问题,底板在年8月进行了升级,采用Wio外扩排针串口1与IO板通信,并扩展了电池和按键功能,兼容USB通讯与充电。 使用操作指南如下:首次开机后,可从sd_card目录复制文件至G TF卡,或直接修改代码固定连接Wi-Fi。Wio作为客户端,与机器人主控制器进行通信。主界面分为RC和WIN模式,65539源码通过按键切换,RC模式用于摇杆控制,WIN模式则通过摇杆选择功能按键。 源代码中的WiFiUDPClient文件是核心控制部分,开发者可以根据需求进行定制和扩展。这款低成本操控终端为四足机器人操控提供了一个灵活且易于使用的平台。ESP学习笔记----MPU使用
ESP-S3 SoC芯片支持多种功能,包含在官方资料ESP-IDF编程指南与I2C驱动程序中。使用IDF 5.1.1开发环境,结合ESP-S3-LCD-EV-Board-MB开发板与mpu模块进行开发。MPU-是一款集成6轴运动追踪设备,融合了3轴陀螺仪和3轴加速度计,具备全面运动追踪数据输出,适用于手势识别、游戏控制器、可穿戴设备等场景。该设备可通过I2C总线进行通信,提供倾斜角度、旋转速率、温度等信息,适用于便携式设备的运动检测和追踪。
MPU-传感器的引脚定义中,使用IO与IO两个引脚与mpu模块的SCL与SDA引脚连接,ADO引脚接地时地址为0x,接VCC时地址为0x。通过乐鑫组件管理器搜索mpu组件,并在工程目录下使用特定命令添加组件。修改main.c文件以获取mpu传感器数据。
开发过程涉及初始化I2C接口与mpu传感器(i2c_sensor_mpu_init函数),获取加速度计测量值(mpu_get_acce函数)、陀螺仪值(mpu_get_gyro函数)与传感器温度(mpu_get_temp函数)。mpu_complimentory_filter函数通过整合加速度值与陀螺仪值计算出pitch与roll的角度。
项目的nerf源码GitHub仓库与CSDN教程提供详细指导与源代码资源,以便深入学习与实践。
用ESP做了个高颜值游戏机!开源资料堪称保姆级
ESP自制的高颜值游戏机教程分享,带你从零开始!这款设备不仅具备电视、电脑、手机的手柄功能,而且电路设计简洁,适合初学者操作。下面将详细介绍它的设计思路和实现过程。
电路部分,由于体积小巧,设计上以简化为主,主要精力集中在软件上。所有元件选用规格,便于手工焊接。编程上,使用RachelSDK的PIO工程,配合VS Code的PlatformIO插件,轻松编译和调试。
创建游戏机应用时,无需繁琐操作,通过Python脚本自动生成基础模板,如AppHello_world。SDK结构清晰,包括NES模拟器、音乐播放器等功能,只需将ROM和资源文件放置指定目录即可。字体选择灵活,如Zpix字体库提供多种美观选项。
App的生命周期管理API如destroyApp、getAppName等,有助于管理和控制游戏运行。roundcube源码此外,还介绍了HAL硬件抽象层,让硬件操作更简化。通用组件库中提供了选择菜单、进度条窗口和蜂鸣器音乐播放器等实用功能。
如果你对源码或框架细节感兴趣,可以直接查看文章末尾的详细参考资料,这些都是保姆级教学,确保你能够深入学习并掌握相关技术。整个项目开源,非常适合学习和实践。
想要了解更多,就去查阅[1]嘉立创EDA开源硬件平台的迷你游戏机教程吧!
— 结束 —
嘉立创EDA·知乎号
spiffs 文件系统在esp中的应用
SPIFFS文件系统在ESP中的应用涉及嵌入式存储、文件管理和系统配置等方面,具有高度的实用性与高效性。ESP作为一款性能出众的微控制器,其主要存储资源依赖于SPI闪存,SPIFFS文件系统因其与ESP的完美匹配,成为了理想的存储解决方案。
SPIFFS具备磨损均衡与文件系统一致性检查等高级功能,使其在嵌入式环境中表现出色。乐鑫针对ESP提供了SPIFFS的强大支持,包括工具(spiffsgen.py,mkspiffs)以及专门的接口函数,简化了SPIFFS在ESP上的创建、格式化等操作流程。
乐鑫提供的源码分析揭示了SPIFFS的实现细节。在构建存储配置时,除了使用SPIFFS工具,乐鑫还提供了配置CSV文件的替代方法。CSV文件定义了SPIFFS空间大小,该信息在编译阶段用于分配合适的fakerjs源码闪存区域,实现灵活的存储空间管理。以CSV文件结尾定义的SPIFFS配置,其大小为KB,确保了与ESP总闪存空间的兼容性。
在使用SPIFFS前,需进行基本的配置,将SPIFFS注册到VFS操作系统中。VFS类比于Linux的VFS,为用户提供了一种通用接口,使得C语言库函数能够访问不同操作系统下的文件系统。ESP-IDF通过注册函数实现了SPIFFS的挂载与注册,使得系统具备了高效的文件系统管理能力。
成功挂载SPIFFS后,用户即可通过标准库函数(如fopen,fread,fwrite)进行文件操作,实现数据的读写与管理。这一过程不仅简化了开发者的工作,也确保了数据的稳定性和安全性。
通过上述分析,SPIFFS在ESP中的应用展现了其在嵌入式系统领域的强大功能与便利性,为开发者提供了高效、可靠的文件系统解决方案。
espcam camera_web_server去掉功能选项
要去掉ESPCAM Camera_Web_Server的功能选项,通常需要修改其源代码,特别是涉及Web界面和功能调用的部分。这可能包括修改HTML、JavaScript以及服务器端的处理代码。
详细
ESPCAM是一个集成了WiFi和摄像头的开发板,常用于实现各种网络摄像头应用。Camera_Web_Server是一个常见的示例项目,它通过ESPCAM创建一个网页服务器,允许用户通过浏览器查看摄像头的实时画面,并可能提供一些额外的功能选项,如拍照、录像等。
要去掉这些功能选项,首先需要定位到实现这些功能的代码部分。这通常涉及到:
1. Web界面:功能选项通常会在Web界面上以按钮或菜单的形式呈现。因此,需要找到生成这些界面的HTML和JavaScript代码,并删除或注释掉与不需要的功能相关的部分。
2. 服务器端处理:当用户在Web界面上触发某个功能时,服务器需要相应地作出反应。因此,还需要找到处理这些请求的服务器端代码,并进行相应的修改。
例如,如果Camera_Web_Server项目中有一个“拍照”按钮,你可能需要:
* 在HTML文件中找到这个按钮的定义,并删除或注释掉它。
* 在JavaScript文件中找到与该按钮相关的所有事件监听器和处理函数,并进行相同的操作。
* 在服务器端代码中,找到处理拍照请求的部分,并进行修改或删除。
此外,为了确保修改后的代码仍然能够正常工作,你可能还需要进行一些测试和调试。这可能包括检查修改后的Web界面是否显示正确,以及服务器是否能够正确处理剩余的功能请求。
总的来说,去掉ESPCAM Camera_Web_Server的功能选项是一个相对复杂的过程,需要对项目的代码结构和实现方式有一定的了解。不过,通过仔细分析和逐步修改,你应该能够成功地实现你的目标。
ESP开发解析JSON,这里用cJSON
cJSON是什么?
cJSON是C语言领域中的一款超轻量级JSON解析库。它开源于GitHub,遵循MIT协议,对使用友好。
与Python的json库、Java的Gson、jackson、fastjson等解析器类似,cJSON同样能解析JSON数据。
cJSON的源码由一个头文件和一个源文件组成,极为简洁。
JSON的基本概念:
JSON对象是无序的键值对集合,以"{ “开始,以”}"结束,允许嵌套使用。
1. 名称和值成对出现,名称与值之间使用":"分隔。
2. 键值对之间用","分隔。
3. 字符前后允许存在无意义的空白符。
4. 键值可为数组、数字、字符串、字面值(false、null、true,需小写)。
VSCode验证cJSON:
前提:VSCode已配置C/C++开发环境,插件及编译器设置完成。
克隆cJSON源码,用VSCode打开。仅需改动vscode的配置文件tasks.json,改动如下图所示。
配置后,从test.c直接编译,通常不会出现编译错误。
新增函数测试JSON解析,代码如下:
运行结果如下:
IDF中引入cJSON:
cJSON位于IDF的components\json\cJSON目录下。
cJSON常用方法概览:
1. 解析数据:验证JSON格式 > 解析数据 > 释放内存
2. 创建数据:创建JSON结构体 > 添加数据 > 释放内存
务必记得释放内存。
参考资料:
ESP学习笔记()--JSON接口使用_esp cjson-CSDN博客
vscode运行cjson(自用)_vscode c.json-CSDN博客
ESPcam 摄像头 AIcam 远程视频监控
远程视频监控是一种实用的物联网应用,尤其在关注家庭宠物、观察鱼儿活动或监控公司环境时极为重要。AIcam通过集成远程网络视频查看功能,使得用户能够实时观察到所关注的场景。
实现这一功能的关键在于选用Arduino代码,并通过齐护服务器中转视频,从而在非局域网环境下实现远程监控。虽然该功能是为免费学习体验设计,但在实际应用中可能遇到视频卡顿等问题,这主要是由于服务器成本和设备成本所限。因此,用户需确保AIcam有良好的散热环境,以保持ESP和摄像头芯片的正常运行,避免因过热导致的性能下降。
源代码的编写涉及到多个库文件和SDK的调用,因此推荐使用齐护教育版Mixly或其配套的ArduinoIDE进行代码编辑和上传至AIcam板卡。在上传代码前,用户需调整网络环境,包括设置当前wifi环境的帐号密码、选择视频尺寸大小,并根据需要调整摄像头的方向。
上传程序后,AIcam会自动显示上网信息。当连接成功,系统将自动生成二维码,用户通过手机扫描该二维码即可访问视频链接。链接支持分享给他人或应用到其他开发项目中,多人同时访问时,系统默认只允许最后打开链接的设备查看视频。
AIcam提供了便捷的远程视频监控解决方案,通过简单的设置和操作,用户便能实时监控所需关注的场景,极大地丰富了物联网应用的多样性和实用性。
ESPs3-EYE ESP-IDF环境搭建Ubuntu. Micropython环境搭建Pycharm 物联网
本文记录了物联网竞赛的项目开发全过程,包括ESPS3-EYE硬件模块的使用,人脸识别与rPPG代码模块,数据库连接与APICloud开发的软件模块。项目建立于Ubuntu .版本,esp-idf版本为4.4.1,ESPS3-EYE开发板由乐鑫公司提供,感谢乐鑫公司的支持。项目代码已开源放置于GitHub中,链接见文末。
项目中采用Micropython固件与PyCharm环境搭建,通过配置PyCharm环境下载Micropython插件、选择开发板接口等步骤,实现代码编译与烧录。在刷写ESPS3固件时,需下载刷写工具与对应固件,通过命令行完成擦除与烧录。后续遇到网络连接问题,转而在esp-idf环境下进行编程。
通信部分涉及数据传输与网页解析。通过将摄像头画面存入报文,再传输至网页解析,实现数据的实时显示。在网页源码中,找到用于传输的HTML文件与HTTP协议,通过wireshark抓包分析报文,确定传输路径与报文内容格式。在程序内实现发送报文触发芯片发送流信息,解析并保存传输数据。
人脸识别部分采用百度AI实现人脸注册与识别,通过上传人脸至百度AI库中,进行人脸识别并与库中人脸对比。rPPG非接触式心率检测部分,遇到预训练模型出错问题,通过替换本地模型解决。
数据库连接与服务器部署部分,配置SG安全组以允许端口访问。在远程cloudShell中,通过指令进行MySQL配置与权限赋予,实现数据库部署。数据库配置完成后,进行用户查询以验证权限设置。
项目中使用了多个开发模块,包括mySQL模块用于连接数据库、UIButton模块实现自定义按钮功能、divisionalLineChart模块封装折线图视图。代码已全部开源至GitHub,方便开发者根据README文档复本项目。