WIP: à tester ota + remotedebug
This commit is contained in:
parent
dfbb38c7cc
commit
eedde73db3
@ -1,12 +1,25 @@
|
||||
#include <Arduino.h>
|
||||
|
||||
// LED
|
||||
// TODO : essayer, devrait limiter le flikering
|
||||
//#define FASTLED_ALLOW_INTERRUPTS 0
|
||||
#define FASTLED_ESP8266_NODEMCU_PIN_ORDER
|
||||
#include <FastLED.h>
|
||||
|
||||
// WIFI
|
||||
#include <ESP8266WiFi.h>
|
||||
|
||||
// MQTT
|
||||
#include <PubSubClient.h>
|
||||
|
||||
// OTA
|
||||
#include <ESP8266mDNS.h>
|
||||
#include <WiFiUdp.h>
|
||||
#include <ArduinoOTA.h>
|
||||
|
||||
// RemoteDebug
|
||||
#include <RemoteDebug.h>
|
||||
|
||||
#include "mqttfastledmenu.h"
|
||||
|
||||
// LED
|
||||
@ -33,6 +46,12 @@ void setup()
|
||||
// WIFI
|
||||
setupWifi();
|
||||
|
||||
// OTA
|
||||
setupOTA();
|
||||
|
||||
// RemoteDebug
|
||||
Debug.begin("chamber");
|
||||
|
||||
// LED
|
||||
/*
|
||||
brightness = LED_BRIGHTNESS_DEFAULT;
|
||||
@ -56,7 +75,7 @@ void setup()
|
||||
client.setCallback(callbackMQTT);
|
||||
testConnectMQTT();
|
||||
|
||||
Serial.println("Ready");
|
||||
Debug.println("Ready");
|
||||
|
||||
/* MQTT
|
||||
* Il est important de faire un loop avant toute chose,
|
||||
@ -69,7 +88,39 @@ void setup()
|
||||
client.loop();
|
||||
}
|
||||
|
||||
Serial.println("End of setup");
|
||||
Debug.println("End of setup");
|
||||
}
|
||||
|
||||
// OTA
|
||||
void setupOTA()
|
||||
{
|
||||
// TODO: on devrait ecrire ce genre d'info sur les deux sorties
|
||||
ArduinoOTA.setHostname("alarmclock"); // on donne une petit nom a notre module
|
||||
ArduinoOTA.setPassword(OTA_PASSWORD);
|
||||
ArduinoOTA.onStart([]() {
|
||||
Serial.println("OTA Starting");
|
||||
});
|
||||
ArduinoOTA.onEnd([]() {
|
||||
Serial.println("\nOTA End");
|
||||
});
|
||||
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
|
||||
Serial.printf("OTA Progress: %u%%\r", (progress / (total / 100)));
|
||||
});
|
||||
ArduinoOTA.onError([](ota_error_t error) {
|
||||
Serial.printf("OTA Error[%u]: ", error);
|
||||
if (error == OTA_AUTH_ERROR) {
|
||||
Serial.println("Auth Failed");
|
||||
} else if (error == OTA_BEGIN_ERROR) {
|
||||
Serial.println("Begin Failed");
|
||||
} else if (error == OTA_CONNECT_ERROR) {
|
||||
Serial.println("Connect Failed");
|
||||
} else if (error == OTA_RECEIVE_ERROR) {
|
||||
Serial.println("Receive Failed");
|
||||
} else if (error == OTA_END_ERROR) {
|
||||
Serial.println("End Failed");
|
||||
}
|
||||
});
|
||||
ArduinoOTA.begin();
|
||||
}
|
||||
|
||||
// WIFI
|
||||
@ -93,27 +144,27 @@ void setupWifi()
|
||||
void testConnectMQTT()
|
||||
{
|
||||
while (!client.connected()) {
|
||||
Serial.print("Connexion au serveur MQTT... ");
|
||||
Debug.print("Connexion au serveur MQTT... ");
|
||||
if (client.connect("ESP8266Client", MQTT_USER, MQTT_PASS)) {
|
||||
Serial.print("OK\nSend Current State");
|
||||
Debug.print("OK\nSend Current State");
|
||||
mqttSendState();
|
||||
mqttSendSpeedState();
|
||||
mqttSendBrightnessState();
|
||||
mqttSendEffectState();
|
||||
mqttSendColorState();
|
||||
|
||||
Serial.print("OK\nSubscribe");
|
||||
Debug.print("OK\nSubscribe");
|
||||
client.subscribe(MQTT_LED_COMMAND);
|
||||
client.subscribe(MQTT_LED_EFFECT_COMMAND);
|
||||
client.subscribe(MQTT_LED_BRIGHTNESS_COMMAND);
|
||||
client.subscribe(MQTT_LED_SPEED_COMMAND);
|
||||
client.subscribe(MQTT_LED_COLOR_COMMAND);
|
||||
|
||||
Serial.println(" OK");
|
||||
Debug.println(" OK");
|
||||
} else {
|
||||
Serial.print("KO, erreur : ");
|
||||
Serial.print(client.state());
|
||||
Serial.println(", on attend 5 secondes avant de recommencer");
|
||||
Debug.print("KO, erreur : ");
|
||||
Debug.print(client.state());
|
||||
Debug.println(", on attend 5 secondes avant de recommencer");
|
||||
delay(5000);
|
||||
}
|
||||
}
|
||||
@ -131,8 +182,8 @@ void callbackMQTT(char* topic, byte* payload, unsigned int length)
|
||||
message_buff[i] = '\0';
|
||||
String msgString = String(message_buff);
|
||||
|
||||
Serial.print("Received [" + stopic + "] : ");
|
||||
Serial.println(msgString);
|
||||
Debug.print("Received [" + stopic + "] : ");
|
||||
Debug.println(msgString);
|
||||
|
||||
if (stopic == MQTT_LED_COMMAND) {
|
||||
if (msgString == "ON") {
|
||||
@ -508,6 +559,12 @@ void fire()
|
||||
//////////////////////// FastLED-3.1.5/examples/Fire202 ///////////////////////
|
||||
|
||||
void loop() {
|
||||
// OTA
|
||||
ArduinoOTA.handle();
|
||||
|
||||
// RemoteDebug
|
||||
Debug.handle();
|
||||
|
||||
// MQTT
|
||||
testConnectMQTT();
|
||||
client.loop();
|
||||
|
||||
@ -1,5 +1,11 @@
|
||||
#define SERIAL_SPEED 115200
|
||||
|
||||
// OTA
|
||||
#define OTA_PASSWORD "n87z21Tx5%P%EX&*"
|
||||
|
||||
// DebugRemote
|
||||
RemoteDebug Debug;
|
||||
|
||||
// LED
|
||||
#define LED_NUM 300
|
||||
#define LED_PIN 5 // = D1
|
||||
@ -38,6 +44,7 @@
|
||||
#define MQTT_LED_COLOR_STATE "strip1/color/status"
|
||||
|
||||
|
||||
void setupOTA();
|
||||
void setupWifi();
|
||||
void testConnectMQTT();
|
||||
void callbackMQTT(char* topic, byte* payload, unsigned int length);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user