Payload Format Changes
This commit is contained in:
parent
68697a4b19
commit
c4cd51a791
|
@ -159,30 +159,42 @@ void setup()
|
|||
|
||||
void loop()
|
||||
{
|
||||
// Without Sensor (Beacon Mode) just send the Battery Voltage
|
||||
// Use less acurate Battery Voltage Reading (100mv Steps) to be
|
||||
// Compatible with IOT-Usergroup Basenodes
|
||||
// Create Data Structure for Sensor Data
|
||||
#ifdef HAS_NO_SENSOR
|
||||
uint8_t data[1];
|
||||
struct lora_data {
|
||||
uint8_t bat;
|
||||
} __attribute__ ((packed)) data;
|
||||
#elif defined HAS_SHT21
|
||||
struct lora_data {
|
||||
uint8_t bat;
|
||||
int32_t temperature;
|
||||
int32_t humidity;
|
||||
} __attribute__ ((packed)) data;
|
||||
#elif defined HAS_BME280
|
||||
struct lora_data {
|
||||
uint8_t bat;
|
||||
int32_t temperature;
|
||||
int32_t humidity;
|
||||
int32_t pressure;
|
||||
} __attribute__ ((packed)) data;
|
||||
#endif
|
||||
|
||||
// Get Sensor Data
|
||||
#ifdef HAS_BME280
|
||||
int32_t data[4] = {0, 0, 0, 0};
|
||||
sensor.getData(&data[0], &data[1], &data[2]);
|
||||
|
||||
sensor.getData(&data.temperature, &data.pressure, &data.humidity);
|
||||
#endif
|
||||
|
||||
#ifdef HAS_SHT21
|
||||
int32_t data[4] = {0, 0, 0, 0};
|
||||
data[0] = (int32_t)(sensor.getTemperature()*100);
|
||||
data[2] = (int32_t)(sensor.getHumidity()*100);
|
||||
data.temperature = (int32_t)(sensor.getTemperature()*100);
|
||||
data.humidity = (int32_t)(sensor.getHumidity()*100);
|
||||
#endif
|
||||
|
||||
#ifdef HAS_NO_SENSOR
|
||||
data[0] = (uint8_t)(readVcc()/20);
|
||||
#else
|
||||
data[3] = readVcc();
|
||||
#endif
|
||||
// Add Battery Voltage, 20mv steps, encoded into 1 Byte
|
||||
uint32_t batv = readVcc();
|
||||
data.bat = (uint8_t)(batv/20);
|
||||
if (batv % 20 > 9)
|
||||
data.bat += 1;
|
||||
|
||||
// LED On before Sending
|
||||
#ifdef LED_PIN
|
||||
|
@ -191,12 +203,12 @@ void loop()
|
|||
|
||||
#ifdef RF_LORA
|
||||
// Send LoRa Packet, Increment Frame Counter
|
||||
lora.Send_Data((unsigned char *)data, sizeof(data), Frame_Counter_Tx, SF7BW125);
|
||||
lora.Send_Data((unsigned char *)&data, sizeof(data), Frame_Counter_Tx, SF7BW125);
|
||||
Frame_Counter_Tx++;
|
||||
#endif
|
||||
|
||||
#ifdef RF_RFM69
|
||||
radio.send(RFM69_GATEWAY, data, sizeof(data));
|
||||
radio.send(RFM69_GATEWAY, &data, sizeof(data));
|
||||
radio.sleep();
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue