RainMaker library: Minor changes (#5092)

- Use Serial.print instead of log_i for QR code helper information,
  so that it is always printed by default.
- Expose the RainMaker factory reset and wifi reset APIs.
- Simplify example to have only a Switch device. Create another example for custom device.
- Enable push button based Factory reset and Wi-Fi reset.
- Added support for the TimeZone service.
- Moved API doc to RainMaker library's top level README.
- Other minor doc changes.
This commit is contained in:
Piyush Shah
2021-04-22 15:29:27 +05:30
committed by GitHub
parent 182499071a
commit e62ff6dc37
15 changed files with 700 additions and 509 deletions

View File

@ -92,6 +92,15 @@ esp_err_t RMakerClass::enableSchedule()
return err;
}
esp_err_t RMakerClass::enableTZService()
{
err = esp_rmaker_timezone_service_enable();
if(err != ESP_OK) {
log_e("Timezone service enable failed");
}
return err;
}
esp_err_t RMakerClass::enableOTA(ota_type_t type, const char *cert)
{
esp_rmaker_ota_config_t ota_config;
@ -104,4 +113,4 @@ esp_err_t RMakerClass::enableOTA(ota_type_t type, const char *cert)
}
RMakerClass RMaker;
#endif
#endif

View File

@ -4,6 +4,7 @@
#include "Arduino.h"
#include "RMakerNode.h"
#include "RMakerQR.h"
#include "RMakerUtils.h"
#include <esp_rmaker_standard_types.h>
class RMakerClass
@ -18,6 +19,7 @@ class RMakerClass
esp_err_t deinitNode(Node node);
esp_err_t setTimeZone(const char *tz = "Asia/Shanghai");
esp_err_t enableSchedule();
esp_err_t enableTZService();
esp_err_t enableOTA(ota_type_t type, const char *cert = ESP_RMAKER_OTA_DEFAULT_SERVER_CERT);
esp_err_t start();
esp_err_t stop();
@ -25,4 +27,4 @@ class RMakerClass
extern RMakerClass RMaker;
#endif
#endif

View File

@ -16,9 +16,9 @@ static void printQR(const char *name, const char *pop, const char *transport)
snprintf(payload, sizeof(payload), "{\"ver\":\"%s\",\"name\":\"%s\"" \
",\"pop\":\"%s\",\"transport\":\"%s\"}",
PROV_QR_VERSION, name, pop, transport);
log_i("Scan this QR code from the phone app for Provisioning.");
Serial.printf("Scan this QR code from the ESP RainMaker phone app.\n");
qrcode_display(payload);
log_i("If QR code is not visible, copy paste the below URL in a browser.\n%s?data=%s", QRCODE_BASE_URL, payload);
Serial.printf("If QR code is not visible, copy paste the below URL in a browser.\n%s?data=%s\n", QRCODE_BASE_URL, payload);
}
#endif
#endif

View File

@ -0,0 +1,16 @@
#include "esp_system.h"
#if ESP_IDF_VERSION_MAJOR >= 4 && CONFIG_IDF_TARGET_ESP32
#include <esp_rmaker_utils.h>
static void RMakerFactoryReset(int seconds)
{
esp_rmaker_factory_reset(seconds);
}
static void RMakerWiFiReset(int seconds)
{
esp_rmaker_wifi_reset(seconds);
}
#endif