当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]ESP32-DIV 最初是一个个人工具,是我为了解决一个设备同时支持 WiFi、蓝牙、Sub-GHz、红外线、RFID 和 GPS 的需求而开发的。ESP32-DIV 是一款基于 ESP32-S3 构建的开源多频段无线工具包,支持 Wi-Fi、BLE、2.4GHz、Sub-GHz、红外线、RFID/NFC 和 GPS 等多种通信协议。它集成在一款紧凑的手持设备中,并配有触摸屏用户界面。无论您是分析无线网络流量、测试信号抗干扰能力,还是开发自己的射频工具,ESP32-DIV 都能为您提供一个统一的平台,轻松完成所有操作。

ESP32-DIV 最初是一个个人工具,是我为了解决一个设备同时支持 WiFi、蓝牙、Sub-GHz、红外线、RFID 和 GPS 的需求而开发的。ESP32-DIV 是一款基于 ESP32-S3 构建的开源多频段无线工具包,支持 Wi-Fi、BLE、2.4GHz、Sub-GHz、红外线、RFID/NFC 和 GPS 等多种通信协议。它集成在一款紧凑的手持设备中,并配有触摸屏用户界面。无论您是分析无线网络流量、测试信号抗干扰能力,还是开发自己的射频工具,ESP32-DIV 都能为您提供一个统一的平台,轻松完成所有操作。

硬件

ESP32-DIV 有三种配置。v1 是最初的版本,小巧一体化设计,是入门级的理想选择。v2 是目前的主板型号,布局更优,连接更可靠,并支持扩展板扩展系统。本指南中我将使用的是 v2 版本。CYD 便宜的黄色显示屏是一款预装触摸屏的 ESP32 开发板。如果你想在不自行制作硬件的情况下尝试固件,CYD 是最简单且最经济的选择。

主板

核心是ESP32-S3双核处理器,拥有充足的闪存空间,并原生支持WiFi和蓝牙。此外:

•ILI9341 TFT 液晶屏搭配 XPT2046 触摸显示与触摸控制器

•IP5306 电池充电与保护

•CP2102 USB转串口,用于刷机和调试

•PCF8574 用于物理按钮的 I/O 扩展器

•WS2812 NeoPixels 状态指示灯

•外部天线连接器和蜂鸣器

盾牌

屏蔽罩安装在主板下方,并增加了射频硬件:

•3个NRF24L01模块 2.4GHz 扫描与伪造

•CC1101 子GHz捕获、回放和干扰

•红外收发器捕获并重放遥控信号

•PN532 RFID 和 NFC(新增于新硬件版本)

•NEO-6M GPS 模块(全新)

•多天线设计,实现更远的覆盖范围

新的防护罩设计有两种版本。第一种是直接将模块焊接固定,相关文件已上传至 GitHub。第二种更为复杂,目前仍在开发中,但为未来引入许多新功能打开了大门。

刷写固件

三种获取板载固件的方法。

Web Flasher(推荐)

在 Chrome 或 Edge 浏览器中访问 cifertech.github.io/ESP32-DIV。选择你的板卡版本,通过 USB 数据线连接(不要使用仅用于充电的线缆,这是最常见的问题),点击“Flash”,选择串口,然后查看进度条。大约 30 到 60 秒后即可完成。无需驱动程序、无需 IDE、无需终端。如果端口列表中没有显示任何内容:先尝试更换其他数据线,然后为你的操作系统安装 CH340 或 CP2102 驱动程序。

DIV Flasher 桌面应用程序

专为本项目开发的 Windows 图形界面应用程序。从仓库下载后运行 ESP32-DIV-Flasher.bat 文件,选择您的 COM 端口和板型预设,点击“工具箱”标签页下的“刷新列表”,选择固件版本,然后点击“下载发布版”。程序会直接从 GitHub 下载 .bin 文件,并自动填写路径。首次安装前请先确认清除全部闪存,再点击“刷入固件”。操作日志将实时显示所有信息。按 Ctrl+Enter 进行刷机。

Arduino IDE

简要版本:安装 Arduino IDE,特别在 v2.0.10 版本中添加 ESP32 板件包,将 platform.txt 替换为仓库中 Flash File 文件夹内的文件,并将仓库中的 Libraries 文件夹复制到你的 Arduino 库文件目录中。不要使用 Library Manager 的版本,它们与 DIV 不兼容。选择 ESP32 S3 开发模块,分区方案:Minimal SPIFFS,上传速度 921600。如果设备未自动进入下载模式,请按住 BOOT 键并按下 RESET 键。

导航

菜单按协议分类:WiFi、蓝牙、2.4GHz、Sub-GHz、红外线、RFID、GPS、系统。顶部状态栏显示WiFi状态、BLE状态、SD卡是否存在以及电池电量。

Wi-Fi

