How to make Device Powers Your Home Assistant
code google drive:
https://drive.google.com/file/d/1cqhuxCoI13g1frqel4Y-ZcoUDZzphGyu/view?usp=sharing
/************************************************************* This is a simple demo of sending and receiving some data. Be sure to check out other examples! *************************************************************/ // Template ID, Device Name and Auth Token are provided by the Blynk.Cloud // See the Device Info tab, or Template settings #define BLYNK_TEMPLATE_ID "TMPLXzv7Lf4D" #define BLYNK_DEVICE_NAME "Quickstart Device" #define BLYNK_AUTH_TOKEN "aCteWJGk2MdaZt84j8wmM1CNzgbFzaG1" // Comment this out to disable prints and save space #define BLYNK_PRINT Serial int value1=HIGH; int value2=HIGH; int value3=HIGH; #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> char auth[] = "aCteWJGk2MdaZt84j8wmM1CNzgbFzaG1"; // Your WiFi credentials. // Set password to "" for open networks. char ssid[] = "Ghost Rider"; char pass[] = ""; BlynkTimer timer; // This function is called every time the Virtual Pin 0 state changes BLYNK_WRITE(V4) { // Set incoming value from pin V0 to a variable int value1 = param.asInt(); digitalWrite(D1,value1); } BLYNK_WRITE(V5) { // Set incoming value from pin V0 to a variable int value2 = param.asInt(); digitalWrite(D2,value2); } BLYNK_WRITE(V6) { // Set incoming value from pin V0 to a variable int value3 = param.asInt(); digitalWrite(D3,value3); } // This function is called every time the device is connected to the Blynk.Cloud BLYNK_CONNECTED() { // Change Web Link Button message to "Congratulations!" Blynk.setProperty(V3, "offImageUrl", "https://static-image.nyc3.cdn.digitaloceanspaces.com/general/fte/congratulations.png"); Blynk.setProperty(V3, "onImageUrl", "https://static-image.nyc3.cdn.digitaloceanspaces.com/general/fte/congratulations_pressed.png"); Blynk.setProperty(V3, "url", "https://docs.blynk.io/en/getting-started/what-do-i-need-to-blynk/how-quickstart-device-was-made"); } // This function sends Arduino's uptime every second to Virtual Pin 2. void myTimerEvent() { // You can send any value at any time. // Please don't send more that 10 values per second. Blynk.virtualWrite(V2, millis() / 1000); } void setup() { // Debug console Serial.begin(115200); Blynk.begin(auth, ssid, pass); // You can also specify server: //Blynk.begin(auth, ssid, pass, "blynk.cloud", 80); //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080); // Setup a function to be called every second timer.setInterval(1000L, myTimerEvent); pinMode(D1,OUTPUT); pinMode(D2,OUTPUT); pinMode(D3,OUTPUT); pinMode(D5,INPUT); pinMode(D6,INPUT); pinMode(D7,INPUT); digitalWrite(D1,HIGH); digitalWrite(D2,HIGH); digitalWrite(D3,HIGH); attachInterrupt(D5, PhysicalButton, RISING); attachInterrupt(D6, PhysicalButton, RISING); attachInterrupt(D7, PhysicalButton, RISING); } void loop() { Blynk.run(); timer.run(); // You can inject your own code or combine it with other sketches. // Check other examples on how to communicate with Blynk. Remember // to avoid delay() function! } //-----------Ngắt phuc vụ xử lý nút nhấn-------------- ICACHE_RAM_ATTR void PhysicalButton() { if (digitalRead(D5) == HIGH) { value1 = !value1; digitalWrite(D1, value1); Blynk.virtualWrite(V4, value1); } if (digitalRead(D6) == HIGH) { value2 = !value2; digitalWrite(D2, value2); Blynk.virtualWrite(V5, value2); } if (digitalRead(D7) == HIGH) { value3 = !value3; digitalWrite(D3, value3); Blynk.virtualWrite(V6, value3); }
} |
Powered by Froala Editor
;