From 1531015c35a698279c3215cd2b8719e63d4a8c98 Mon Sep 17 00:00:00 2001 From: "sanket.wadekar" Date: Wed, 14 Dec 2022 17:31:28 +0530 Subject: [PATCH 1/2] Changed OTA type in Rainmaker examples --- libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino | 2 +- .../examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino | 2 +- .../examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino | 2 +- libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino b/libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino index 74b0c39bd3d..a5889832647 100644 --- a/libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino +++ b/libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino @@ -83,7 +83,7 @@ void setup() my_node.addDevice(my_device); //This is optional - RMaker.enableOTA(OTA_USING_PARAMS); + RMaker.enableOTA(OTA_USING_TOPICS); //If you want to enable scheduling, set time zone for your region using setTimeZone(). //The list of available values are provided here https://rainmaker.espressif.com/docs/time-service.html // RMaker.setTimeZone("Asia/Shanghai"); diff --git a/libraries/RainMaker/examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino b/libraries/RainMaker/examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino index aa59c060f70..ee654d68e86 100644 --- a/libraries/RainMaker/examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino +++ b/libraries/RainMaker/examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino @@ -143,7 +143,7 @@ void setup() my_node.addDevice(my_device); //This is optional - // RMaker.enableOTA(OTA_USING_PARAMS); + // RMaker.enableOTA(OTA_USING_TOPICS); //If you want to enable scheduling, set time zone for your region using setTimeZone(). //The list of available values are provided here https://rainmaker.espressif.com/docs/time-service.html // RMaker.setTimeZone("Asia/Shanghai"); diff --git a/libraries/RainMaker/examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino b/libraries/RainMaker/examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino index 38b459ffd20..91c5fdd4e62 100644 --- a/libraries/RainMaker/examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino +++ b/libraries/RainMaker/examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino @@ -129,7 +129,7 @@ void setup() my_node.addDevice(my_switch2); //This is optional - RMaker.enableOTA(OTA_USING_PARAMS); + RMaker.enableOTA(OTA_USING_TOPICS); //If you want to enable scheduling, set time zone for your region using setTimeZone(). //The list of available values are provided here https://rainmaker.espressif.com/docs/time-service.html // RMaker.setTimeZone("Asia/Shanghai"); diff --git a/libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino b/libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino index 53d71387b15..944a28ac60a 100644 --- a/libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino +++ b/libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino @@ -72,7 +72,7 @@ void setup() my_node.addDevice(my_switch); //This is optional - RMaker.enableOTA(OTA_USING_PARAMS); + RMaker.enableOTA(OTA_USING_TOPICS); //If you want to enable scheduling, set time zone for your region using setTimeZone(). //The list of available values are provided here https://rainmaker.espressif.com/docs/time-service.html // RMaker.setTimeZone("Asia/Shanghai"); From cee6594baff22a2ff0fbc5c1a00a384e17a31f95 Mon Sep 17 00:00:00 2001 From: "sanket.wadekar" Date: Thu, 15 Dec 2022 11:33:05 +0530 Subject: [PATCH 2/2] fix: Added patch in Rainmaker examples to prevent crashes during provisioning --- .../examples/RMakerCustom/RMakerCustom.ino | 16 +++++++++---- .../RMakerCustomAirCooler.ino | 16 +++++++++---- .../RMakerSonoffDualR3/RMakerSonoffDualR3.ino | 24 ++++++++++++------- .../examples/RMakerSwitch/RMakerSwitch.ino | 16 +++++++++---- 4 files changed, 49 insertions(+), 23 deletions(-) diff --git a/libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino b/libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino index a5889832647..b3690f4638d 100644 --- a/libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino +++ b/libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino @@ -29,13 +29,19 @@ void sysProvEvent(arduino_event_t *sys_event) switch (sys_event->event_id) { case ARDUINO_EVENT_PROV_START: #if CONFIG_IDF_TARGET_ESP32S2 - Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop); - printQR(service_name, pop, "softap"); + Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop); + printQR(service_name, pop, "softap"); #else - Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop); - printQR(service_name, pop, "ble"); + Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop); + printQR(service_name, pop, "ble"); #endif - break; + break; + case ARDUINO_EVENT_PROV_INIT: + wifi_prov_mgr_disable_auto_stop(10000); + break; + case ARDUINO_EVENT_PROV_CRED_SUCCESS: + wifi_prov_mgr_stop_provisioning(); + break; default:; } } diff --git a/libraries/RainMaker/examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino b/libraries/RainMaker/examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino index ee654d68e86..ddfa355e0d4 100644 --- a/libraries/RainMaker/examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino +++ b/libraries/RainMaker/examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino @@ -46,13 +46,19 @@ void sysProvEvent(arduino_event_t *sys_event) switch (sys_event->event_id) { case ARDUINO_EVENT_PROV_START: #if CONFIG_IDF_TARGET_ESP32S2 - Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop); - printQR(service_name, pop, "softap"); + Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop); + printQR(service_name, pop, "softap"); #else - Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop); - printQR(service_name, pop, "ble"); + Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop); + printQR(service_name, pop, "ble"); #endif - break; + break; + case ARDUINO_EVENT_PROV_INIT: + wifi_prov_mgr_disable_auto_stop(10000); + break; + case ARDUINO_EVENT_PROV_CRED_SUCCESS: + wifi_prov_mgr_stop_provisioning(); + break; default:; } } diff --git a/libraries/RainMaker/examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino b/libraries/RainMaker/examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino index 91c5fdd4e62..8ae1e5434f9 100644 --- a/libraries/RainMaker/examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino +++ b/libraries/RainMaker/examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino @@ -39,21 +39,29 @@ void sysProvEvent(arduino_event_t *sys_event) switch (sys_event->event_id) { case ARDUINO_EVENT_PROV_START: #if CONFIG_IDF_TARGET_ESP32 - Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop); - printQR(service_name, pop, "ble"); + Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop); + printQR(service_name, pop, "ble"); #else - Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop); - printQR(service_name, pop, "softap"); + Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop); + printQR(service_name, pop, "softap"); #endif - break; + break; case ARDUINO_EVENT_WIFI_STA_CONNECTED: - Serial.printf("\nConnected to Wi-Fi!\n"); - digitalWrite(gpio_led, true); - break; + Serial.printf("\nConnected to Wi-Fi!\n"); + digitalWrite(gpio_led, true); + break; + case ARDUINO_EVENT_PROV_INIT: + wifi_prov_mgr_disable_auto_stop(10000); + break; + case ARDUINO_EVENT_PROV_CRED_SUCCESS: + wifi_prov_mgr_stop_provisioning(); + break; default:; } } + + void write_callback(Device *device, Param *param, const param_val_t val, void *priv_data, write_ctx_t *ctx) { const char *device_name = device->getDeviceName(); diff --git a/libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino b/libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino index 944a28ac60a..4594fbb75af 100644 --- a/libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino +++ b/libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino @@ -28,13 +28,19 @@ void sysProvEvent(arduino_event_t *sys_event) switch (sys_event->event_id) { case ARDUINO_EVENT_PROV_START: #if CONFIG_IDF_TARGET_ESP32S2 - Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop); - printQR(service_name, pop, "softap"); + Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop); + printQR(service_name, pop, "softap"); #else - Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop); - printQR(service_name, pop, "ble"); + Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop); + printQR(service_name, pop, "ble"); #endif - break; + break; + case ARDUINO_EVENT_PROV_INIT: + wifi_prov_mgr_disable_auto_stop(10000); + break; + case ARDUINO_EVENT_PROV_CRED_SUCCESS: + wifi_prov_mgr_stop_provisioning(); + break; default:; } }