Packet Monitor 实时瀑布图显示所有14个信道的无线流量。WiFi Scanner 列出附近网络,包括SSID、信号强度、加密类型和信道。Beacon Spammer 通过虚假的SSID向空气中发送大量广播信号。可从SD加载自定义列表,或随机选择。Deauth Attack 发送断开连接帧,强制客户端离开网络。广播模式影响所有客户端,定向模式则针对单个设备。此外还有Deauth Detector,可检测并提醒你附近有人正在执行Deauth攻击。Captive Portal 拷贝网络名称,并向任何连接者提供伪造的登录页面。Probe Flood 使用探测请求对接入点进行猛烈攻击。

蓝牙

BLE扫描器可发现您周围隐藏和可见的BLE设备。BLE嗅探器可追踪MAC地址、RSSI值以及数据包数量随时间的变化。BLE欺骗器会广播虚假的BLE广告。Sour Apple会向苹果设备发送类似AirDrop的弹窗提示。BLE干扰器可同时干扰BLE和传统蓝牙信号。BLE橡胶鸭子板可作为蓝牙键盘使用,从SD卡中输入脚本并自动执行。使用DELAY、STRING、ENTER、GUI语法编写一个.txt脚本,将其放入SD卡的/ducky文件夹,从菜单中选择即可运行。

2.4GHz

频谱分析仪实时监测全部128个通道,涵盖WiFi、Zigbee、自定义射频等。Protokill可根据需要干扰Zigbee、WiFi及其他2.4GHz协议。

Sub-GHz

CC1101 模块可处理 2.4GHz 以下频段的车库门、钥匙扣、射频遥控器和报警传感器等设备。Replay Attack 可捕获原始信号并进行回放,只需将遥控器对准设备,即可完成捕获、回放,操作简单快捷。Sub-GHz Jammer 能在有效范围内干扰 Sub-GHz 通信信号。保存的配置文件可将捕获到的信号存储并管理在 SD 卡中。

IR

将遥控器对准面板上的红外信号点,捕捉信号,实时显示在屏幕上,保存为配置文件,之后可随时回放。支持从SD卡浏览并加载已保存的遥控器配置。内置通用红外控制器,兼容品牌预设配置,支持SD卡导入,并配备遥控器风格界面。只需指向电视即可关闭,经典实用,每次都能正常工作。

RFID / NFC

PN532 可处理所有卡片操作。支持的类型包括:Mifare Classic、Mifare Ultralight、NTAG 和 ISO14443A。读卡器可读取 UID 和标签数据,并在屏幕上显示。卡片克隆功能可复制支持写入的标签。Dump 模式可在有密钥时读取整个扇区的数据。Decode Access 模式可解析卡片 Dump 中的访问位。Erase 模式可清除可写标签。Jam Reader 模式可干扰附近的 RFID 读卡器。Tag Disrupt / Disrupt Emulate 模式可实现高级干扰流程,用于物理安全测试。

GPS

NEO-6M 支持 GPS。将其连接到电路板上的 GPS 头部接口。Wardriver 会将 GPS 位置与 WiFi 和 BLE 观测数据以兼容 Wigle 的 CSV 格式记录到 SD 卡中。可导入 Wigle.net 或 Google 地图,以便在地图上查看您的观测结果。卫星扫描器可显示当前可视的卫星、各卫星信号强度以及定位诊断信息。冷启动建议:在户外放置 60 至 90 秒,并确保天空视野清晰。

系统工具

串行监视器可直接在TFT上镜像串行输出,无需笔记本电脑即可在现场进行调试。SD文件管理器可从设备访问并管理SD卡中的文件。触控校准功能可在触摸目标感觉异常时重新校准触摸屏。设置包括亮度、亮色与暗色主题、NeoPixel行为以及背景扫描选项。

SD卡

格式为FAT32,最大32GB。固件期望此结构:

如果没有SD卡,所有功能仍然可以使用,但每次会话之间不会保存任何内容。

从源码构建

克隆仓库并打开示例代码。功能模块按协议分别组织在不同的.cpp文件中。根目录下的BoardConfig.h定义了v1、v2和CYD的引脚分配。要添加新功能:在相应的协议文件夹中创建.cpp和.h文件,在主示例代码中添加菜单条目,并使用BoardConfig.h来引用硬件特定的引脚。保持模块化,每个文件对应一个功能。完整的编译说明和arduino-cli命令请参见Wiki。

故障排除

未检测到设备,请先更换数据线。然后安装CH340或CP2102驱动程序。显示屏无法启动,可能是平台错误、txt文件缺失或库文件替换问题。请严格按照Wiki的设置操作。NRF24无法工作时,请检查SPI接线,并确认电源为3.3V而非5V。假冒模块较为常见。GPS无信号时,请外出等待90秒,确保上方天空清晰。SD卡未挂载时,请格式化为FAT32,重新插入卡片,尝试其他品牌。OTA更新失败时,请靠近路由器并重试。开机循环时,使用esptool.py --chip esp32s3 erase_flash清除闪存,然后重新刷写。

