Компактна багатоцільова багатофункціональна 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 друкованих плат першої ітерації, які я можу надіслати поштою (безкоштовно). Це перша версія, тому в ній є деякі помилки, які вам потрібно буде виправити за допомогою різака та кількох дротів. Якщо ви зацікавлені, напишіть мені
Ви можете завантажити попередньо скомпільоване *.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. Щоб успішно скомпілювати його, вам потрібно вручну встановити ці бібліотеки:
- RTCLib з https://github.com/NeiroNx/RTCLib (клонуйте репо або використовуйте версію ВИЩЕ v1.5.8, якщо такий випуск існує)
- /kicad-project - схеми та дошка KiCAD