- Необхідні матеріали:
- Пояснення модулів:
- Схематичне та апаратне забезпечення
- Створення API для надсилання електронної пошти за допомогою IFTTT:
- Програма Arduino
- -CircuitDigest
- Працює
Це ще один цікавий проект IOT, в рамках якого ми створимо систему безпеки, яка може запускати електронне повідомлення, коли когось виявляє. Цей проект поєднує в собі потужність ESP8266, PIR-датчик та голосовий модуль ISD1820. В кінці цієї статті ви створили б повнофункціональну систему безпеки, яку можна дистанційно озброїти / зняти (активувати / деактивувати) через Інтернет. Ви можете записати власний аудіокліп, який буде відтворений при виявленні руху, а також надіслати повідомлення з датою та часом на певний ідентифікатор електронної пошти із вказівкою про вторгнення. Досить круто….. !!! ??
Тож давайте побудуємо його..
Необхідні матеріали:
Матеріали, необхідні для побудови цього проекту, перелічені нижче
- ESP8266
- ПІР-датчик
- Голосовий модуль ISD1820
- LM317, LM7805
- BC547 (2Ні)
- Резистори 1К, 200Ом, 330Ом
- Конденсатори 10 мкФ та 0,1 мкф
- 12 В адаптер / 9 В акумулятор для живлення налаштування
Пояснення модулів:
Проект містить три важливі компоненти - модуль ESP8266, датчик PIR та голосовий модуль ISD1820. Якщо ви знайомі з цими модулями, ви можете пропустити цю частину, щоб перейти до схем, але якщо ви хочете знати, як вони працюють, читайте далі.
Модуль ESP8266:
Я впевнений, ви б зіткнулися з цим модулем якийсь час чи інший. Це дуже відомий і потужний модуль WiFi, який в основному використовується в проектах IOT.
Цей проект передбачає, що ви знаєте, як запрограмувати модуль ESP8266, якщо не люб’язно відвідайте два нижче підручники, де я пояснив вам, як розпочати роботу з ESP8266 та як ви можете запрограмувати його за допомогою IDE Arduino. Ви повинні це знати, щоб завершити проект.
- Початок роботи з ESP8266
- Програмування ESP8266 за допомогою Arduino IDE
ПІР-датчик:
Датчик PIR розшифровується як пасивний інфрачервоний датчик. Це недорогий датчик, який може виявити присутність людей або тварин. У датчику є два важливі матеріали, один - це піроелектричний кристал, який може виявляти теплові сигнали живого організму (люди / тварини), а інший - лінзи Френеля, які можуть розширити діапазон датчика. Також модулі датчика PIR надають нам деякі варіанти регулювання роботи датчика, як показано на малюнку нижче.
Два потенціометри (оранжевий колір) використовуються для контролю чутливості та спрацьовування часу роботи датчика. В основному вивідний штифт датчика знаходиться між виводами Vcc і Gnd. Модуль працює на 3,3 В, але може живитись і на 5 В. У верхньому лівому куті він також має спусковий механізм, за допомогою якого модуль може працювати в двох різних режимах. Один - режим “H”, а другий - режим “I”.
У режимі “H” вихідний штифт Dout буде високим (3,3 В), коли людина виявляється в межах дальності, і опускається низьким через певний час (час встановлюється потенціометром). У цьому режимі вихідний штифт буде високим, незалежно від того, присутня людина все ще знаходиться в межах діапазону або покинула область. Ми використовуємо наш модуль у режимі “H” у нашому проекті.
У режимі «I» вихідний штифт Dout буде високим (3,3 В), коли людина буде виявлена в межах діапазону, і буде залишатися високим, поки він / вона залишатиметься в межах діапазону датчиків. Як тільки людина покине область, штифт опуститься через певний час, який можна встановити за допомогою потенціометра.
Примітка: Положення потенціометрів або штифтів може змінюватися залежно від постачальника датчика PIR. Слідуйте шовковому екрану, щоб визначити свої розпиновки
Голосовий модуль ISD1820:
Голосовий модуль ISD 1820 - це справді класний модуль, який може оживити ваші проекти голосовими анонсами. Цей модуль може записувати аудіокліп протягом 10 секунд, а потім відтворювати його, коли це потрібно. Сам модуль постачається з мікрофоном і динаміком (8 Ом 0,5 Вт), і він повинен виглядати приблизно так, як показано нижче.
Модуль працює на напрузі + 5 В і може живитись за допомогою паличок Берга зліва. Він також має три кнопки внизу, які є Rec., PlayE. і PlayL. відповідно. Ви можете записати свій голос, натиснувши Rec. і відтворіть її за допомогою кнопки PlayE. PlayL буде відтворювати голос, доки ви утримуєте кнопку. При взаємодії з MCU або ESP ми можемо використовувати шпильки зліва. Ці висновки є допустимими від 3 В до 5 В, і, отже, можуть безпосередньо керуватися Arduino / ESP8266. У нашому проекті ми контролюємо штифт PLAYE за допомогою виводу GPIO 0 нашого модуля ESP8266. Так що ми зможемо відтворити записаний голос при виявленні зловмисника.
Схематичне та апаратне забезпечення
Повна схема цього проекту системи безпеки IoT наведена нижче:
Схема складається з двох регуляторів напруги. Один - це регулятор 3,3 В, розроблений з використанням LM317, а інший - регулятор 5 В, виконаний за допомогою мікросхеми регулятора 7805. LM317 - це змінний регулятор напруги, вихід якого встановлюється на 3,3 В за допомогою резисторів 200 Ом та 330 Ом. Обидва регулятори живляться за допомогою адаптера 12 В. Енергоспоживання цієї схеми є мінімальним, отже замість адаптера на 12 В також можна використовувати акумулятор 9 В.
Датчик PIR і голосовий модуль включаються, зробивши 2-контактний GPIO високим. Цей штифт буде приводити BC547 через резистор, обмежуючий струм 1 к, і завершити ланцюг живлення для обох модулів. Штифт GPIO_0 використовується вхідним штифтом. Він підключений до виводу датчика ПІР-датчика через транзистор BC547. Коли цей штифт підніметься, ми запустимо електронне повідомлення про вторгнення через нашу програму Arduino.
Джерело струму вихідних штифтів (Dout, GPIO_2 і GPIO2) набагато менше, отже, я використовував транзистор для їх керування. Також штифти GPIO ESP8266 не повинні завантажуватися, коли модуль увімкнено, інакше модуль увійде в нескінченний цикл скидання. Щоб уникнути цього, я розмістив два перемикачі, щоб тимчасово відключити їх під час живлення.
Ви можете припаяти вищезазначені схеми до дошки Perf або просто використовувати макет. Я використовував жіночі / чоловічі палички берг, щоб уникнути пайки на модулях. Після завершення ваша дошка повинна виглядати приблизно так, як показано нижче
Створення API для надсилання електронної пошти за допомогою IFTTT:
Після того, як обладнання буде готове, давайте створимо API (інтерфейс прикладних програм), який може надсилати електронну пошту на певний ідентифікатор електронної пошти. Це легко зробити за допомогою веб-сайту під назвою IFTTT.com. Я також висвітлив проект, який міг надсилати SMS за допомогою ESP8266 та електронної пошти за допомогою мікроконтролера PIC, який використовує ті самі послуги IFTTT.
Якщо ви ще не використовували IFTTT, відвідайте відео в кінці цього уроку, якщо ви знайомі, просто виконайте наведені нижче дії.
1. Увійдіть у свій обліковий запис IFTTT
2. Знайдіть “Web Hooks Maker” і натисніть на підключення
3. Тепер знайдіть “Gmail” і натисніть на підключення та виконайте дії, щоб надати доступ
4. Потім створіть Аплет, натиснувши Мій Аплет-> Новий Аплет.
5. Тут функція "Це" буде для служби веб-виробників, а "ця" - Служби Gmail
6. Тож натисніть «Це», знайдіть і виберіть гачки веб-виробника. Він запитає назву події, яку я назвав своєю подією як „123”
7. Потім натисніть «Це», знайдіть і виберіть Gmail і введіть тему та тіло повідомлення.
8. Після введення всіх необхідних даних ваш Apple повинен бути готовим, і він повинен виглядати приблизно так нижче
9. Тепер виконайте пошук і знову зайдіть у Web Maker Hooks та натисніть «Документація». Потім під назвою події введіть назву події, яку ми використовували в аплеті. У моєму випадку це "123" і скопіюйте URL-адресу, оскільки вона нам знадобиться в нашій програмі Arduino. URL-адреса повинна сподобатися приблизно таким чином нижче.
10.Ви можете натиснути кнопку «Перевірити», щоб перевірити, чи працює посилання належним чином, і, маючи це, ви мали отримати тестовий лист.
Програма Arduino
Програма Arduino для цього проекту проста і легка. Ми повинні просто змусити ESP діяти як AP та STA. Потім створіть веб-сторінку, використовуючи HTML-код, де ми зможемо ОХОРОНИТИ / ЗНИМИТИ ОХОРОНУ Повний код наведено в кінці цього посібника. Код також пояснюється за допомогою рядків коментарів. Далі важливі рядки пояснюються нижче.
const char * ssid = "BPAS home"; // Введіть тут свій SSID Wi-Fi const char * password = "cracksen"; // Введіть тут свій пароль
У наведеному вище рядку коду змініть ім'я SSID та пароль на ім'я SSID вашого маршрутизатора та відповідний пароль.
Якщо ви хочете дізнатися, за яким IP підключений ваш ESP8266, ви можете це дізнатися, відкривши послідовний монітор, наступні рядки коду надрукують ваш IP на послідовному моніторі Arduino IDE.
Serial.println (""); Serial.print ("Підключено до"); Serial.println (ssid); Serial.print ("IP-адреса:"); Serial.println (WiFi.localIP ()); // Послідовний монітор надасть IP-адресу вашого модуля ESP
Код HTML, який відповідає за створення веб-сторінки, поданий нижче. Ви можете налаштувати свою веб-сторінку за допомогою власного коду. Я змінив частину зворотного зв'язку, щоб підтвердити користувача, якщо сторінку було успішно завантажено.
// HTML-код веб-сторінки // mainPage + = "
Система безпеки на основі IOT
-CircuitDigest
Стан будильника:
"; відгук ="Клацніть на ARM, щоб увімкнути систему безпеки
"; // Кінець HTML коду //Наведені нижче рядки коду визначають, що слід робити, коли сигнал тривоги поставлений під охорону або знятий з охорони. У своїй програмі я змінив частину зворотного зв'язку HTML-коду і зробив 2-контактний GPIO HIGH / LOW на основі кнопки, як показано нижче
server.on ("/ switch2On", () {feedback = "
Будильник спрацьовує
"; // Модифікація HTML-коду currentPage = mainPage + відгук; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, HIGH); // Увімкнення PIR та голосового модуля power_module = істина; затримка (1000);}); server.on ("/ switch2Off", () {feedback = "Будильник не спрацьовує
"; // Модифікація HTML-коду currentPage = mainPage + відгук; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, LOW); // Вимкнути PIT і голосовий модуль power_module = хибний; затримка (1000);});Ще одним важливим рядком, який необхідно змінити, щоб система працювала належним чином, є рядок URL-рядка. Ви вставляєте сюди рядок (після “/ тригер”), який скопіювали з веб-сайту IFTTT. Я показав мій нижче, але не використовую мій ключ API, використовуйте тут свій власний
URL-адреса рядка = "/ trigger / 123 / with / key / mDsoOV_EERS3xRfrh3_UQBhbcx0qlRHns-z2qXXXXX"; // Потрібно змінити його на URL-адресу API
Решта коду є зрозумілою, якщо у вас є якісь сумніви, ви можете скористатися розділом коментарів, і я вам допоможу.
Працює
Після того, як ви будете готові до обладнання та кодів, ви можете завантажити програму на ваш модуль ESP8266 за допомогою плати FTDI. Якщо ви не впевнені, як завантажувати програми на ESP8266 за допомогою Arduino IDE, відвідайте цей посібник.
Після завантаження програми натисніть на послідовний монітор, і ви побачите щось подібне нижче. Якщо не скинути модуль ESP8266, спробуйте ще раз
Тут ви також можете записати IP-адресу, призначену вашому модулю ESP8266. Потім ви можете використовувати IP-адресу для завантаження веб-сторінки у ваш браузер та поставлення / зняття з охорони вашої системи IoT Security, як показано на малюнку нижче.
Після того, як ви перевірили все це, тепер ви можете перенести ваш ESP8266 на плату Perf та увімкнути його, а потім увімкнути перемикачі, як показано у відео.
Після увімкнення ви можете використовувати IP, щоб потрапити на показану вище веб-сторінку та ввімкнути систему Securtiy. Після ввімкнення зачекайте 50-60 секунд, щоб калібрувати датчик PIR.
Тепер ваш проект готовий до дії, ви можете залишити його в потрібному вам місці, і якщо хтось перетне це місце і потрапить в діапазон датчика PIR, спрацьовує голосове повідомлення, і на ваш електронний лист буде надіслано електронне повідомлення Посвідчення особи з датою та часом, коли він / вона перетнув. Електронна пошта вказана нижче.
Отже, все. Я сподіваюся, вам сподобався проект і ви із задоволенням зробите свій власний. Повна робота проекту наведена у відео нижче. Якщо у вас є якісь сумніви чи пропозиції, ви можете написати їх у розділі коментарів нижче, і я відповім якомога більше.