Publish refactoring (#298)
* factoring of the publishing function * integration of json publishing to MQTT * receiving and transcode json messages from mqtt * replace the TRACE runtime condition by a buildtime one so as to decrease program size * remove retainFlag parameter not necessary for the moment * Increase the scope of tests for arduino mega and esp32 * Update arduinojson library to 5.13.3 * add macros to choose between simple or json publishing or both * differentiate build test for ATmega2560 * correct wrong sprintf definition * change IDE version for continuous integration * let default warning level in arduino ide * correct pins for ESP32 * reorganize user_config
This commit is contained in:
1 parent
f77df7347f
commit
d8dba15a81
182 files changed
+2701
-20768
No files matched your search
+10
-7
@@ -34,6 +34,9 @@ void setupHCSR501() {
|
||||
|
||||
void MeasureHCSR501(){
|
||||
if (millis() > TimeBeforeStartHCSR501) {//let time to init the PIR sensor
|
||||
trc(F("Creating HCSR501 buffer"));
|
||||
StaticJsonBuffer<JSON_MSG_BUFFER> jsonBuffer;
|
||||
JsonObject& HCSR501data = jsonBuffer.createObject();
|
||||
static int pirState = LOW;
|
||||
int PresenceValue = digitalRead(HCSR501_PIN);
|
||||
#if defined(ESP8266) || defined(ESP32)
|
||||
@@ -41,19 +44,19 @@ void MeasureHCSR501(){
|
||||
#endif
|
||||
if (PresenceValue == HIGH) {
|
||||
if (pirState == LOW) {
|
||||
// turned on
|
||||
client.publish(subjectHCSR501toMQTT,"true");
|
||||
trc(F("HC SR501 Motion detected"));
|
||||
//turned on
|
||||
HCSR501data.set("hcsr501", "true");
|
||||
pirState = HIGH;
|
||||
}
|
||||
} else {
|
||||
if (pirState == HIGH){
|
||||
// turned off
|
||||
client.publish(subjectHCSR501toMQTT,"false");
|
||||
trc(F("HC SR501 Motion ended"));
|
||||
pirState = LOW;
|
||||
// turned off
|
||||
HCSR501data.set("hcsr501", "false");
|
||||
trc(F("HC SR501 Motion ended"));
|
||||
pirState = LOW;
|
||||
}
|
||||
}
|
||||
if(HCSR501data.size()>0) pub(subjectHCSR501toMQTT,HCSR501data);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in new issue
Block a user