Автономна охоронна система на Arduino + GSM

Компактна багатоцільова багатофункціональна GSM-сигналізація з відкритим кодом. Створення на базі Arduino Pro Mini та Arduino-сумісних модулів.

особливості

спілкування

Пристрій надсилає SMS про будь-яку подію тривоги та, за бажанням, звіт про стан один раз на день. Чому SMS, а не інтернет-сервіс? SMS залишається найнадійнішим засобом мобільного зв’язку у випадках поганої якості сигналу, вимагає менше енергії та працює напряму, не покладаючись на центральний сервер (який має обслуговуватися кимось і може становити проблему безпеки).

Приклад смс тривоги:

04.11.19 22:37
Movement detected
 

Приклад СМС щоденного звіту:

door: Closed [04.11.19 09:14] <-- date and time of last door open event
move: None [04.11.19 09:12] <-- date and time of last movement detection event
temp.: 28*C [min. 21*C, max. 28*C, mean 27*C] <-- current temperature and temperature statistics for the current day
light: 99% <-- current illumination level (0 to 100%)
bat.: 4.6v <-- current battery voltage
ext.1: 0 <-- current state of external sensor 1
ext.2: 0 <-- current state of external sensor 2
 

Для кожної події тривоги ви також можете ввімкнути дзвінок на телефон або/або звуковий сигнал.

Датчики

  • Датчик відкритих дверей (магнітний геркон)
  • Датчик рівня освітленості (фоторезистор)
  • Датчик руху (PIR датчик)
  • Датчик температури (вбудований DS3231)

Події тривоги

  • Відкриті двері
  • Швидка зміна освітлення
  • Виявлення руху
  • Занадто висока або занадто низька температура
  • Низька напруга акумулятора

Блок живлення

Три батарейки типу АА. Очікувана тривалість життя: від 3 до 6 місяців.

Конфігурація та журналювання

Пристрій можна підключити до ПК через USB для налаштування. Програма конфігурації дозволяє встановити цільовий номер телефону, час щоденного SMS-повідомлення, вибрати події, про які буде повідомлятися, спосіб сповіщення (SMS, дзвінок, звуковий сигнал), а також встановити періоди часу, протягом яких ці події відстежуються. Тобто, якщо ви знаєте, що кімната використовується протягом певних годин у певні дні тижня, ви можете вимкнути будильник на цей період. Він також показує останні 70 подій із датою та часом, а також температурний графік за останній 31 день (одне вимірювання кожні 2 години).

Локалізація

Підтримувані мови (SMS і програма налаштування для ПК): англійська, російська.

Формат дати: дд/мм/рр

Одиниці вимірювання температури: градуси Цельсія

Інструкція зі складання

Обладнання

Список компонентів

Список модулів Arduino, які вам знадобляться:

  • Arduino Pro Mini 3,3 В 8 МГц (5 В 16 МГц також прийнятно, але вимагає іншої мікропрограми)

  • МІНІ-датчик руху MH-SR602

  • SIM800C GSM модуль

  • CP2102 Модуль MICRO USB до UART TTL

  • Модуль RTC DS3231 для Raspberry Pi

Інші компоненти

  • будь-який Р-канальний МОП-транзистор із логічним рівнем >0,5 А в SOT-23

  • геркон

  • зумер від 3 до 5 В

  • електретний мікрофон

  • фоторезистор

  • резистори, конденсатори

Схеми:

Важлива примітка

Зніміть світлодіод живлення або резистор, який йде послідовно з ним, із плати Arduino. Інакше батареї розрядяться за кілька днів. Краще також видалити регулятор напруги з Arduino, оскільки він не використовується, але все одно споживає трохи струму.

Видача друкованих плат

У мене залишилося 9 друкованих плат першої ітерації, які я можу надіслати поштою (безкоштовно). Це перша версія, тому в ній є деякі помилки, які вам потрібно буде виправити за допомогою різака та кількох дротів. Якщо ви зацікавлені, напишіть мені

програмне забезпечення

Миготливий Arduino

Ви можете завантажити попередньо скомпільоване *.hexмікропрограмне забезпечення на Arduino через xLoader . Доступно чотири файли прошивки:

шістнадцятковий файлопис
gsmGuard-firmware-EN-8MHz.hex 8MHz arduino, англійська SMS
gsmGuard-firmware-EN-16MHz.hex 16MHz arduino, англійська SMS
gsmGuard-firmware-RU-8MHz.hex 8MHz arduino, російська СМС
gsmGuard-firmware-RU-16MHz.hex 16MHz arduino, російська СМС

Запущена програма налаштування

  • вікна

    Запустіть gsmGuardConf_v1.0.exe. Він не потребує встановлення, але процес розпакування досить повільний, може тривати 10-20 секунд.

  • Linux

    ~$ python2.7 gsmGuardConf.py

Примітки щодо використання

  • Пристрій призупиняє свою звичайну роботу, коли його підключено до USB.
  • Якщо пристрою не вдалося надіслати SMS, він повторюватиме спробу через 2 хвилини, потім знову через 5, через 10, через 20, двічі через 40 і потім кожні 12 годин.
  • Після успішного дзвінка пристрій покладе трубку через 3 хвилини.
  • Звуковий сигнал триватиме 30 секунд.
  • Події дверей, руху та зміни світла не відстежуються протягом 20 хвилин після останньої зареєстрованої події.
  • Якщо живлення пристрою було вимкнено на три години, історія температури стирається.

Відомі проблеми

Схоже, PIR-датчики погано працюють при низькій температурі. Шахта починає втрачати стійкість (часті помилкові спрацювання) при зниженні температури навколишнього середовища нижче +5 за Цельсієм. Хоча я впевнений, що це залежить від конкретної моделі.

Файли проекту

  • /config-util - програма конфігурації ПК. Python 2.7 + Tk + pyserial + matplotlib
  • /gsmGuard-firmware - прошивка Arduino. Щоб успішно скомпілювати його, вам потрібно вручну встановити ці бібліотеки:
    1. RTCLib з https://github.com/NeiroNx/RTCLib (клонуйте репо або використовуйте версію ВИЩЕ v1.5.8, якщо такий випуск існує)
  • /kicad-project - схеми та дошка KiCAD

Додати коментар


Захисний код
Оновити

EcoMonitoring

ЛІЧІЛЬНИК ВІДВІДУВАННЬ

Сьогодні 377
Вчора300
Цього тижня 936
Цей місяць 936
Минулий місяць 9313
За весь час 174278
Ваш IP: 18.227.49.56
Сегодня: 2025-05-03
Пользователей на сайте: 0
Гостей на сайте: 41