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:
Florian authored and GitHub committed 2018-11-05 22:02:27 +01:00
1 parent f77df7347f
commit d8dba15a81
182 files changed
+2701 -20768

No files matched your search

+10 -7
View File
@@ -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