Автономна охоронна система на 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

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

Сьогодні 480
Вчора386
Цього тижня 866
Минулого тижня 2262
Цей місяць 8424
Минулий місяць 9310
За весь час 172458
Ваш IP: 18.117.158.174
Сегодня: 2025-04-28
Пользователей на сайте: 0
Гостей на сайте: 29