====== Relay example====== Relay module must be connected to controller module or with sensor module. {{:en:iot:examples:relaypicture1.jpg?200|}} {{:en:iot:examples:relaypicture2.jpg?200|}} Relay has 3 input holes. {{:en:iot:examples:relaypicture3.jpg?200|}} Needed libraries: lib_deps = ITTIoT The example code below shows if something is connected to the relay module // Includes global variables and librarys that the relay shield uses #include #include #define MODULE_TOPIC "ESP30/relay" #define WIFI_NAME "name" #define WIFI_PASSWORD "password" #define RELAY_PIN 5 // The relay has been connected to pin 5 (D1) // If message received switch relay void iot_received(String topic, String msg) { Serial.print("MSG FROM USER callback, topic: "); Serial.print(topic); Serial.print(" payload: "); Serial.println(msg); if(topic == MODULE_TOPIC) { // If message received and it is 1, then switch relay on if(msg == "1") { digitalWrite(RELAY_PIN, HIGH); } // If message received and it is 0, then switch relay on if(msg == "0") { digitalWrite(RELAY_PIN, LOW); } } } // Function started after the connection to the server is established. void iot_connected() { Serial.println("MQTT connected callback"); iot.subscribe(MODULE_TOPIC); // subscribe to topic relay iot.log("IoT relay example!"); } void setup() { Serial.begin(115200); // setting up serial connection parameter Serial.println("Booting"); //iot.setConfig("wname", WIFI_NAME); //iot.setConfig("wpass", WIFI_PASSWORD); iot.printConfig(); // print json config to serial iot.setup(); // Initialize IoT library pinMode(RELAY_PIN, OUTPUT); // The relay pin is defined as output type } void loop() { iot.handle(); // IoT behind the plan work, it should be periodically called delay(200); // Wait for 0.2 seconds }