Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Come implementare il pairing code nei vostri sketch
#1
Lightbulb 
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:
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
Reply
#2
Se ho capito devo inserire nel mio sketch i due comandi come hai fatto tu e poi tramite il monitor seriale leggo il codice da passare al nuovo SmartPhone?
Saluti
Reply
#3
(12-28-2018, 08:39 PM)EzioGi Wrote: Se ho capito devo inserire nel mio sketch i due comandi come hai fatto tu e poi tramite il monitor seriale leggo il codice da passare al nuovo SmartPhone?
Saluti

Esatto
Reply
#4
Ottimo!
Grazie
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)