dht-logger

Crates.iodht-logger
lib.rsdht-logger
version0.2.3
sourcesrc
created_at2021-01-21 07:39:31.021436
updated_at2022-08-04 05:09:15.729269
descriptionRead DHT sensor data formatted in JSON over a serial interface and log it.
homepagehttps://github.com/domagalski/dht-logger-rs
repositoryhttps://github.com/domagalski/dht-logger-rs
max_upload_size
id344766
size46,501
Rachel Simone Domagalski (domagalski)

documentation

https://docs.rs/dht-logger

README

dht-logger

Read DHT sensor data formatted in JSON over a serial interface and log it.

This crate is still under development and is not stable.

This crate is for logging measurement from a device reading DHT sensors and writing the measurements over a serial connection. The hardware producing the data does not matter, but it must be logging data over serial in JSON with fields for temperature, humidity, and heat index. Here's a pretty version of an example reading:

{
  "sensor_label": {
    "t": 20.0,
    "h": 50.0,
    "hi": 20.0
  },
  "another_sensor": {
    "error": "some error message"
  }
}

This code has been tested using arduino-dht-logger as the hardware source providing data over serial.

Example

The following example creates a DHT logger from a configuration file, then reads data from the serial port and logs it to whatever logging channels are configured.

use std::path::Path;
use dht_logger::DhtLogger;

let config_path = Path::new("example_config.yaml");
let config = DhtLoggerConfig::load_yaml(config_path);
let logger = DhtLogger::from_config(&config);
logger.read_sensor_and_log_data(10);

Cross compiling for the Raspberry Pi

The cross-compilation procedure for Raspberry Pi is modified from rust-embedded/cross as libudev-dev is required for compilation, which isn't in the default docker images cross provides. Currently the Raspberry Pi Zero and 4B models are supported. To set up the cross-compilation for both the 4B and zero, run the bootstrap script:

./bootstrap.sh

After ./bootstrap.sh is finished, the build.sh script can be run with either 4b or zero as the arguments to determine the target.

Commit count: 26

cargo fmt