Merge pull request 'DHT-usage switchable, MQTT authentication optional, soil-sensor-parameter moved to config-file' (#1) from dht-switch into master
Reviewed-on: #1
This commit is contained in:
commit
23d4f8d2ec
|
|
@ -7,5 +7,12 @@
|
|||
const char *MQTT_BROKER = "192.168.178.74";
|
||||
const char *MQTT_SENSOR_TOPIC = "living/sensor2";
|
||||
const char *MQTT_CLIENT_ID = "living_mobile_sensor";
|
||||
const char *MQTT_LAST_WILL_TOPIC = "living/sensor2/status";
|
||||
const char *MQTT_LAST_WILL_MSG = "offline";
|
||||
const char *MQTT_CLIENT_USER = "NULL"; // if NULL, no username or password is used
|
||||
const char *MQTT_CLIENT_PW = "NULL"; // if NULL, no password is used
|
||||
|
||||
const int AirValue = 800; //replace the value with value when placed in air
|
||||
const int WaterValue = 345; //replace the value with value when placed in water
|
||||
|
||||
#endif
|
||||
|
|
@ -36,9 +36,8 @@ uint8_t rh_buf[RH_BUF_LEN];
|
|||
* */
|
||||
#include "config.h"
|
||||
|
||||
|
||||
const int AirValue = 800; //replace the value with value when placed in air
|
||||
const int WaterValue = 345; //replace the value with value when placed in water
|
||||
// const int AirValue = 800; //replace the value with value when placed in air
|
||||
// const int WaterValue = 345; //replace the value with value when placed in water
|
||||
|
||||
volatile boolean new_value = false;
|
||||
|
||||
|
|
@ -55,6 +54,7 @@ RH_ASK driver(RH_SPEED, RH_RX_PIN);
|
|||
#define MSG_BAT 0x20
|
||||
#define MSG_TEMPHUM 0x30
|
||||
#define MSG_ERR 0x40
|
||||
#define MSG_HUM 0x50
|
||||
|
||||
char buff[20];
|
||||
|
||||
|
|
@ -170,6 +170,14 @@ void loop()
|
|||
Serial.println(SoilHumidity);
|
||||
new_value = true;
|
||||
break;
|
||||
case MSG_HUM:
|
||||
Serial.println("Soil Humidity");
|
||||
memcpy(&soil, &rh_buf[1], 2);
|
||||
Serial.println(soil);
|
||||
SoilHumidity = (float)(map(soil, AirValue, WaterValue, 0, 100));
|
||||
Serial.println(SoilHumidity);
|
||||
new_value = true;
|
||||
break;
|
||||
case MSG_BAT:
|
||||
// battery data
|
||||
digitalWrite(LED_BUILTIN, LOW);
|
||||
|
|
@ -215,7 +223,9 @@ void reconnect()
|
|||
{
|
||||
Serial.println("INFO: Attempting MQTT connection...");
|
||||
// Attempt to connect
|
||||
if (mqttClient.connect(MQTT_CLIENT_ID))
|
||||
|
||||
// Should work without authentication, if credentials are NULL
|
||||
if (mqttClient.connect(MQTT_CLIENT_ID, MQTT_CLIENT_USER, MQTT_CLIENT_PW))
|
||||
{
|
||||
Serial.println("INFO: connected");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,4 +14,7 @@
|
|||
// Sleep this many again before waging up. Sleep time in s = WATCHDOG_WAKEUP s * WATCHDOG_SLEEP_FURTHER, e.g. 8*8s = 64s
|
||||
#define WATCHDOG_SLEEP_FURTHER 8
|
||||
|
||||
// define wether to use a DHT-Sensor or not
|
||||
bool USE_DHT_SENSOR = true;
|
||||
|
||||
#endif
|
||||
|
|
@ -68,7 +68,10 @@ void setup()
|
|||
pinMode(SOIL_PIN, INPUT);
|
||||
|
||||
// init the DHT22
|
||||
dht_init(&dht, DHT_PIN);
|
||||
if (USE_DHT_SENSOR == 1)
|
||||
{
|
||||
dht_init(&dht, DHT_PIN);
|
||||
}
|
||||
|
||||
uint8_t num_blink = 3;
|
||||
|
||||
|
|
@ -112,24 +115,35 @@ void loop()
|
|||
memcpy(&rh_buf[1], &battery, 4);
|
||||
rh_send(rh_buf,RH_BUF_LEN);
|
||||
}
|
||||
else if (dht_read_data(&dht, &t, &h) == 1)
|
||||
else if (USE_DHT_SENSOR == 1)
|
||||
{
|
||||
rh_buf[0] = MSG_TEMPHUM;
|
||||
memcpy(&rh_buf[1], &t, 4);
|
||||
memcpy(&rh_buf[5], &h, 4);
|
||||
soil = analogRead(SOIL_PIN);
|
||||
memcpy(&rh_buf[9], &soil, 2);
|
||||
if (dht_read_data(&dht, &t, &h) == 1)
|
||||
{
|
||||
rh_buf[0] = MSG_TEMPHUM;
|
||||
memcpy(&rh_buf[1], &t, 4);
|
||||
memcpy(&rh_buf[5], &h, 4);
|
||||
soil = analogRead(SOIL_PIN);
|
||||
memcpy(&rh_buf[9], &soil, 2);
|
||||
|
||||
rh_send(rh_buf,RH_BUF_LEN);
|
||||
rh_send(rh_buf,RH_BUF_LEN);
|
||||
}
|
||||
else
|
||||
{
|
||||
// error message
|
||||
blink(4);
|
||||
digitalWrite(TRANSISTOR_BASE_PIN, HIGH);
|
||||
delay(5);
|
||||
rh_buf[0] = MSG_ERR;
|
||||
rh_send(rh_buf,1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// error message
|
||||
blink(4);
|
||||
digitalWrite(TRANSISTOR_BASE_PIN, HIGH);
|
||||
delay(5);
|
||||
rh_buf[0] = MSG_ERR;
|
||||
rh_send(rh_buf,1);
|
||||
rh_buf[0] = MSG_HUM;
|
||||
soil = analogRead(SOIL_PIN);
|
||||
memcpy(&rh_buf[1], &soil, 2);
|
||||
|
||||
rh_send(rh_buf,RH_BUF_LEN);
|
||||
}
|
||||
counter++;
|
||||
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@
|
|||
#define MSG_BAT 0x20
|
||||
#define MSG_TEMPHUM 0x30
|
||||
#define MSG_ERR 0x40
|
||||
#define MSG_HUM 0x50 // case, sensor just reads soil-humidity
|
||||
|
||||
// for watchdog wakeup
|
||||
// https://gist.github.com/dwhacks/8055287
|
||||
|
|
|
|||
Loading…
Reference in New Issue