Nodemcu code: #include <ESP8266WiFi.h> #include "Adafruit_MQTT.h" #include "Adafruit_MQTT_Client.h"
#define Automated D0 #define Led D1 #define Fan D2
#define WLAN_SSID "JioFi2_1EAFF8" #define WLAN_PASS "Ode9c@,1S%31ja$1xANkeL"
#define AIO_SERVER "io.adafruit.com" #define AIO_SERVERPORT 1883 #define AIO_USERNAME "_inishu" #define AIO_KEY "aio_HZUG00TupkcsC2dvraQM7HLHrCd4"
WiFiClient client; Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);
Adafruit_MQTT_Subscribe speed = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME"/feeds/Fan"); Adafruit_MQTT_Subscribe inten = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/Led"); Adafruit_MQTT_Subscribe autom = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/Automate");
void MQTT_connect(); void datatransfer(int);
int on_off; int sliderval1; int sliderval2; void setup(){ Serial.begin(9600); pinMode(Automated, OUTPUT); pinMode(Led, OUTPUT); pinMode(Fan, OUTPUT);
WiFi.begin(WLAN_SSID, WLAN_PASS); while (WiFi.status() != WL_CONNECTED) { delay(500); }
mqtt.subscribe(&autom); mqtt.subscribe(&speed); mqtt.subscribe(&inten); }
void loop (){ MQTT_connect();
Adafruit_MQTT_Subscribe *subscription; while ((subscription = mqtt.readSubscription(5000))){ if (subscription == &autom){
on_off = atoi((char *)autom.lastread); if (on_off == 1) digitalWrite(Automated,HIGH); if (on_off == 0) digitalWrite(Automated,LOW);
#include <ESP8266WiFi.h>
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"
#define Automated D0
#define Led D1
#define Fan D2
#define WLAN_SSID "JioFi2_1EAFF8"
#define WLAN_PASS "Ode9c@,1S%31ja$1xANkeL"
#define AIO_SERVER "io.adafruit.com"
#define AIO_SERVERPORT 1883
#define AIO_USERNAME "_inishu"
#define AIO_KEY "aio_HZUG00TupkcsC2dvraQM7HLHrCd4"
WiFiClient client;
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);
Adafruit_MQTT_Subscribe speed = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME"/feeds/Fan");
Adafruit_MQTT_Subscribe inten = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/Led");
Adafruit_MQTT_Subscribe autom = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/Automate");
void MQTT_connect();
void datatransfer(int);
int on_off;
int sliderval1;
int sliderval2;
void setup(){
Serial.begin(9600);
pinMode(Automated, OUTPUT);
pinMode(Led, OUTPUT);
pinMode(Fan, OUTPUT);
WiFi.begin(WLAN_SSID, WLAN_PASS);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
mqtt.subscribe(&autom);
mqtt.subscribe(&speed);
mqtt.subscribe(&inten);
}
void loop (){
MQTT_connect();
Adafruit_MQTT_Subscribe *subscription;
while ((subscription = mqtt.readSubscription(5000))){
if (subscription == &autom){
on_off = atoi((char *)autom.lastread);
if (on_off == 1) digitalWrite(Automated,HIGH);
if (on_off == 0) digitalWrite(Automated,LOW);
}
if (subscription == &speed){
sliderval1 = atoi((char *)speed.lastread);
analogWrite(Fan, sliderval1);
}
if (subscription == &inten){
sliderval2 = atoi((char *)inten.lastread);
analogWrite(Led, sliderval2);
}
}
datatransfer(on_off);
datatransfer(sliderval1);
datatransfer(sliderval2);
}
void MQTT_connect() {
if (mqtt.connected()) {
return;
}
while (mqtt.connect() != 0) {
mqtt.disconnect();
delay(2000);
}
}
void datatransfer(int value){
Serial.println(value);
delay(500);
}
if (subscription == &speed){
sliderval1 = atoi((char *)speed.lastread); analogWrite(Fan, sliderval1); }
if (subscription == &inten){
sliderval2 = atoi((char *)inten.lastread); analogWrite(Led, sliderval2); } } datatransfer(on_off); datatransfer(sliderval1); datatransfer(sliderval2);
}
void MQTT_connect() {
if (mqtt.connected()) { return; }
while (mqtt.connect() != 0) {
mqtt.disconnect();
delay(2000);
}
}
void datatransfer(int value){
Serial.println(value);
delay(500);
}
Arduino Uno code:
int x = A0, y = A1, z = 1; int fan = 11, led = 10; float temp, lux; int autom = 1; int inten = 0; int speed = 0; int fanspeed, light;
int datareceive(){ int receiver = 0; while(Serial.available()==0 ); String s = Serial.readStringUntil('\r'); receiver = s.toInt(); Serial.println(receiver); delay(1000); return receiver; }
void setup(){ Serial.begin(9600); pinMode(fan,OUTPUT); pinMode(led,OUTPUT); pinMode(x,INPUT); pinMode(y,INPUT); pinMode(z,INPUT);
}
void loop(){ autom = datareceive(); speed = datareceive(); inten = datareceive(); if(autom == 1){ fanspeed = 255 - speed; light = 255 - inten; analogWrite(fan,fanspeed); analogWrite(led,light); }
else { temp = analogRead(x); if (temp >= 52 && temp <= 104){ int fanspeed = -4.90384615*temp + 510; analogWrite(fan, fanspeed); } else if(temp > 104) digitalWrite(fan,LOW); else digitalWrite(fan,HIGH); lux = analogRead(y); if (lux >= 430 && lux <= 594){
int x = A0, y = A1, z = 1;
int fan = 11, led = 10;
float temp, lux;
int autom = 1;
int inten = 0;
int speed = 0;
int fanspeed, light;
int datareceive(){
int receiver = 0;
while(Serial.available()==0 );
String s = Serial.readStringUntil('\r');
receiver = s.toInt();
Serial.println(receiver);
delay(1000);
return receiver;
}
void setup(){
Serial.begin(9600);
pinMode(fan,OUTPUT);
pinMode(led,OUTPUT);
pinMode(x,INPUT);
pinMode(y,INPUT);
pinMode(z,INPUT);
}
void loop(){
autom = datareceive();
speed = datareceive();
inten = datareceive();
if(autom == 1){
fanspeed = 255 - speed;
light = 255 - inten;
analogWrite(fan,fanspeed);
analogWrite(led,light);
}
else {
temp = analogRead(x);
if (temp >= 52 && temp <= 104){
int fanspeed = -4.90384615*temp + 510;
analogWrite(fan, fanspeed);
}
else if(temp > 104) digitalWrite(fan,LOW);
else digitalWrite(fan,HIGH);
lux = analogRead(y);
if (lux >= 430 && lux <= 594){
int light = 1.342657*lux-577.342657;
analogWrite(led,light);
}
else if (lux < 430) digitalWrite(led, LOW);
else digitalWrite(led,HIGH);
}
}
else if (lux < 430) digitalWrite(led, LOW); else digitalWrite(led,HIGH); } }