Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
IoT Weather Station - Class B
#1
This is an ongoing project, and I plan to deploy the station in a month or so.  This setup leverages class B scientific grade meteorological instruments polled over serial MODBUS.  The controller enclosure's environment is monitored by a Kilcony RS-485 temperature and relative humidity RTU, and barometric pressure is monitored by a BMP280 over I2C.  The code base is in C i.e. ESP-IDF, and a sample implementation is available here.

Telemetry data model:

Code:
typedef struct rpu_telemetry_data_s {
    uint64_t    timestamp;
    struct rpu_s {
        char        network_id[16];
        char        name[32];
        uint32_t    system_uptime;
        uint64_t    reboot_timestamp;
        uint16_t    reboot_counter;
    } rpu;
    struct atmospheric_s {
        float                   spot_wind_speed;
        uint16_t                spot_wind_direction;
        float                   avg_wind_speed;
        uint16_t                avg_wind_direction;
        float                   max_wind_speed;
        uint16_t                max_wind_direction;
        float                   air_temperature;
        float                   relative_humidity;
        float                   dewpoint_temperature;
        float                   barometric_pressure;
        float                   precipitation_rate;
        hyrs2e_precip_types_t   precipitation_type;
    } atmospheric;
    struct ground_s {
        float   soil_temperature;
    } ground;
    struct cabinet_s {
        float   air_temperature;
        float   relative_humidity;
        float   dewpoint_temperature;
        cabinet_door_states_t door_status;
    } cabinet;
} rpu_telemetry_data_t;

Telemetry data is uploaded to ThingSpeak once a minute over MQTT when connected to a Wi-Fi network.


           
Reply
#2
good job.
Reply


Forum Jump:


Users browsing this thread:
1 Guest(s)