Skip to content

Instantly share code, notes, and snippets.

View alexastrum's full-sized avatar

Alex Astrum alexastrum

View GitHub Profile
#include "config.h"
#include "display.h"
#include "wifi.h"
#include "json.h"
#include "firebase_database.h"
void setup()
{
setupDisplay();
void resetWiFi() {
wiFiDrv.wifiDriverDeinit();
wiFiDrv.wifiDriverInit();
}
if (statusCode != 200) {
displayError(String(statusCode) + " " + response);
return false;
}
displayStatus("Saved to RTDB.");
return true;
String host = String(PROJECT_ID) + ".firebaseio.com";
WiFiSSLClient wifiClient;
HttpClient httpClient = HttpClient(wifiClient, host, 443);
String url = "/" + path + ".json";
httpClient.put(url, "application/json", jsonStr);
int statusCode = httpClient.responseStatusCode();
String response = httpClient.responseBody();
DynamicJsonDocument toJsonDocument(String str, int size = 0) {
if (size == 0) {
size = JSON_OBJECT_SIZE(1) + str.length();
}
DynamicJsonDocument jsonDoc(str.length() * 2);
DeserializationError error = deserializeJson(jsonDoc, str);
if (error) {
displayError("JSON " + String(error.c_str()) + ": " + str);
jsonDoc.clear();
}
#include "config.h"
#include "display.h"
#include "wifi.h"
void setup()
{
setupDisplay();
setupWiFi();
}
void displaySuspend(String msg) {
displayText("Execution suspended: " + msg);
digitalWrite(LED_BUILTIN, HIGH); // Turn on LED.
while (true) {
// Stop execution.
}
}
void displayError(String msg) {
displayText("Error: " + msg);
blinkLED(300);
}
void displayStatus(String msg) {
displayText(msg);
blinkLED(100);
}
void blinkLED(int duration) {
digitalWrite(LED_BUILTIN, HIGH);
delay(duration);
digitalWrite(LED_BUILTIN, LOW);
delay(100);
}