weatherbox:data_specification

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
weatherbox:data_specification [2016/03/28 04:23]
kluong
weatherbox:data_specification [2021/09/19 21:59] (current)
Line 2: Line 2:
  
 This page contains the data specification versions for the weatherbox. ​ This page contains the data specification versions for the weatherbox. ​
 +
 +
  
  
Line 36: Line 38:
 | solar_irr_w_m2 ​    | 16            | Solar Irradiance. Taken from the apogee reading.. ​                                                                                                                             | | solar_irr_w_m2 ​    | 16            | Solar Irradiance. Taken from the apogee reading.. ​                                                                                                                             |
  
-In the interests of time, this packet is simplified from the original weatherbox specification. In this specification there are no varying sample rates for each data type - one packet gives you one sample point for each data type.  ​+This packet is simplified from the original weatherbox specification. In this specification there are no varying sample rates for each data type - one packet gives you one sample point for each data type.  ​
  
 ===== Converting from volts to w_m2 ===== ===== Converting from volts to w_m2 =====
Line 50: Line 52:
 $X_{sensor} (W/m^2) = V_{sensor} / (0.004V)$ $X_{sensor} (W/m^2) = V_{sensor} / (0.004V)$
  
 +====== EE 296 Full Schema ======
 +
 +This schema is the same as the EE 296 Basic Schema but contains more samples for the irradiance sensor as well as the battery voltage and panel voltage. ​
 +
 +<​code>​
 +typedef struct {
 +    uint16_t schema; ​             // Schema Identification Number
 +    uint16_t address;​  ​ // Address of the particular node
 +    uint32_t uptime_ms;​  ​ // Time since start of program
 +    uint16_t batt_mv[6];​  ​ // Battery Voltage (in milli volts)
 +    uint16_t panel_mv[6];​  ​ // Panel Voltage (in milli volts)
 +    uint32_t bmp185_press_pa;​  ​ // Pressure Value (in pascals)
 +    int16_t bmp185_temp_decic; ​   // Temperature Value (in celsius)
 +    uint16_t humidity_centi_pct;​
 +    uint16_t solar_irr_w_m2[20];​
 +} schema_296_full;​
 +</​code>​
 +
 +
 +Additional Comments:
 +
 +  * These numbers are all in reference to a minute - since batt_mv has 15 entries, there will be 15 samples per minute. These datapoints should be spread evenly through the minute. For example, batt_mv will be sampled every 60/15 or every 4 seconds. ​
 +  * Single data types are allowed to be sampled at any point during the minute, so long as it is consistent across all data points. ​
 +  * Your sampling pattern should be consistent for every minute. ​
 +  * For this schema, you should set the schema number in your packet to 297 instead of 296.
  
 ====== Schema v1 ====== ====== Schema v1 ======
Line 61: Line 88:
     uint32_t uptime_ms;​ //​ Time since start of program     uint32_t uptime_ms;​ //​ Time since start of program
     uint8_t n; // number of data points in packet 0..30     uint8_t n; // number of data points in packet 0..30
-    uint16_t batt_mv[15]; // Battery Voltage (in milli volts) +    uint16_t batt_mv[6]; // Battery Voltage (in milli volts) 
-    uint16_t panel_mv[15]; // Panel Voltage (in milli volts)+    uint16_t panel_mv[6]; // Panel Voltage (in milli volts)
     uint32_t bmp085_press_pa;​ //​ Pressure Value (in pascals)     uint32_t bmp085_press_pa;​ //​ Pressure Value (in pascals)
     int16_t bmp085_temp_decic; ​ // Temperature Value (in celsius)     int16_t bmp085_temp_decic; ​ // Temperature Value (in celsius)
     uint16_t humidity_centi_pct;​     uint16_t humidity_centi_pct;​
-    uint16_t apogee_w_m2[60];+    uint16_t apogee_w_m2[20];
 } schema_1; } schema_1;
  
Line 110: Line 137:
     uint16_t apogee_w_m2[20];​     uint16_t apogee_w_m2[20];​
 } schema_3; } schema_3;
 +</​code>​
 +====== Unified Packet Schema ======
 +// Schema Number 5
 +// Fields that are unimplemented should be set to 0
  
 +This schema is currently in draft.
  
 +<​code>​
 +typedef struct {
 +    uint16_t schema; ​             // Schema Identification Number
 +    uint16_t address;​  ​ // Address of the particular node
 +    uint32_t uptime_ms;​  ​ // Time since start of program
 +    float    batt_mv;​  ​ // Battery Voltage (in milli volts)
 +    float    panel_mv;​  ​ // Panel Voltage (in milli volts)
 +    float    bmp185_press_pa;​  ​ // Pressure Value (in pascals)
 +    float    bmp185_temp_decic; ​   // Temperature Value (in celsius)
 +    float    humidity_centi_pct;​
 +    float    solar_irr_w_m2;​
 +} schema_unified;​
 +// Total bytes to aim for under: 84
 </​code>​ </​code>​
 +
  • weatherbox/data_specification.1459139007.txt.gz
  • Last modified: 2021/09/19 21:59
  • (external edit)