Changeset - ec770b41aaac
[Not reviewed]
tip default
0 1 0
Dennis Fink - 5 years ago 2020-01-15 20:54:18
dennis.fink@c3l.lu
Let the LED flash, when there is an error and the button restarts
1 file changed with 21 insertions and 5 deletions:
0 comments (0 inline, 0 general)
SpaceApiButton.ino
Show inline comments
 
@@ -22,31 +22,49 @@ int send_trigger = 0;
 
unsigned long lastDebounceTime = 0;  // the last time the output pin was toggled
 
unsigned long debounceDelay = 50;    // the debounce time; increase if the output flickers
 

	
 
const size_t bufferSize = JSON_OBJECT_SIZE(4) + 70;
 

	
 
void connect() {
 
  digitalWrite(LED_BUILTIN, HIGH);
 
  Serial.print("\nChecking WiFi...");
 
  while (WiFi.waitForConnectResult() != WL_CONNECTED) {
 
    Serial.println("Connection Failed! Reboot...");
 
    delay(5000);
 
    digitalWrite(D2, LOW);
 
    digitalWrite(LED_BUILTIN, LOW);
 
    delay(250);
 
    digitalWrite(D2, HIGH);
 
    digitalWrite(LED_BUILTIN, HIGH);
 
    delay(250);
 
    digitalWrite(D2, LOW);
 
    digitalWrite(LED_BUILTIN, LOW);
 
    delay(250);
 
    digitalWrite(D2, HIGH);
 
    digitalWrite(LED_BUILTIN, HIGH);
 
    delay(250);
 
    digitalWrite(D2, LOW);
 
    digitalWrite(LED_BUILTIN, LOW);
 
    delay(4000);
 
    ESP.restart();
 
  }
 
  Serial.println("Connected to WiFi!");
 
  Serial.print("Connected to: ");
 
  Serial.println(WiFi.SSID());
 
  Serial.print("IP: ");
 
  Serial.println(WiFi.localIP());
 
  Serial.print("Connecting to MQTT Server...");
 
  while (!client.connect(MQTT_CLIENT_ID, MQTT_USERNAME, MQTT_PASSWORD)) {
 
    Serial.print(".");
 
    digitalWrite(LED_BUILTIN, LOW);
 
    delay(1000);
 
    digitalWrite(LED_BUILTIN, HIGH);
 
  }
 
  Serial.println("\nConnected to MQTT!");
 
  client.publish(MQTT_AVAILABILITY_TOPIC, "online", true, 2);
 
  client.subscribe(MQTT_STATE_TOPIC);
 
  digitalWrite(LED_BUILTIN, LOW);
 
}
 

	
 
void on_state_received(String &topic, String &payload) {
 
  StaticJsonDocument<bufferSize> jb;
 
  auto error = deserializeJson(jb, payload);
 

	
 
@@ -69,12 +87,14 @@ void handle_root() {
 

	
 
void setup() {
 
  Serial.begin(115200);
 
  Serial.println("Booting...");
 

	
 
  pinMode(LED_BUILTIN, OUTPUT);
 
  pinMode(D2, OUTPUT);
 
  pinMode(D1, INPUT);
 

	
 
  WiFi.hostname(HOSTNAME);
 
  WiFi.mode(WIFI_STA);
 
  WiFi.begin(WIFI_SSID, WIFI_PASS);
 

	
 
  client.begin(MQTT_SERVER, WiFiclient);
 
@@ -90,16 +110,12 @@ void setup() {
 
  httpServer.on("/", handle_root);
 
  httpServer.begin();
 

	
 
  Serial.println("Adding HTTP server to MDNS...");
 
  MDNS.addService("http", "tcp", 80);
 
  Serial.printf("HTTPUpdateServer ready! Open http://%s.local/update in your browser\n", HOSTNAME);
 

	
 
  pinMode(D2, OUTPUT);
 
  pinMode(D1, INPUT);
 

	
 
}
 

	
 
void loop() {
 
  client.loop();
 
  httpServer.handleClient();
 
  MDNS.update();
0 comments (0 inline, 0 general)