Expand description
echonet (uecho-rs)
The uecho-rs
is a portable and cross-platform development framework for creating controller applications and devices of ECHONET-Lite for Rust developers. 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 ?
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 specification devices.
- 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
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.
Modules
- Logger function module.
- messaging packet encoder and decoder module.
- Messaging transport manager module (Internal).
- Utility function module.
Structs
- Controller represents an ECHONET-Lite controller node to communicate other ECHONET-Lite nodes.
- Device represents an ECHONET-Lite device node. The device is created with a standard device object code, and the object is automatically added the standard properties which are specified in APPENDIX Detailed Requirements for ECHONET Device Objects by the ECHONET Consortium.
- Manufacture represents a manufacturer name and code registerd by the ECHONET CONSORTIUM.
- Node represents an ECHONET-Lite node which contains ECHONET-Lite objects such the profiles and the devices.
- Each ECHONET-Lite node has objects. Object represents an ECHONET-Lite Object in an ECHONET-Lite node.
- Each ECHONET-Lite object has properties. Property represents an ECHONET-Lite property in an ECHONET-Lite object.
- PropertyEnum represents an ECHONET-Lite property enumerated data.
- RemoteNode represents an ECHONET-Lite node discovered by Controller. The remote node has the standard objects and properties defined by the ECHONET CONSORTIUM.
- StandardDatabase provides a standard database for ECHONET-Lite device objects and manufactures. This standard database was generated by importing Machine Readable Appendix and Manufacturer code List provided by the ECHONET Consortium.
Enums
- PropertyRule represents an ECHONET-Lite property access rule.
Traits
- RequestHandler defines a request message handler interface.
Type Aliases
- ManufactureCode represents a manufacturer code registerd by the ECHONET CONSORTIUM.
- ObjectCode represents an ECHONET-Lite object code.
- RequestHandlerObject represents a request message handler object.