# fuji-cam-wifi-tool：重建 Fujifilm X 系列相机 Wi-Fi 遥控协议

> 以 C++ 库和交互式命令行客户端重新实现 Fujifilm X 系列相机的 Wi-Fi 遥控协议，客户端需接入相机自建的无线接入点。头文件列出控制、事件和 JPEG 实时取景所用端口、报文类型及相机属性代码，源码注释保留了若干交互的十六进制记录，并注明“the app”发送的内容；客户端可连接相机、触发快门、录制视频、调整曝光参数与对焦点，并传输实时取景画面，还可选择输出到 Linux 摄像头设备。README 称该工具功能很有限、基本没有文档，因此协议知识只存在于代码和注释中，并无成文规范。

- 类型：案例
- 目标：协议
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-20
- 收录于：2026-11-02
- 原始资源：<https://github.com/hkr/fuji-cam-wifi-tool>
- 一手来源：<https://github.com/hkr/fuji-cam-wifi-tool/blob/c597fc42151f0e4c726714e63dd13552b9fad3aa/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/fuji-cam-wifi-tool-protocol-case/>
- 记录 JSON：<https://awesomerea.org/resources/fuji-cam-wifi-tool-protocol-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/fuji-cam-wifi-tool-protocol-case/index.md)

## 使用条件与局限

- 审阅基于 master 分支 2021-03-17 的提交 c597fc4，即仓库最后一次推送；没有发布版本或标签。README 称这是逆向该协议的尝试，工具功能很有限、基本没有文档，并建议直接阅读代码。连接步骤以 X-T10 为例，源码注释另提到 X-T100 的对焦点范围；未给出其他 X 系列型号的兼容列表。
- 需要使用者自有、支持 Wi-Fi 遥控的 Fujifilm X 系列相机：电脑接入相机自建的无线接入点，客户端连接 192.168.0.1 的 55740–55742 端口，首次连接须在相机上确认，工具会以“HackedClient”名义注册。仓库不含相机固件、Fujifilm 应用或抓包文件；README 提供了用于查看控制报文和 JPEG 流帧的 Wireshark 显示过滤器。
- README 说明可在 macOS、Linux 和 Windows 上用 CMake 构建（最低 CMake 2.8.11，C++11）。交互式命令行需要初始化 hkr/linenoise-ng 子模块，Windows 构建需链接 Winsock。可选的 OpenCV 支持增加 stream_cv 命令，可把实时取景送入 Linux v4l2loopback 设备作为摄像头使用。
- 仓库没有测试或 CI。报文含义是在代码注释中推断的，其中多处标为未知或待办，命令在相机上的表现仍属贡献者自述。
- 采用 Unlicense（公有领域贡献声明）；AUTHORS.txt 列出五位贡献者。Fujifilm 相机、固件、应用和商标仍归各自权利人所有。

## 一手来源

1. <https://github.com/hkr/fuji-cam-wifi-tool/blob/c597fc42151f0e4c726714e63dd13552b9fad3aa/README.md>
2. <https://github.com/hkr/fuji-cam-wifi-tool/blob/c597fc42151f0e4c726714e63dd13552b9fad3aa/lib/include/comm.hpp>
3. <https://github.com/hkr/fuji-cam-wifi-tool/blob/c597fc42151f0e4c726714e63dd13552b9fad3aa/lib/include/message.hpp>
4. <https://github.com/hkr/fuji-cam-wifi-tool/blob/c597fc42151f0e4c726714e63dd13552b9fad3aa/lib/include/capabilities.hpp>
5. <https://github.com/hkr/fuji-cam-wifi-tool/blob/c597fc42151f0e4c726714e63dd13552b9fad3aa/lib/src/commands.cpp>
6. <https://github.com/hkr/fuji-cam-wifi-tool/blob/c597fc42151f0e4c726714e63dd13552b9fad3aa/tool/src/main.cpp>
7. <https://github.com/hkr/fuji-cam-wifi-tool/blob/c597fc42151f0e4c726714e63dd13552b9fad3aa/tool/CMakeLists.txt>
8. <https://github.com/hkr/fuji-cam-wifi-tool/blob/c597fc42151f0e4c726714e63dd13552b9fad3aa/.gitmodules>
9. <https://github.com/hkr/fuji-cam-wifi-tool/blob/c597fc42151f0e4c726714e63dd13552b9fad3aa/AUTHORS.txt>
10. <https://github.com/hkr/fuji-cam-wifi-tool/blob/c597fc42151f0e4c726714e63dd13552b9fad3aa/LICENSE>

## 同分区更多条目：协议

- [Gymnasticon：将专有健身单车数据转为标准骑行传感器信号](https://awesomerea.org/zh/resources/gymnasticon-exercise-bike-bridge-case/index.md) · 案例
- [garmin-ble：Garmin 手表 GFDI 协议的 Python 客户端](https://awesomerea.org/zh/resources/garmin-ble-gfdi-protocol-case/index.md) · 案例
- [bosectl：重建 Bose BMAP 耳机协议](https://awesomerea.org/zh/resources/bosectl-bose-bmap-protocol-case/index.md) · 案例
- [lib-osmo-ble：DJI Osmo Pocket 3 低功耗蓝牙协议库](https://awesomerea.org/zh/resources/osmo-pocket-3-ble-protocol-case/index.md) · 案例
- [DJI MIMO BLE 逆向素材：重建 DJI Osmo 控制协议](https://awesomerea.org/zh/resources/dji-mimo-ble-reveng-case/index.md) · 案例
- [Cat Printer BLE：重建 MXW01 热敏打印机协议](https://awesomerea.org/zh/resources/catprinterble-mxw01-printer-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
