rak-rui3-eh-driver

Rust embedded-hal driver for the RAK LoRaWAN modules running RUI3 firmware in AT mode

1 unstable release

0.1.0 Aug 2, 2024

#680 in Embedded development

MIT license

31KB
735 lines

AT Driver for the RAK3172 WisDuo LPWAN Module

This respository contains a driver for the RAK3172 module running the RUI3 (RAK Unified Interface V3) firmware in AT mode. The driver is built on top of the atat crate.

The module doesn't really comply with the AT standard. In fact, the behavior of the module doesn't even match the official documentation. The following are the main differences we've found:

  • There's no \r\n marking the beginning of a response
  • It uses test commands (AT+FOO=?) instead of read commands (AT+FOO?)
  • Command parameters are separated by semicolons (:) instead of commas (,)

To overcome the differences we had to build our own digester (i.e. the command parser in the atat world).

TODO

  • Create a serializer similar to serde_at to support the limitations of the AT mode that we mentioned previously.
  • Remove STD dependencies
  • Publish on crates.io

Examples

  • linux-simple: example of interacting with the LoRaWAN module connected through a serial converter to a Linux computer. Requires the converter to be /dev/ttyUSB0.
    cd examples/linux_simple
    cargo run
    

For a more complete example visit Tested with the Dark Sky Meter Firmware.

Dependencies

~6MB
~113K SLoC