16 releases (stable)
1.3.1 | Sep 1, 2023 |
---|---|
1.3.0 | Aug 22, 2023 |
1.2.7 | May 7, 2023 |
1.2.6 | Feb 10, 2023 |
0.9.2 | Nov 27, 2022 |
#651 in Network programming
50 downloads per month
595KB
14K
SLoC
The uecho-rs
is a portable, cross-platform development framework for Rust developers to create ECHONET-Lite controller and device applications. ECHONET-Lite is an open standard specification for IoT devices in Japan, it specifies more than 100 IoT devices such as crime prevention sensors, air conditioners and refrigerators.
What is uEcho ?
The uecho-rs
is a comprehensive framework for ECHONET-Lite development in Rust. To implement IoT controllers or devices of ECHONET-Lite, the developer had to understand and implement the communication middleware specification such as the message format and base sequences.
The uecho-rs
provides the following major components to control ECHONET-Lite devices and create the standard ECHONET-Lite devices easily without in-depth ECHONET-Lite specification understanding.
- ECHONET-Lite controller to find and control ECHONET-Lite nodes.
- ECHONET-Lite device framework to implement any standard ECHONET-Lite devices.
- Decoder and Encoder for ECHONET-Lite messaging packet.
- Standard device database based on Machine Readable Appendix and Manufacturer code List provided by the ECHONET Consortium.
The uecho-rs
handles all ECHONET-Lite requests such as read, write and notification requests automatically. Therefore, Rust developers can implement the standard device and controller applications using the uecho-rs
easily by simply implementing the request message validators.
Getting Started
To add the uecho-rs
to your project, add the following to your Cargo.toml file:
[dependencies]
echonet = "1.x.x"
no_std
support:
[dependencies]
echonet = { version = "1.x.x", features = ["no_std"] }
The examples are available for ECHONET-Lite controller and device implementations using the uecho-rs
, check out the examples folder in GitHub.
Table of Contents
- Controller
- Device
- Examples
Getting Help
License
This project is licensed under the Apache-2.0 License.
Dependencies
~1.3–8.5MB
~72K SLoC