2 个版本

0.1.2 2023年8月28日
0.1.1 2023年3月23日

#1974 in 解析实现

MIT 许可协议

52KB
1K SLoC

非官方 Rust 实现 Remo 云 API 解析器。

概述

Nature Remo 系列的 Cloud API 返回的 JSON 数据解析器,用于提取各种信息(非官方)

支持的 API

计划支持

  • 如有时间,将支持 appliances 的其他节点

使用方法

通过向 nature_api::read_devices 指定实现了 embedded_io::Reader 的类型、流长度和处理设备信息的回调,可以解析从 Reader 实现类型读取的数据,每当确定设备信息时,回调将被调用。

use embedded_io::adapters;
use nature_api::read_devices;
use std::{fs::File, io::Read};

fn main() {
    let mut file = File::open("data/devices.json").unwrap();
    let file_length = file.metadata().unwrap().len();
    let mut reader = embedded_io::adapters::FromStd::new(&mut file);
    let mut num_devices = 0;
    read_devices(
        &mut reader,
        Some(file_length as usize),
        |device, sub_node| {
            if sub_node.is_none() {
                num_devices += 1;
            }
            println!("{:?} {:?}", device, sub_node);
        },
    )
    .unwrap();
    println!("num_devices: {}", num_devices);
}

回调的第一个参数是 &nature_api::Device,第二个参数是 Option(&DeviceSubNode)

许可协议

本库可在 MIT 许可协议下使用。

依赖项

~4.5–6.5MB
~133K SLoC