simplification

This commit is contained in:
Julien Cabillot 2017-05-26 17:29:16 +02:00 committed by Cabillot Julien
parent 1814ebece2
commit 9ca0251153
2 changed files with 46 additions and 44 deletions

View File

@ -1,4 +1,4 @@
#include <EEPROM.h> // Bouton
#include <Ticker.h> #include <Ticker.h>
// Wifi // Wifi
@ -21,12 +21,7 @@ void setup() {
Serial.begin(SERIAL_SPEED); Serial.begin(SERIAL_SPEED);
Serial.println("\nresetting"); Serial.println("\nresetting");
pinMode(LED, OUTPUT); setupSonOff();
pinMode(RELAY, OUTPUT);
pinMode(BUTTON, INPUT);
digitalWrite(LED, LOW);
digitalWrite(RELAY, HIGH);
btn_timer.attach(0.05, button);
// WIFI // WIFI
setupWifi(); setupWifi();
@ -43,6 +38,15 @@ void setup() {
testConnectMQTT(); 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 // OTA
void setupOTA() void setupOTA()
{ {
@ -51,7 +55,6 @@ void setupOTA()
ArduinoOTA.onStart([]() { ArduinoOTA.onStart([]() {
Debug.println("OTA Starting"); Debug.println("OTA Starting");
Serial.println("OTA Starting"); Serial.println("OTA Starting");
OTAupdate = true;
blinkLED(LED, 400, 2); blinkLED(LED, 400, 2);
digitalWrite(LED, HIGH); digitalWrite(LED, HIGH);
}); });
@ -70,7 +73,6 @@ void setupOTA()
Serial.printf("OTA Error[%u]: ", error); Serial.printf("OTA Error[%u]: ", error);
Debug.printf("OTA Error[%u]: ", error); Debug.printf("OTA Error[%u]: ", error);
blinkLED(LED, 40, 2); blinkLED(LED, 40, 2);
OTAupdate = false;
if (error == OTA_AUTH_ERROR) { if (error == OTA_AUTH_ERROR) {
Serial.println("Auth Failed"); Serial.println("Auth Failed");
Debug.println("Auth Failed"); Debug.println("Auth Failed");
@ -122,7 +124,7 @@ void testConnectMQTT()
*/ */
Debug.print("OK\nSubscribe"); Debug.print("OK\nSubscribe");
client.subscribe(MQTT_TOPIC); client.subscribe(MQTT_COMMAND);
blinkLED(LED, 40, 8); blinkLED(LED, 40, 8);
if(digitalRead(RELAY) == HIGH) { if(digitalRead(RELAY) == HIGH) {
@ -163,9 +165,8 @@ void callbackMQTT(char* topic, byte* payload, unsigned int length)
digitalWrite(LED, HIGH); digitalWrite(LED, HIGH);
digitalWrite(RELAY, LOW); digitalWrite(RELAY, LOW);
} else if (msgString == "reset"){ } else if (msgString == "reset"){
requestRestart = true; // TODO : esp restart
} }
sendStatus = true;
} }
void loop() { void loop() {
@ -197,11 +198,10 @@ void button() {
if (count > 1 && count <= 40) { if (count > 1 && count <= 40) {
digitalWrite(LED, !digitalRead(LED)); digitalWrite(LED, !digitalRead(LED));
digitalWrite(RELAY, !digitalRead(RELAY)); digitalWrite(RELAY, !digitalRead(RELAY));
sendStatus = true;
} }
else if (count >40){ else if (count >40){
Serial.println("\n\nSonoff Rebooting . . . . . . . . Please Wait"); Serial.println("\n\nSonoff Rebooting . . . . . . . . Please Wait");
requestRestart = true; // TODO : esp restart
} }
count=0; count=0;
} }

View File

@ -1,44 +1,46 @@
#define BUTTON 0 // (Don't Change for Original Sonoff, Sonoff SV, Sonoff Touch, Sonoff S20 Socket) #define SERIAL_SPEED 115200
#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 MQTT_CLIENT "sonoff_living" // mqtt client_id (Must be unique for each Sonoff) // OTA
#define MQTT_SERVER "XXX" // mqtt server #define OTA_PASSWORD "XXX"
#define MQTT_PORT 1883 // mqtt port #define OTA_CLIENT "sonoff_living"
#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
#define WIFI_SSID "XXX" // wifi ssid // DebugRemote
#define WIFI_PASS "XXX" // wifi password #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. WiFiClient espClient;
bool OTAupdate = false; // (Do not Change)
bool sendStatus = false; // (Do not Change)
bool requestRestart = false; // (Do not Change)
int kUpdFreq = 1; // Update frequency in Mintes to check for mqtt connection #define BUTTON 0
int kRetries = 10; // WiFi retry count. Increase if not connecting to router. #define RELAY 12
int lastRelayState; // (Do not Change) #define LED 13
unsigned long TTasks; // (Do not Change) // MQTT
unsigned long count = 0; // (Do not Change) #define MQTT_SERVER "XXX"
#define MQTT_PORT 1883
#define MQTT_USER "XXX"
#define MQTT_PASS "XXX"
extern "C" { #define MQTT_CLIENT "sonoff_living"
#include "user_interface.h" #define MQTT_COMMAND "sonoff_living/switch"
} #define MQTT_STATE "sonoff_living/status"
WiFiClient wifiClient; char message_buff[100];
PubSubClient mqttClient(wifiClient, MQTT_SERVER, MQTT_PORT); PubSubClient client(espClient);
// Bouton
Ticker btn_timer; Ticker btn_timer;
unsigned long count = 0;
void callback(const MQTT::Publish& pub);
void setup(); void setup();
void loop(); void loop();
void blinkLED(int pin, int duration, int n); void blinkLED(int pin, int duration, int n);
void button(); void button();
void checkConnection(); void setupOTA();
void checkStatus(); void setupWifi();
void timedTasks(); void testConnectMQTT();
void callbackMQTT(char* topic, byte* payload, unsigned int length);
void setupSonOff();