Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Arduino Yun: сигнализация с SMS-уведомлением (HC-SR04 + Twilio + Temboo)

Компоненты и материалы

Компонент Количество
Arduino Yun (или Leonardo + WiFi Shield) 1
Ультразвуковой дальномер HC-SR04 1
Батарея 9V с коробкой и выключателем 1
Перемычки (4 шт.) 1 набор
Мини-макетная плата (по желанию) 1

Сервисы (облако)

Принцип работы

  1. HC-SR04 постоянно измеряет расстояние до ближайшего объекта.
  2. Если расстояние меняется резко (объявленный "взлом" — объект появился/исчез в зоне 20–1100 дюймов), Arduino Yun через WiFi подключается к Temboo.
  3. Temboo вызывает Choreo /Library/Twilio/SMSMessages/SendSMS с вашими учётными данными.
  4. Twilio отправляет SMS на ваш номер: "Intruder Detected!!!!!!".

Пошаговая инструкция

Шаг 1: Подключение и тест датчика

Схема: VCC -> 5V, GND -> GND, Trig -> D2, Echo -> D4.

Загрузите тестовый скетч IntruderDectectorTEST (см. код ниже). Откройте Serial Monitor (9600 baud). Вы увидите расстояние в дюймах. При срабатывании — надпись "Intruder Detected!".

Шаг 2: Подключение Yun к WiFi

Инструкция: официальная страница Arduino Yun. Проверьте подключение сканированием сети (например, программой LanScan на Mac).

Шаг 3: Добавление SMS-функционала (Temboo + Twilio)

  1. Создайте аккаунты на Temboo и Twilio.
  2. В Twilio получите: Account SID, Auth Token (показать замком), номер отправителя (From).
  3. В Temboo: Applications → получите Account Name, App Key Name, App Key.
  4. В Arduino IDE: создайте вкладку TembooAccount.h и вставьте туда данные Temboo (см. пример на сайте автора).
  5. В основном скетче вставьте свои Twilio-данные в строки SendSMSChoreo.addInput(...).

Шаг 4: Настройка порогов срабатывания

В условии if (inches < 20 || inches > 1100) подберите значения под вашу комнату. Тестируйте без отправки SMS (тестовым скетчем), чтобы не потратить бесплатные лимиты Temboo/Twilio.

Шаг 5: Запуск

Питание от 9V батареи. Serial Monitor покажет "Patrol Mode Initiated...". При срабатывании — отправка SMS (макс. 5 раз по умолчанию, затем нужен перезапуск).

Код (основные версии)

Тестовый скетч (без SMS)

#include <SoftwareSerial.h>
int trigPin = 2, echoPin = 4;
long duration, inches;

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  delay(5000);
  Serial.println("Patrol Mode Initiated...");
}

void loop() {
  digitalWrite(trigPin, LOW); delayMicroseconds(1);
  digitalWrite(trigPin, HIGH); delayMicroseconds(2);
  digitalWrite(trigPin, LOW);
  pinMode(echoPin, INPUT);
  duration = pulseIn(echoPin, HIGH);
  inches = (duration / 2) / 74;
  Serial.println(inches);
  if (inches < 20 || inches > 1000) {
    Serial.println("Intruder Detected!");
    Serial.println("Sending text Notification...");
    delay(5000);
    Serial.println("Patrol Mode Initiated...");
  }
}

Полный скетч с SMS (Temboo + Twilio)

#include <Bridge.h>
#include <Temboo.h>
#include "TembooAccount.h"
#include <SoftwareSerial.h>

int numRuns = 1, maxRuns = 5;
int trigPin = 2, echoPin = 4;
long duration, inches;

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  delay(5000);
  Bridge.begin();
  Serial.println("Patrol Mode Initiated...");
}

void loop() {
  digitalWrite(trigPin, LOW); delayMicroseconds(1);
  digitalWrite(trigPin, HIGH); delayMicroseconds(2);
  digitalWrite(trigPin, LOW);
  pinMode(echoPin, INPUT);
  duration = pulseIn(echoPin, HIGH);
  inches = (duration / 2) / 74;
  Serial.println(inches);

  if (inches < 20 || inches > 1100) {
    Serial.println("Intruder Detected!");
    Serial.println("Sending text Notification...");
    if (numRuns <= maxRuns) {
      Serial.println("Running SendSMS - Run #" + String(numRuns++));
      TembooChoreo SendSMSChoreo;
      SendSMSChoreo.begin();
      SendSMSChoreo.setAccountName(TEMBOO_ACCOUNT);
      SendSMSChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
      SendSMSChoreo.setAppKey(TEMBOO_APP_KEY);
      SendSMSChoreo.addInput("AuthToken", "ВАШ_TWILIO_AUTH_TOKEN");
      SendSMSChoreo.addInput("To", "+ВАШ_НОМЕР_ПОЛУЧАТЕЛЯ");
      SendSMSChoreo.addInput("From", "+ВАШ_TWILIO_НОМЕР");
      SendSMSChoreo.addInput("Body", "Intruder Detected!!!!!!");
      SendSMSChoreo.addInput("AccountSID", "ВАШ_TWILIO_ACCOUNT_SID");
      SendSMSChoreo.setChoreo("/Library/Twilio/SMSMessages/SendSMS");
      SendSMSChoreo.run();
      while(SendSMSChoreo.available()) {
        char c = SendSMSChoreo.read();
        Serial.print(c);
      }
      SendSMSChoreo.close();
    }
    Serial.println("Waiting...");
    delay(10000);
    Serial.println("Patrol Mode Initiated...");
  }
}

Схема подключения

Файл: schematic.png (в разделе Schematics). HC-SR04: VCC-5V, GND-GND, Trig-D2, Echo-D4. Yun питается от 9V через Vin/GND или USB.

Важные примечания

Производственный процесс

  1. Интеграция данных сенсоров в Raspberry Pi: практическое руководство
  2. Датчик слежения за линией на Raspberry Pi — простой детектор двери/линии KY‑033
  3. Построение надёжного Temperature & Sensor API на Raspberry Pi с модулем GY‑91
  4. Надёжный домашний мониторинг с Home Assistant на Raspberry Pi: движение, алермы и видеозахват
  5. Создание headless сигнализации утечки воды на Raspberry Pi 2 с Adafruit T‑Cobbler Plus
  6. Подключение ультразвукового датчика HC-SR04 к Raspberry Pi — практическое руководство
  7. Создайте автоматизированную аэропоническую систему с Raspberry Pi и датчиком влажности
  8. Мастерство GPIO Raspberry Pi: подключение PIR-датчика движения на B+/Model 2
  9. Интеграция импульсного радара Acconeer A111 с Raspberry Pi: практическое руководство
  10. Подключение, калибровка и программирование PIR-датчика HC‑SR501 с Raspberry Pi