使用 esp-rs 和米家集成的智能开关固件。
- 创建小米米家产品,产品配网方式为 Combo 配网模式,功能定义见 spec.json
- 根据产品信息配置
main.rs
中的代码let mut miio = crate::miio::IoTFramework::new( peripherals.uart1, pins.gpio12, pins.gpio11, "csbupt.switch.smsw", // model "0001", // version "24351" // pid )?;
- (可选)在米家开发者平台—高阶配置-消息推送/自动化配置中配置高级功能
- gpio1: 连接到光线传感器的模拟输出
- gpio9: 连接到舵机的 pwm 输入
- gpio12: 串口 tx - 与米家模块的 rx 连接
- gpio11: 串口 rx - 与米家模块的 tx 连接
由于本项目新增了一些额外功能,所以单独开发了米家 App 的米家插件,为用户提供自定义的控制界面。
见 ./com.youxam.smsw/README.md。
在米家开发者平台—扩展程序中新建自定义版本并上传程序包。
首先编译前端(连接校园网部分)
pushd frontend
pnpm i
pnpm run build
popd
然后编译固件
cargo run
- restore: 上电后重置米家模块到出厂状态
- clean_nvs:清除 nvs 存储,删掉保存在 flash 中的校园网账号和密码
- random_mac:随机生成 mac 地址,相当于登出校园网
上电后,通过手机连接到 smart-light
WIFI,手机自动打开 http://192.168.71.1
,输入校园网账号和密码,点击登录。
手机打开米家 APP,添加设备,选择米家开发者平台创建的产品,按照提示操作。