前言
涂鸦是一个为IoT设备设计的固件平台,拥有丰富的智能家居所需功能的接口,亚马逊上有很多廉价的小品牌WiFi智能家居都是使用涂鸦智能的解决方案。一种比较简单的判断智能设备是否是涂鸦固件的方法是使用涂鸦官方的Tuya Smart
或Smart Life
应用来添加你的智能家居,若能添加成功便说明该智能家居为涂鸦固件。即使智能家居提供了单独的应用程序,其风格也和原生的涂鸦应用风格接近(实际上就是一种很有特点且毫无美感的应用设计)。各家智能家居品牌通过向涂鸦支付对应的价格来获得更多的智能家居功能,包括接入Google Assistant/ Amazon Alexa/ Apple Siri的权限,创建单独的应用程序,上架应用商店。
涂鸦提供了齐全的固件功能,允许让普通商品制造商以一个较低的成本定制其品牌的智能家居。但是,涂鸦固件对于有高级需求的用户而言并不好用。其自动化程序可定制性低,海外服务器延迟高,手机应用难看又难用,所以将涂鸦设备刷为ESPHome或Tasmota是涂鸦智能设备用户的选择之一。tuya-convert是一个开源的刷机工具,其通过固件升级的渠道将自定义固件刷入设备,避免了短接设备刷机造成设备损坏的风险。
准备材料
- 需要刷固件的涂鸦设备,本文使用的是TopGreener TGWF115PRM
- 一个有无线网卡的Linux设备(笔记本电脑、树莓派、直通无线网卡的虚拟机)
- 另一个有无线网卡的设备 (你的手机)
刷机
- 下载最新的tuya-convert
git clone https://github.com/ct-Open-Source/tuya-convert
cd tuya-convert
./install_prereq.sh
- 如果需要刷ESPHome,你需要下载固件并放在
files
目录下,并一会在选择固件时选择它
- 在Linux设备上运行
install_prereq.sh
脚本
./start_flash.sh
按照命令行提示开启服务
- 此时你的Linux设备会开启一个名为
vtrust_flash
的无线网热点
- 此时你的Linux设备会开启一个名为
- 使用你的手机连接到该热点
将涂鸦设备重置进配对模式
- 此时,设备的LED灯应该快速闪烁
- 在命令行中回车,继续执行脚本
稍等片刻,tuya-convert会读取到你的IoT设备并展示其网络信息
- 实际上,因为你的手机已经占了一个网络位置,你的IoT设备IP一定会是
10.42.42.42
- 实际上,因为你的手机已经占了一个网络位置,你的IoT设备IP一定会是
- 根据命令行的提示,选择需要刷入的固件。此处,我们选择Tasmota
- tuya-convert会开始传输该固件,注意在这段时间内不要将设备断电
- 固件写入完成后,等待IoT设备自动重启
配置Tasmota
- IoT设备重启完成后,LED灯缓慢闪烁
使用任意设备,搜索无线网络,找到并连接到一个名称格式为
tasmota_XXXXX_XXXX
的网络- 记住这里无线网络的名称
连接后,设备会自动跳入Tasmota网络设置页面
- 若没有跳转,可以访问
192.168.4.1
- 若没有跳转,可以访问
- 选择顶部的
Scan for wifi networks
- 选择你的家庭无线网络
- 在
AP1 Password
一栏中输入家庭无线网络的密码 - 点击底部的保存按钮
- IoT设备会保存该网络设置并自动重启,之后LED灯保持常亮
通过你的路由器或者其它网络工具,找到该设备的内网IP地址
- 一个技巧是,该IoT的网络设备名和刚刚搜索的无线网络
tasmota_XXXXX_XXXX
是同名
- 一个技巧是,该IoT的网络设备名和刚刚搜索的无线网络
配置设备
- 通过浏览器直接访问你的Tasmota IoT的IP地址
- 我们需要为Tasmota填充合适的配置文件以适配该IoT设备
- 进入
Configuration
菜单 - 如果你需要试验一个新的IoT设备,你可以在
Configure Module
中进行调试 - 如果你有一个像这样的配置文件,你可以直接点击
Configure Other
- 在
Template
字段中粘贴你的配置文件,并勾选Activate
- 稍后,你的IoT设备会自动重启
- 重启后,我们就可以看到Tasmota已经开始读取IoT设备数据了
刷机失败
- 在刷机过程中因为断电或网络问题,造成刷机失败的情况下,我们可以通过Tasmota的恢复模式来恢复IoT设备出厂固件
- 将你的IoT设备断电后再次接电
- 使用你具有无线网络功能的设备搜索并加入名为
vtrust-recovery
的网络 - 访问
10.42.42.42
,直到其网页服务可以被打开为止
- 访问
10.42.42.42/undo
页面,你的设备将会回滚到出厂固件
参考文章:
Github: ct-Open-Source/tuya-convert
ESPHome: Prepare a device with tuya-convert
Tasmota Device Recovery
转载请标注来源