This is an old revision of the document!


#include <Arduino.h> #include <ittiot.h>

Pin definition for the pir (GPIO14) #define PIR_PIN D5 Pin definition for the pir LED (GPIO16) #define PIR_LED_PIN D4

PIR state for detection bool pirState; State that switches PIR on and off bool onState;

If message received for PIR topic. For example: mosquitto_pub -u test -P test -t “ITT/IOT/3/pir” -m “1” void iot_received(String topic, String msg) {

Serial.print("MSG FROM USER callback, topic: ");
Serial.print(topic);
Serial.print(" payload: ");
Serial.println(msg);
if(msg == "1")
{
onState = true;
}
if(msg == "0")
{
onState = false;
}

}

Function started after the connection to the server is established. void iot_connected() { Serial.println(“MQTT connected callback”); Subscribe to the topic “pir”

iot.subscribe("pir");
iot.log("IoT PIR example!");

}

void setup() {

Serial.begin(115200);
Serial.println("Booting");
// Print json config to serial
iot.printConfig();
// Initialize IoT library
iot.setup();
// Initialize relay pin
pinMode(PIR_PIN, INPUT);
pinMode(PIR_LED_PIN, OUTPUT);

}

void loop() {

// IoT behind the plan work, it should be periodically called
iot.handle();
delay(200);

if(onState == true){

if(digitalRead(PIR_PIN))
{
  if(pirState == false)
  {
    digitalWrite(PIR_LED_PIN, HIGH);
    String msg = String("Motion detected!");
    iot.publishMsg("pir", msg.c_str());
    //Serial.println(msg);
    pirState = true;
  }
}
else
{
  if(pirState == true)
  {
    digitalWrite(PIR_LED_PIN, LOW);
    pirState = false;
  }
}

} else{

 iot.log("PIR offline");
delay(2000);

} }

en/iot/examples/pir.1521536226.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0