Skip to content

Instantly share code, notes, and snippets.

@itswadesh
Created August 13, 2018 16:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save itswadesh/e9947a8276cc1fad864797c053669580 to your computer and use it in GitHub Desktop.
Save itswadesh/e9947a8276cc1fad864797c053669580 to your computer and use it in GitHub Desktop.
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
#include <FirebaseArduino.h>
#define FIREBASE_HOST "example.firebaseio.com" // optional
#define FIREBASE_AUTH "token_or_secret" // optional
#define WIFI_SSID "Wifi_Name"
#define WIFI_PASSWORD "Wifi_Password"
const int trigPin = D1;
const int echoPin = D2;
const int relay = D3;
float duration,distance;
int relayyy = 0;
void setup() {
pinMode(echoPin, INPUT); // ECHO
pinMode(trigPin, OUTPUT); // TRIG
pinMode(relay, OUTPUT);
pinMode(D4, OUTPUT); // Built in LED (ON=0)
pinMode(D5, OUTPUT);
pinMode(D6, OUTPUT);
pinMode(D7, OUTPUT);
pinMode(D8, OUTPUT);
// connect to wifi.
Serial.begin(115200);
Serial.println("Booting");
WiFi.mode(WIFI_STA);
// Serial.print("connecting");
// while (WiFi.waitForConnectResult() != WL_CONNECTED) {
// Serial.println("Connection Failed! Rebooting...");
// delay(5000);
// ESP.restart();
// }
// ArduinoOTA.onStart([]() {
// String type;
// if (ArduinoOTA.getCommand() == U_FLASH)
// type = "sketch";
// else // U_SPIFFS
// type = "filesystem";
//
// // NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end()
// Serial.println("Start updating " + type);
// });
// ArduinoOTA.onEnd([]() {
// Serial.println("\nEnd");
// });
// ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
// Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
// });
// ArduinoOTA.onError([](ota_error_t error) {
// Serial.printf("Error[%u]: ", error);
// if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
// else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
// else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
// else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
// else if (error == OTA_END_ERROR) Serial.println("End Failed");
// });
// ArduinoOTA.begin();
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}
void loop() {
//ArduinoOTA.handle();
relayyy = Firebase.getInt("relay");
// digitalWrite(echo, Firebase.getInt("D1")); // Used as input (for HCSR04 echo)
// digitalWrite(trig, Firebase.getInt("D2"));
// digitalWrite(relay, Firebase.getInt("relay"));
digitalWrite(D4, Firebase.getInt("D4"));
// digitalWrite(D5, Firebase.getInt("D5"));
// digitalWrite(D6, Firebase.getInt("D6"));
// digitalWrite(D7, Firebase.getInt("D7"));
// digitalWrite(D8, Firebase.getInt("D8"));
Serial.print("Relay... ");
Serial.println(relayyy);
if (Firebase.failed()) {
Serial.print("setting /number failed:");
Serial.println(Firebase.error());
// return;
}
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance= duration*0.034/2;
// Prints the distance on the Serial Monitor
if(distance >10 && distance<=50 && relayyy == 0){
digitalWrite(relay, LOW); // ON
digitalWrite(LED_BUILTIN, LOW);
}
else if(distance <5 || distance >50){
digitalWrite(relay, HIGH); // OFF
digitalWrite(LED_BUILTIN, HIGH);
}
// else{
// digitalWrite(relay, HIGH); // OFF
// digitalWrite(LED_BUILTIN, LOW);
// }
Serial.print(distance);
Serial.println(" Centimeter:");
delay(5000);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment