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>
// 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;
}

View File

@ -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();