//#define CAYENNE_DEBUG
#define CAYENNE_PRINT Serial
#include <CayenneMQTTESP8266.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 16, 2);
// WiFi network info.
char ssid[] = "MAHAKAL";
char wifiPassword[] = "sateri456";
// Cayenne authentication info.
char username[] = "78968260-e372-11ed-9ab8-d511caccfe8c";
char password[] = "7f96d2e4502164eb2549483d167128b32f1948e7";
char clientID[] = "8fd2b0c0-e372-11ed-9ab8-d511caccfe8c";
//----------------------------------------------------------
int pinValue = 1;
#define Buzzer D5
#define Green D6
#define Red D7
#define Sensor A0
void setup() {
Serial.begin(115200);Cayenne.begin(username, password, clientID, ssid, wifiPassword);
lcd.backlight();
lcd.init();
pinMode(Green, OUTPUT);
pinMode(Red, OUTPUT);
pinMode(Buzzer, OUTPUT);
pinMode(Sensor, INPUT);
}
void loop() {Cayenne.loop();}
CAYENNE_OUT_DEFAULT(){
int sensorRaw = analogRead(Sensor);
int sensor = map(sensorRaw, 0, 1024, 0, 100);
Serial.print("sensor: "); Serial.print(sensor); Serial.println("");
lcd.setCursor(0, 0);lcd.print("Value : ");lcd.print(sensor);
if (pinValue == 1) {
if (sensor <= 50) {
digitalWrite(Green, HIGH);
digitalWrite(Red, LOW);
digitalWrite(Buzzer, LOW);
lcd.setCursor(0, 1);
lcd.print("Gas value:Normal");
}
else if (sensor > 50) {
Serial.println("Warning! Gas leak detected");
digitalWrite(Green, LOW);
digitalWrite(Red, HIGH);
digitalWrite(Buzzer, HIGH);
lcd.setCursor(0, 1);
lcd.print("Gas value:High ");
lcd.clear();
}
Cayenne.virtualWrite(0, sensor);
}
else {
digitalWrite(Red, LOW);
digitalWrite(Buzzer, LOW);
digitalWrite(Green, LOW);
lcd.clear();
}
delay(1000);
// Write data to Cayenne
// Cayenne.virtualWrite(0, sensor);
}
CAYENNE_IN_DEFAULT(){CAYENNE_LOG("Channel %u, value %s", request.channel, getValue.asString());}