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§
- log
- Logger function module.
- protocol
- messaging packet encoder and decoder module.
- transport
- Messaging transport manager module (Internal).
- util
- Utility function module.
Structs§
- Controller
- Controller represents an ECHONET-Lite controller node to communicate other ECHONET-Lite nodes.
- Device
- 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
- Manufacture represents a manufacturer name and code registerd by the ECHONET CONSORTIUM.
- Node
- Node represents an ECHONET-Lite node which contains ECHONET-Lite objects such the profiles and the devices.
- Object
- Each ECHONET-Lite node has objects. Object represents an ECHONET-Lite Object in an ECHONET-Lite node.
- Property
- Each ECHONET-Lite object has properties. Property represents an ECHONET-Lite property in an ECHONET-Lite object.
- Property
Enum - PropertyEnum represents an ECHONET-Lite property enumerated data.
- Remote
Node - RemoteNode represents an ECHONET-Lite node discovered by Controller. The remote node has the standard objects and properties defined by the ECHONET CONSORTIUM.
- Standard
Database - 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§
- Property
Rule - PropertyRule represents an ECHONET-Lite property access rule.
Traits§
- Request
Handler - RequestHandler defines a request message handler interface.
Type Aliases§
- Manufacture
Code - ManufactureCode represents a manufacturer code registerd by the ECHONET CONSORTIUM.
- Object
Code - ObjectCode represents an ECHONET-Lite object code.
- Request
Handler Object - RequestHandlerObject represents a request message handler object.