#include #include RF24 radio(9, 10); const char id[] = "00:00:02"; int relPin = 8; // Pin for driving rel่ boolean rele; void setup(){ while(!Serial); Serial.begin(9600); rele = false; pinMode(relPin, OUTPUT); //Sets digital pin 13 as output pin digitalWrite(relPin, LOW); radio.begin(); radio.setPALevel(RF24_PA_MAX); radio.setChannel(0x76); radio.openWritingPipe(0xF0F0F0F0E1LL); const uint64_t pipe = (0xE8E8F0F0E1LL); radio.openReadingPipe(1, pipe); radio.enableDynamicPayloads(); radio.enableDynamicAck(); radio.powerUp(); } void loop(){ radio.startListening(); char receivedMessage[32] = {0}; String str(id); if(radio.available()){ radio.read(receivedMessage, sizeof(receivedMessage)); radio.stopListening(); String stringMessage(receivedMessage); if(stringMessage == (str + "t")){ // get device type const char type[] = "L"; // L = Line radio.write(type, sizeof(type)); } else if(stringMessage == ("i")){ // get device ID radio.write(id, sizeof(id)); } else if(stringMessage == (str + "p")){ // switch the line rele=not(rele); if (rele){ digitalWrite(relPin, HIGH); } else { digitalWrite(relPin, LOW); } } else if(stringMessage == (str + "s")){ // get the status if (rele){ radio.write("1", sizeof("1")); } else { radio.write("0", sizeof("0")); } } } }