Ciao a tutti,
volevo condividere con voi come implementare la nuova funzione che permette il pairing code, senza modificare il vostro pannello.
Basterà semplicemente aprire il monitor seriale dall'app e subito vi verrà mostrato il vostro codice.
Ecco l'esempio:
Ciao a tutti
Enzo
volevo condividere con voi come implementare la nuova funzione che permette il pairing code, senza modificare il vostro pannello.
Basterà semplicemente aprire il monitor seriale dall'app e subito vi verrà mostrato il vostro codice.
Ecco l'esempio:
Code:
#define RELAY1 8 // first relay on pin 8
#define RELAY2 9 // second relay on pin 8
unsigned char relay1_status = 0; // OFF
unsigned char relay2_status = 0; // OFF
String Msg;
void setup() {
// Initialize Serial Port
Serial.begin(57600);
// Let uPanel start
delay(3000);
// Initialize digital output pin
digitalWrite(RELAY1, 1); // pin = high => relay off
digitalWrite(RELAY2, 1); // pin = high => relay off
pinMode(RELAY1, OUTPUT);
pinMode(RELAY2, OUTPUT);
SendPanel(); // Send The Panel calling a function
}
void loop()
{
int c;
while ((c = Serial.read()) > '\n') Msg += (char) c; // Read incoming chars, if any, until new line
if (c == '\n') // is the message complete?
{
// If switch1 is OFF: Turn OFF LED1 and Relay1
if (Msg.equals("#W10")) {digitalWrite(RELAY1,1); Serial.println("#L10"); relay1_status = 0;}
// If switch1 is ON: Turn ON LED1 and Relay1
else if (Msg.equals("#W11")) {digitalWrite(RELAY1,0); Serial.println("#L11"); relay1_status = 1;}
// If switch2 is OFF: Turn OFF LED2 and Relay2
else if (Msg.equals("#W20")) {digitalWrite(RELAY2,1); Serial.println("#L20"); relay2_status = 0;}
// If switch2 is ON: Turn ON LED2 and Relay2
else if (Msg.equals("#W21")) {digitalWrite(RELAY2,0); Serial.println("#L21"); relay2_status = 1;}
// WiFi Module unwanted RESET >>>>>>> send panel again
else if (Msg.equals("$RES")) {SendPanel();}
// Aprendo il monitor seriale nell'app, verrà mostrato il codice per il pairing code
else if (Msg.equals("$OK-MONITOR")) {Serial.println("$CLOUD PCODE:SET:123456789012:10");}
Msg = "";
}
}
//----------------------------------------------------------------
void SendPanel(void){
// Discharge old partial messages and send panel
Serial.println("");
Serial.println("$P:Dg15;/5T*25fb:Arduino Relay;=*16/30{mL1G:0;|*12W1:0;|T:Relay 1;}/{mL2G:0;|*12W2:0;|T:Relay 2;}");
// Syncronize all panel's objects status with last valid status
if (relay1_status == 1){ Serial.println("#W11"); Serial.println("#L11");}
if (relay2_status == 1){ Serial.println("#W21"); Serial.println("#L21");}
}
//------------------------------------------------------------
Ciao a tutti
Enzo