>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
C-plus-plus

如何自己动手打造一款口袋式无线电信号和NFC多功能工具

FlopperZiro Logo

一台完整的Flipper Zero现在价格不菲,对于简单的家庭门禁道闸、红外遥控器和门禁卡实验,你往往需要更开放、更容易修复的设备。用户名lraton的FlopperZiro项目作者以讽刺的眼光看待这种情况,将其作品称为"用蹩脚英语写的糟糕仿制品",但实际上使用中国现成的模块构建了一个可工作的多功能工具原型。

FlopperZiro Profile

这个DIY设备能做什么

该设备处理一组基本任务,用于探索无线电协议和与外围设备交互。固件已经有四个主要模块在运行:

  • 433 MHz拦截和重放。RXB12接收器捕获来自门禁遥控器或简单继电器的信号,固件将数据转储保存到存储卡,并通过FS1000A发射器回传。
  • 红外端口。接收器和红外LED协同工作,因此设备可以读取电视或空调等家用遥控器的命令,将其保存到文件,并在按下按钮时重放。
  • 使用PN532芯片的NFC和RFID。该设备可以读取标准标签和卡片的UID,模拟目标,并发送APDU数据包。ISO14443-B支持仍在路线图上,但对于简单的功能测试已经足够。
  • BadUSB键盘模拟。微控制器伪装成HID设备,直接从存储卡执行Rubber Ducky格式的脚本。

它还运行文件浏览器用于浏览MicroSD、电池充电指示器,以及显示控制模块。

这个设备内部有什么

FlopperZiro相对于使用专用芯片的复杂项目的主要优势是无线电组件的易得性。所有零件都可以轻松地从市场订购或在旧Arduino模块盒中找到:

  • 微控制器:STM32-L432KC开发板
  • 显示屏:128x64像素分辨率的单色OLED SSD1306
  • 无线电模块:FS1000A发射器和433 MHz超外差接收器RXB12
  • NFC模块:流行的PN532控制器
  • 存储:标准TF MicroSD卡扩展板
  • 电源:TP4056充电板,带5V升压转换器和3.7V锂聚合物电池
  • 控制:六个轻触按钮和一个用于红外LED放大的2N2222A晶体管

外壳可以在标准FDM打印机上进行3D打印。作者在Printables上分享了一个现成的3D模型,可以紧密容纳两个PCB版本和电池。

FlopperZiro Front

FlopperZiro Back

陷阱和固件细节

代码库使用C++编写,适用于Arduino IDE。如果你需要编写自己的插件或为特殊的门禁道闸调整特定协议,这大大降低了入门门槛。

但简单也有缺点。例如,作者坦诚地警告了一个有趣的bug:通过Arduino环境上传新程序后,设备屏幕可能会保持黑屏。问题在于SSD1306显示屏的硬件复位时序。修复方法是打开IDE中的串口监视器,它会通过USB启动正确的软件重启。

谁将从这个项目中受益

FlopperZiro并不声称自己是实验室级无线电信号分析仪。FS1000A发射器的范围有限,天线只是一根导线。然而,对于想要了解SPI、I2C、子GHz原始数据包读取和智能卡协议如何工作而不需要额外花钱的学生和开发者来说,这是一个极好的训练场。

原理图和源代码可在项目GitHub仓库中获取,采用GPL-3.0许可证。构建它只需要基本的焊接技能和安装好的Arduino IDE。

相关项目