3个版本

0.1.5 2022年2月18日
0.1.4 2022年1月28日

#1490 in #networking

MIT/Apache

9KB
138

miio-proto

crate实现了用于通过WiFi/UDP控制小米设备的MIIO协议。

一些有用的链接

  • https://github.com/marcelrv/XiaomiRobotVacuumProtocol/blob/master/Protocol.md - 数据包格式
  • https://github.com/marcelrv/XiaomiRobotVacuumProtocol - 小米吸尘器JSON命令

lib.rs:

简单示例

let rt = tokio::runtime::Runtime::new().expect("Async runtime");
rt.block_on(async {
    let conn = Device::new(
        "192.168.1.1:54321",
        1234512345,
        [
            0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, 0xaa, 0xbb, 0xcc, 0xdd,
            0xee, 0xff,
        ],
    )
    .await
    .expect("Connect");
    conn.send_handshake().await.expect("Handshake");
    let (hello, _) = conn.recv().await.expect("Response");

    conn.send(
        hello.stamp + 1,
        "{'method':'power','id':1,'params':['off']}",
    )
    .await
    .expect("Request");
})

依赖关系

~5–12MB
~135K SLoC