斐讯TC1免拆刷机教程:原理和操作步骤
家里还有斐讯 TC1,想让它继续用起来,又不想拆开外壳接烧录器?这篇就按实际操作顺序,介绍如何通过 Wi-Fi 首次安装社区固件。刷好并接入家里的网络后,可以用浏览器控制插口、设置定时、查看功率和电量,也可以按需接入 Home Assistant。
本文适用于 TC1 排插的 A1 硬件、原装 EMW3031 / MK3031 模组、原厂固件 1.0.0.26。TC1 A2、其他原厂版本,以及 A1 空气净化器不适用。开始前拔掉排插上连接的电器,刷写期间保持供电。
官方商城产品宣传图,经中关村在线历史报道获取上图为官方商城产品宣传图,经中关村在线历史报道获取;用于说明产品外观。本文由 phicomm-io 社区项目维护者整理,非本次实机刷写记录。
原理先讲明白,接下来就照步骤操作
给 TC1 发送一次本地升级请求后,它会切换到我们准备的热点,从电脑的 TFTP 文件服务下载固件;文件校验通过后,切换启动槽并重启。整个过程通过本地 Wi-Fi 完成,不需要打开外壳,也不依赖原厂云服务。
先分清两个角色:配网客户端连接 TC1 自己的热点,负责查询版本和发送请求;OTA 热点与文件服务器负责把固件交给 TC1。下面以一台电脑作为配网客户端,另一侧使用可配置的热点或路由器,加一台提供文件的电脑为例。文件服务也可运行在热点本机;若只用一台电脑兼任两侧,需要网卡与系统支持同时连接 Wi-Fi 和开热点。
第一步:生成升级文件 mico_ota.bin
在文件服务器电脑上,从项目固件下载入口选择适配 TC1 A1 的原始应用槽镜像,按完整指南核对文件。将它命名为 tc1_community.image.bin。这里要用 MRVL 开头的原始应用镜像;完整 .all.bin、整片备份和带 PHOTA001 头的网页升级包不能直接替代。
打开文件所在目录的终端,运行下面的 Python 代码。它会在镜像末尾追加 16 字节二进制 MD5,生成 mico_ota.bin。
python3 - <<'PY'
import hashlib
image = open('tc1_community.image.bin', 'rb').read()
assert image.startswith(b'MRVL'), '需要 MRVL 原始应用槽镜像'
assert len(image) + 16 <= 0xA9000, '镜像超出应用槽大小'
open('mico_ota.bin', 'wb').write(image + hashlib.md5(image).digest())
print('原始镜像字节数:', len(image))
print('原始镜像 MD5:', hashlib.md5(image).hexdigest())
print('升级文件字节数:', len(image) + 16)
PY
命令示例按 Linux/macOS 终端书写。Windows 可将两段 Python 代码各自保存为 .py 文件,再用 python 文件名.py 运行;后面的 curl 命令使用 curl.exe。固件指纹随发布可能变化,以完整指南对应的镜像为准。
第二步:建立升级用的热点
热点名称、频段和地址按下面设置:
热点名称(SSID):PHICOMM_OTA_AP,大小写完全一致。
频段:2.4 GHz;安全方式:开放、无密码。
关闭客户端隔离,允许无线客户端访问文件服务器。
文件服务器在 OTA 网络中的地址:10.0.0.2。
子网掩码:255.0.0.0,也就是 /8。
如果文件服务器通过网线接路由器,让这个热点桥接到服务器所在网络,确保 TC1 连上热点后能够访问 10.0.0.2。这里的地址属于升级网络,后面 TC1 自己的配网热点使用的是另一组地址。
第三步:开启 TFTP,并从无线侧试下载
把 mico_ota.bin 放进 TFTP 服务的根目录,服务器监听 OTA 网卡的 10.0.0.2,端口为 UDP 69。传输使用 octet 二进制模式、512 字节分块,不做选项协商。可以直接使用完整指南中“Python 只读 TFTP 服务端示例”,复制代码后按该节命令运行,保持服务窗口打开。
防火墙要允许这张网卡上的 TFTP 请求和后续传输端口;只开放 UDP 69 可能导致请求进来了却传不完。
然后用另一台客户端连接 PHICOMM_OTA_AP,完整下载一次 mico_ota.bin,核对下载文件与服务器文件的大小及 MD5。通过后,再让配网客户端切换到 TC1 热点。这个检查要从无线侧完成,不能用服务器自己下载代替。
官方产品图:上盖与插口布局官方产品宣传图:打开上盖后的插口布局。刷机时保持外壳完整即可,图中手机、充电器属于宣传场景,不是刷机接线要求。
第四步:重新上电,3 秒内双击配网键
现在让 TC1 重新上电,在上电后 3 秒内连续短按配网键两次。配网键位于机身正面 PHICOMM 标识处,位置见下图。看到 LED 慢闪(约 500 ms 周期)后,在电脑 Wi-Fi 列表里寻找 Phicomm_TC1_XXXX。末尾四位是设备识别信息,每台不同。
官方产品图裁切标注:配网键位置基于官方产品图裁切标注:正面 PHICOMM 标识处为触摸开关/配网键。
第五步:连接 TC1 热点,先查询原厂版本
配网客户端连接 Phicomm_TC1_XXXX 后,应获得 10.10.10.x/24 地址。在这台客户端电脑执行:
curl -s -m 5 http://10.10.10.1:8000/read-domain
查看返回的 VERSION 和 COMPILE_TIME,应分别是 1.0.0.26 与 Apr 13 2018 10:09:06。这个请求只读信息,不会开始刷写;版本不符就不要继续发送升级请求。
第六步:生成触发文件,再发送一次请求
确认升级热点和 TFTP 服务仍在运行。仍然连接 TC1 热点的配网客户端,在本地生成触发文件:
python3 - <<'PY'
body = b'A' * 392 + (0x1F073D9F).to_bytes(4, 'little') + bytes([0])
open('tftp-trigger.bin', 'wb').write(body)
print('触发文件字节数:', len(body))
PY
输出应为 397 字节。接着在同一目录执行下面这条命令,发送一次:
curl --max-time 30 --header 'Content-Type: application/json' --data-binary @tftp-trigger.bin http://10.10.10.1:8000/OTA
Windows 将开头的 curl 换为 curl.exe,其他参数保持不变。发出后,TC1 会离开原厂配网热点、切换到升级热点。连接中断时先去看 TFTP 窗口,不要立刻重复发送。
第七步:看下载完成,再找新固件热点
在文件服务器窗口观察 mico_ota.bin 的请求和下载进度。设备随后会校验文件、切换启动槽并重启。文件传完后继续等待,再刷新无线网络列表。
新固件启动后,应出现 TC1_A1-AP- 开头的热点,后面是 MAC 地址末六位的大写字符。它与刚才的 Phicomm_TC1_XXXX 名字不同。TFTP 传输完成只是中间一步,看到新热点并能打开设备网页,才说明新固件已经启动起来。
第八步:打开 192.168.0.1,连接家里的 Wi-Fi
连接 TC1_A1-AP- 开头的新热点,在浏览器地址栏输入 http://192.168.0.1 。打开设备本地网页后,按页面填写家里的 Wi-Fi 并保存,让 TC1 接入家庭网络。之后从路由器客户端列表找到它的地址,就可以继续用浏览器管理。
最后关闭临时开放的 PHICOMM_OTA_AP 热点,停止 TFTP 服务,恢复本次修改过的电脑网卡地址与防火墙设置。到这里,免拆安装流程就走完了。
刷好之后,日常怎么用?
在同一局域网打开设备网页,就能按需控制插口、配置定时,查看功率和电量。本地使用不要求先安装 Home Assistant;家里已有 HA 的话,再配置 MQTT 接入,把旧排插加入自己的自动化即可。
完整指南(固件选择、TFTP 服务端示例和排查步骤):https://phicomm-io.github.io/guides/tc1-no-disassembly.html
项目主页、固件下载与使用说明:https://phicomm-io.github.io/
图片来源:斐讯官方商城产品图,经中关村在线 2018 年报道《智能用电无线舒适 斐讯TC1智能插座上市》获取。原报道注明来源为 phimall.com/item-155.html;配网键位置图由产品原图裁切标注。报道链接:https://jd.zol.com.cn/690/6909430.html
本文按 2026-10-19 公开指南整理。phicomm-io 为社区维护项目,与原厂无隶属关系。
作者提示含AI生成内容。作者声明本文存在利益相关性,请大家尊重作者及分享的内容,友善沟通,理性决策~
