i have removed RF433M receiver, RF433M sender and IR receiver. actually use want to use VCC,GND,RXD,TXD for Nextion display.
define RXD:GPIO23 TXD:GPIO21 by ESP32
here are some photos:
This just a simplest demo, use Nextion display two buttons, press button-one will send 'a' by serial port, press button-two will send 'b' by serial port.
when KC868-A4 received 'a' will turn ON relay1, when received 'b' will turn OFF relay1.
firstly create two buttons UI by Nextion Editor PC software:
here is firmware BIN file, you can download to KC868-A4 ESP32 directly to use:
nextion_KC868-A4.ino.nodemcu-32s.zip (Size: 102.25 KB / Downloads: 271)
here are source code:
define RXD:GPIO23 TXD:GPIO21 by ESP32
here are some photos:
This just a simplest demo, use Nextion display two buttons, press button-one will send 'a' by serial port, press button-two will send 'b' by serial port.
when KC868-A4 received 'a' will turn ON relay1, when received 'b' will turn OFF relay1.
firstly create two buttons UI by Nextion Editor PC software:
here is firmware BIN file, you can download to KC868-A4 ESP32 directly to use:
nextion_KC868-A4.ino.nodemcu-32s.zip (Size: 102.25 KB / Downloads: 271)
here are source code:
Code:
String indata="";
String val="";
const int Relay1 = 2;
const int Relay2 = 15;
const int Relay3 = 5;
const int Relay4 = 4;
void setup() {
pinMode(Relay1,OUTPUT); //Relay1 IO2
pinMode(Relay2,OUTPUT); //Relay2 IO15
pinMode(Relay3,OUTPUT); //Relay3 IO2
pinMode(Relay4,OUTPUT); //Relay4 IO2
Serial1.begin(9600,SERIAL_8N1,23,21);
Serial.begin(9600);
}
void loop() {
while(Serial1.available()>0)
{
indata+=char(Serial1.read());
delay(2);
if(Serial1.available()<=0)
{
Serial.println(indata);
}
}
if(indata.length()>0)
{
val=indata;
if(val=="a")
{
digitalWrite(Relay1,HIGH);
Serial.println("Relay1-ON OK!");
}
else if(val=="b")
{
digitalWrite(Relay1,LOW);
Serial.println("Relay1-OFF OK!");
}
}
indata="";
}