{
  "added_at": "2026-10-17",
  "additional_evidence_urls": [
    "https://github.com/WildweaselMS/NJFE/blob/992866c6609f8c813f459ff79840cf04d5883f8e/NOTICE",
    "https://github.com/WildweaselMS/NJFE/blob/992866c6609f8c813f459ff79840cf04d5883f8e/REUSE.toml",
    "https://github.com/WildweaselMS/NJFE/blob/992866c6609f8c813f459ff79840cf04d5883f8e/LICENSE",
    "https://github.com/WildweaselMS/NJFE/blob/992866c6609f8c813f459ff79840cf04d5883f8e/SECURITY.md",
    "https://github.com/WildweaselMS/NJFE/blob/992866c6609f8c813f459ff79840cf04d5883f8e/wifi_scanner/platformio.ini",
    "https://github.com/WildweaselMS/NJFE/blob/992866c6609f8c813f459ff79840cf04d5883f8e/wifi_scanner/tools/requirements.txt",
    "https://github.com/WildweaselMS/NJFE/blob/992866c6609f8c813f459ff79840cf04d5883f8e/wifi_scanner/src_i4season/main.cpp",
    "https://github.com/WildweaselMS/NJFE/blob/992866c6609f8c813f459ff79840cf04d5883f8e/wifi_scanner/tools/viewer.py",
    "https://github.com/WildweaselMS/NJFE/blob/992866c6609f8c813f459ff79840cf04d5883f8e/wifi_scanner/tools/gui.py",
    "https://github.com/rbeilvert/otoscope/blob/d14ac8e368854146ded4f3347614a24539e6696a/README.md",
    "https://github.com/rbeilvert/otoscope/blob/d14ac8e368854146ded4f3347614a24539e6696a/app/src/main/kotlin/dev/rubec/otoscope/stream/i4season/I4seasonProtocol.kt",
    "https://github.com/rbeilvert/otoscope/blob/d14ac8e368854146ded4f3347614a24539e6696a/app/src/main/kotlin/dev/rubec/otoscope/stream/i4season/FrameAssembler.kt"
  ],
  "category": "reconstruction-cases",
  "description_en": "Reuses otoscope's reverse-engineered i4season/Soulear protocol in an ESP32-C3 bridge and Python desktop viewer. The author credits Claude Code for implementation and reports streaming one Hopefox Find T to a Windows PC, with recording, orientation and LED controls.",
  "description_zh": "在 ESP32-C3 桥接器与 Python 电脑查看器中复用 otoscope 经逆向得到的 i4season／Soulear 协议。作者将实现归功于 Claude Code 辅助，报告把一台 Hopefox Find T 的视频传到 Windows 电脑，并提供录像、方向调整及 LED 控制。",
  "entry_url": "https://awesomerea.org/resources/njfe-ear-camera-bridge-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/njfe-ear-camera-bridge-case/",
  "evidence_url": "https://github.com/WildweaselMS/NJFE/blob/992866c6609f8c813f459ff79840cf04d5883f8e/README.md",
  "group": "cases",
  "id": "njfe-ear-camera-bridge-case",
  "json_url": "https://awesomerea.org/resources/njfe-ear-camera-bridge-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/njfe-ear-camera-bridge-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/njfe-ear-camera-bridge-case/index.md",
  "name": "NJFE: a Soulear camera protocol bridge for desktop inspection",
  "name_zh": "NJFE：用于电脑检查的 Soulear 相机协议桥接",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "scope",
    "prerequisites",
    "attribution",
    "testing",
    "limits",
    "license"
  ],
  "requirements": [
    "Input is the camera’s Wi-Fi i4season/Soulear UDP traffic. An ESP32-C3 SuperMini with a 0.42-inch, 72×40 SSD1306 OLED reassembles JPEG frames and sends them with accelerometer data over custom USB CDC serial to the viewer. It is not a UVC webcam, the camera’s USB port is charge-only, and no vendor firmware or full app source is recovered.",
    "Builds with PlatformIO espressif32 6.11.0, Arduino core 2.0.17 and U8g2 ^2.35.30; the desktop tools need Python with Tkinter, pyserial >=3.5, opencv-python >=4.8, NumPy >=1.24 and Pillow >=12.3.0. Only Windows testing is reported.",
    "Packet format, commands, frame assembly and rotation logic are credited to rbeilvert/otoscope, which reverse engineered Soulear’s libWifiCamera.so; NJFE does not pin the borrowed revision.",
    "Results come from a single HKV41B-firmware Hopefox Find T (480×480 JPEG at about 17 fps). The --test N mode needs the hardware and there is no offline conformance suite.",
    "The camera network is open: the bridge accepts unauthenticated UDP that can inject images or replies, serial access is trusted and recordings are unencrypted. It is an inspection tool, not a medical device.",
    "GPL-3.0-or-later, with protocol code and roll calculation derived from GPL otoscope; third-party libraries keep their licenses, and no rights to vendor software or images are granted."
  ],
  "requirements_zh": [
    "输入是相机的 Wi-Fi i4season／Soulear UDP 流量。ESP32-C3 SuperMini 配合 0.42 英寸、72×40 SSD1306 OLED 重组 JPEG 帧，并通过自定义 USB CDC 串口将图像与加速度计数据送入查看器。输出不是 UVC 摄像头，相机自身的 USB 口仅供充电，项目也未恢复厂商固件或完整应用源码。",
    "构建使用 PlatformIO espressif32 6.11.0、Arduino core 2.0.17 和 U8g2 ^2.35.30；电脑工具需要带 Tkinter 的 Python，以及 pyserial >=3.5、opencv-python >=4.8、NumPy >=1.24 和 Pillow >=12.3.0。项目只报告了 Windows 测试。",
    "数据包格式、命令、帧组装与旋转逻辑归功于 rbeilvert/otoscope，该项目逆向了 Soulear 的 libWifiCamera.so；NJFE 未固定所借用的修订版本。",
    "结果仅来自一台固件为 HKV41B 的 Hopefox Find T（480×480 JPEG，约 17 fps）。--test N 模式需要连接硬件，且没有离线一致性测试集。",
    "相机网络是开放的：桥接器接收未经认证、可能被注入图像或回复的 UDP 流量，串口访问被视为可信，录像未加密保存。项目定位为检查工具，而非医疗器械。",
    "采用 GPL-3.0-or-later，协议代码与姿态角计算派生自 GPL otoscope；第三方库保留各自许可证，也不授予厂商软件或图像的使用权。"
  ],
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/WildweaselMS/NJFE",
  "verification": "source-reviewed",
  "verified_at": "2026-10-17"
}