请使用您的板卡版本、固件版本以及串口监视器输出信息提交漏洞报告。在编写新功能代码之前,请先开启讨论。在提交拉取请求(PR)前,务必在真实硬件上进行测试,仅靠编译检查是不够的。每个PR只包含一个功能,保持专注。所有贡献者的名字都会在代码仓库中列出。如果您的代码被合并,您的名字就会出现在其中。

由NextPCB赞助

感谢 NextPCB 支持本项目。如果您要自行制作 ESP32-DIV,请上传仓库中的 Gerber 文件并直接下单。

最终思考

ESP32-DIV 是目前该项目最完整的版本。WiFi、蓝牙、2.4GHz、Sub-GHz、红外线、RFID、NFC、GPS,全部集成于一块板上,所有功能均为开源,通过浏览器在不到一分钟内即可完成刷写。硬件将持续进化。新的扩展板版本仍在开发中,一旦发布将带来诸多新功能。固件拥有活跃的贡献者社区,新提交的补丁会定期到来。如果你制作了设备,请分享;如果发现错误,请创建问题报告;如果你想添加新功能,请先发起讨论。以上就是本期内容。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在这个项目中,我们将使用Neuro PlayGround Lite(NPG Lite)构建一个免提鼠标。通过结合头部追踪、眨眼和下颌肌肉信号,您无需触碰鼠标即可无线控制计算机。

关键字: 鼠标 蓝牙 MPU6050

我们都经历过这样的感觉:你把电子阅读器放在桌上,坐在椅子上放松地读着,结果突然意识到自己已经读完一页了,得重新坐起来。但如今难道没有专门的蓝牙遥控器可以买来连接电子阅读器,避免这种麻烦吗?当然有,但既然可以买到内置蓝牙、...

关键字: 蓝牙 StickS3 ESP32

我有一台M5Stack AtomS3R,放在一个盒子里。它是一个24×24×27毫米的立方体,前面玻璃后面是ESP32-S3芯片,128×128像素的显示屏,整个正面都是一块按钮。内置BMI270六轴IMU和8MB的PS...

关键字: LED 显示器 ESP32-S3

定制的3D打印支架可牢固地将设备固定在杠铃上。训练过程中,系统会分析运动模式,以减少误计,并实时显示重复次数。M5Stack Core2还内置Wi-Fi,为未来基于云端的健身数据管理奠定了基础。

关键字: 加速度计 陀螺仪 Wi-Fi M5Stack Core2

如果一辆遥控车翻个面,就能呈现出两种截然不同的外观,而操控它的控制器也同样生动有力,那会怎样?这就是《双面》(Two-Faced)的核心理念:这是一辆四轮驱动、支持WiFi控制的遥控车,其两个底盘侧面采用完全不同的涂装设...

关键字: 电机驱动器 Wi-Fi 锂离子电池 ESP8266

因此我制作了这个小巧的终端模拟器。它使用的是Makerfabs ESP32-S3并行TFT触摸屏,配备3.5英寸ILI9488显示屏。一款专为无头Linux设备设计的物理串行控制台,基于Makerfabs ESP32-S...

关键字: 触摸屏 服务器 显示屏 ESP32-S3

Arduino UNO R4 WiFi 是 Arduino UNO 系列的重大升级,集成了瑞萨(Renesas)RA4M1 32位 ARM Cortex-M4 微控制器,并内置 ESP32-S3 Wi-Fi 和蓝牙连接功...

关键字: LED 矩阵 微控制器 Wi-Fi Arduino UNO R4

语音控制在消费电子产品中已十分常见,但将其集成到嵌入式项目中却仍然令人意外地困难。大多数解决方案依赖云服务、需要大量编程,或仅限于固定的一组预设命令。对于创客、学生和业余爱好者而言,将离线语音识别功能融入ESP32项目可...

关键字: 消费电子 嵌入式 ESP32-S3

reTerminal E1001 不仅是一款搭载 ESP32-S3 的电子纸显示屏,更是一款功能多样的边缘设备,专为持续监测而设计,具备超低功耗特性,电池续航时间最长可达三个月。

关键字: 电子纸 显示屏 ESP32-S3

随着万物互联时代全面到来,智能家居、工业传感、可穿戴设备、智慧医疗等物联网终端设备迎来爆发式增长。物联网设备的核心诉求集中在低功耗、小体积、低成本、易开发、高稳定性五大维度,而传统分体式蓝牙芯片方案,因电路繁琐、功耗偏高...

关键字: 蓝牙 物联网 芯片
关闭