
В этой статье разберем приложение Blynk. Blynk-это платформа с приложениями iOS и Android для управления Arduino, Raspberry Pi, ESP8266 и другими через Интернет.
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Я хотел сделать детектор движения, который будет уведомлять меня каждый раз, когда засечет движение. Я играл с pir sensor некоторое время, но после некоторых проблем с настройкой (чувствительность x время) я решил использовать датчик HC-SR04. Идея проста: вы устанавливаете детектор в том месте где вы хотите улавливать движение, и он будет реагировать на разность измеренного расстояния и оповещать нас на телефоне в приложении Blynk.
Что вам будет нужно:
- ESP8266 советую Wemos D1– http://ali.pub/2s6wfn
- НС-SR04 ультразвуковой дальномер–http://ali.pub/2s6woz
- Blynk приложение
Схема подключения выглядит таким образом:

WeMos D1 — > HC-SR04
5V — > VCC
G — > GND
D6 — > Эхо
D7 — > Trig
Для настройки программы Blynk я оставлю картинки:

Опишем порядок действий:
- Скачать приложение Blynk
- Зарегистрироваться или войти (если у вас уже есть учетная запись)
- Нажмите”+”, чтобы создать новый проект
- Дайте проекту имя и выберите устройство, которое вы используете (в нашем случае это ESP8266) и нажмите ” создать”
- Вы получите маркер аутентификации который прислали на почту, он нам понадобится позже.
- На странице проекта Blynk нажмите”+”, чтобы добавить виджет уведомления.
- В настройках проекта (значок гайки вверху) “Отправить приложение подключенную команду” в ON.
- Закройте настройки и нажмите кнопку воспроизведения
Теперь пришло время загрузить код:
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define BLYNK_PRINT Serial
char auth[] = "47c9d3d8bc924cc1b592cd64d63d6a96"; //Blynk token
char ssid[] = "NETGEAR"; //Ваш SSID
char pass[] = "14111990"; //ВАШ пароль от wi-fi
//Название локации
String location = "Room";
int rangeMin = 0;
int rangeMax = 50;
//HC-SR04 пины подключения датчика
const int echoPin = D6;
const int trigPin = D7;
// Определение переменных
long duration;
int distance;
int saveDis = 0;
SimpleTimer timer;
void sensorFire() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
saveDis = distance;
distance = duration * 0.034 / 2;
}
void sensorRead() {
sensorFire();
if (rangeMin < distance && distance < rangeMax) {
sensorFire();
if (rangeMin < distance && distance < rangeMax) {
Blynk.notify(String(location) + ": Расстояние изменено ");
}
}
}
void setup() {
Serial.begin(115200);
delay(10);
Blynk.begin(auth, ssid, pass);
Blynk.notify(String(location) + " connected to: " + String(ssid));
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
timer.setInterval(1000L, sensorRead);
}
void loop() {
Blynk.run();
timer.run();
}
Скачать скетч можно здесь: https://yadi.sk/d/u8TKy5RtgnLuwA
А вот скетч с датчиком движения HC-sr501
#include <ESP8266WiFi.h>
#define BLYNK_PRINT Serial
#include <BlynkSimpleEsp8266.h>
char auth[] = "47c9d3d8bc924cc1b592cd64d63d6a96";
/* WiFi credentials */
char ssid[] = "NETGEAR";
char pass[] = "14111990";
/* HC-SR501 Motion Detector */
#define ledPin D7
#define pirPin D1
int pirValue;
int motionDetected = 0;
void setup()
{
Serial.begin(115200);
delay(10);
Blynk.begin(auth, ssid, pass);
pinMode(ledPin, OUTPUT);
pinMode(pirPin, INPUT);
digitalWrite(ledPin, LOW);
}
void loop()
{
getPirValue();
Blynk.run();
}
void getPirValue(void)
{
pirValue = digitalRead(pirPin);
if (pirValue)
{
Serial.println("==> Motion detected");
Blynk.notify("T==> Motion detected");
}
digitalWrite(ledPin, pirValue);
}
Ну на этом все. Если хотите увидеть как настраивается Blynk то смотрите в видео: