From 9ca0251153e74092319da5cbb6c87f2a27bead21 Mon Sep 17 00:00:00 2001 From: Julien Cabillot Date: Fri, 26 May 2017 17:29:16 +0200 Subject: [PATCH] simplification --- arduino/sonoffliving/sonoffliving.cpp | 28 +++++----- arduino/sonoffliving/sonoffliving.example.h | 62 +++++++++++---------- 2 files changed, 46 insertions(+), 44 deletions(-) diff --git a/arduino/sonoffliving/sonoffliving.cpp b/arduino/sonoffliving/sonoffliving.cpp index 97e2b7d..7f45181 100644 --- a/arduino/sonoffliving/sonoffliving.cpp +++ b/arduino/sonoffliving/sonoffliving.cpp @@ -1,4 +1,4 @@ -#include +// Bouton #include // Wifi @@ -21,12 +21,7 @@ void setup() { Serial.begin(SERIAL_SPEED); Serial.println("\nresetting"); - pinMode(LED, OUTPUT); - pinMode(RELAY, OUTPUT); - pinMode(BUTTON, INPUT); - digitalWrite(LED, LOW); - digitalWrite(RELAY, HIGH); - btn_timer.attach(0.05, button); + setupSonOff(); // WIFI setupWifi(); @@ -43,6 +38,15 @@ void setup() { testConnectMQTT(); } +void setupSonOff() { + pinMode(LED, OUTPUT); + pinMode(RELAY, OUTPUT); + pinMode(BUTTON, INPUT); + digitalWrite(LED, LOW); + digitalWrite(RELAY, HIGH); + btn_timer.attach(0.05, button); +} + // OTA void setupOTA() { @@ -51,7 +55,6 @@ void setupOTA() ArduinoOTA.onStart([]() { Debug.println("OTA Starting"); Serial.println("OTA Starting"); - OTAupdate = true; blinkLED(LED, 400, 2); digitalWrite(LED, HIGH); }); @@ -70,7 +73,6 @@ void setupOTA() Serial.printf("OTA Error[%u]: ", error); Debug.printf("OTA Error[%u]: ", error); blinkLED(LED, 40, 2); - OTAupdate = false; if (error == OTA_AUTH_ERROR) { Serial.println("Auth Failed"); Debug.println("Auth Failed"); @@ -122,7 +124,7 @@ void testConnectMQTT() */ Debug.print("OK\nSubscribe"); - client.subscribe(MQTT_TOPIC); + client.subscribe(MQTT_COMMAND); blinkLED(LED, 40, 8); if(digitalRead(RELAY) == HIGH) { @@ -163,9 +165,8 @@ void callbackMQTT(char* topic, byte* payload, unsigned int length) digitalWrite(LED, HIGH); digitalWrite(RELAY, LOW); } else if (msgString == "reset"){ - requestRestart = true; + // TODO : esp restart } - sendStatus = true; } void loop() { @@ -197,11 +198,10 @@ void button() { if (count > 1 && count <= 40) { digitalWrite(LED, !digitalRead(LED)); digitalWrite(RELAY, !digitalRead(RELAY)); - sendStatus = true; } else if (count >40){ Serial.println("\n\nSonoff Rebooting . . . . . . . . Please Wait"); - requestRestart = true; + // TODO : esp restart } count=0; } diff --git a/arduino/sonoffliving/sonoffliving.example.h b/arduino/sonoffliving/sonoffliving.example.h index 93d0e82..177bcc9 100644 --- a/arduino/sonoffliving/sonoffliving.example.h +++ b/arduino/sonoffliving/sonoffliving.example.h @@ -1,44 +1,46 @@ -#define BUTTON 0 // (Don't Change for Original Sonoff, Sonoff SV, Sonoff Touch, Sonoff S20 Socket) -#define RELAY 12 // (Don't Change for Original Sonoff, Sonoff SV, Sonoff Touch, Sonoff S20 Socket) -#define LED 13 // (Don't Change for Original Sonoff, Sonoff SV, Sonoff Touch, Sonoff S20 Socket) +#define SERIAL_SPEED 115200 -#define MQTT_CLIENT "sonoff_living" // mqtt client_id (Must be unique for each Sonoff) -#define MQTT_SERVER "XXX" // mqtt server -#define MQTT_PORT 1883 // mqtt port -#define MQTT_TOPIC "sonoff/living" // mqtt topic (Must be unique for each Sonoff) -#define MQTT_USER "XXX" // mqtt user -#define MQTT_PASS "XXX" // mqtt password +// OTA +#define OTA_PASSWORD "XXX" +#define OTA_CLIENT "sonoff_living" -#define WIFI_SSID "XXX" // wifi ssid -#define WIFI_PASS "XXX" // wifi password +// DebugRemote +#define REMDEB_CLIENT "sonoff_living" +RemoteDebug Debug; -#define VERSION "\n\n---------------- Sonoff Powerpoint v1.01pOTA -----------------" +// WIFI +#define WIFI_SSID "XXX" +#define WIFI_PASSWORD "XXX" -bool rememberRelayState = true; // If 'true' remembers the state of the relay before power loss. -bool OTAupdate = false; // (Do not Change) -bool sendStatus = false; // (Do not Change) -bool requestRestart = false; // (Do not Change) +WiFiClient espClient; -int kUpdFreq = 1; // Update frequency in Mintes to check for mqtt connection -int kRetries = 10; // WiFi retry count. Increase if not connecting to router. -int lastRelayState; // (Do not Change) +#define BUTTON 0 +#define RELAY 12 +#define LED 13 -unsigned long TTasks; // (Do not Change) -unsigned long count = 0; // (Do not Change) +// MQTT +#define MQTT_SERVER "XXX" +#define MQTT_PORT 1883 +#define MQTT_USER "XXX" +#define MQTT_PASS "XXX" -extern "C" { - #include "user_interface.h" -} +#define MQTT_CLIENT "sonoff_living" +#define MQTT_COMMAND "sonoff_living/switch" +#define MQTT_STATE "sonoff_living/status" -WiFiClient wifiClient; -PubSubClient mqttClient(wifiClient, MQTT_SERVER, MQTT_PORT); +char message_buff[100]; +PubSubClient client(espClient); + +// Bouton Ticker btn_timer; +unsigned long count = 0; -void callback(const MQTT::Publish& pub); void setup(); void loop(); void blinkLED(int pin, int duration, int n); void button(); -void checkConnection(); -void checkStatus(); -void timedTasks(); +void setupOTA(); +void setupWifi(); +void testConnectMQTT(); +void callbackMQTT(char* topic, byte* payload, unsigned int length); +void setupSonOff();