Бюджетная gsm сигнализация с мозгами из arduino

Бюджетная gsm сигнализация с мозгами из arduino

  • Цена: $2,21

Хороший сутки! Снова мультиобзор китайских электронных компонентов, как в большинстве случаев обо всём понемногу, попытаюсь меньше, но окажется ли? Итак, встречайте, GSM сигнализация ценой до 700 ?. Весьма интересно?

Прошу под «cut»!

Приступим! Перед началом советую посмотреть в данный обзор, меньше компонентов и громадная автономность. Итак, «техзадание», главные требования к сигнализации:1) Оповещать при срабатывании датчиков.

2) При отключения питания должна быть предусмотрена некая автономность. 3) Управление сигнализацией через sms и звонки.По причине того, что процесс создания сигнализации затянулся на пара месяцев и кое-какие продавцы уже не реализовывают те компоненты каковые были у них приобретены, ссылки будут актуализированы на товары вторых продавцов у которых большое либо приближенное к большому лучшая продаж цена и число товара.

Цены в обзоре актуальны на дату его написания.Список того что пригодится:1. «Храбрец обзора» — Arduino Nano v3 — 150 ?. 2. GSM Модуль — M590e — 110 ?. 3. Повышающий DC преобразователь — MT3608 — 35 ?. 4. Контроллер заряда-разряда для Li-ion аккумулятора — TP4065 — 25 ?. 5. Разъём для подключения питания — XT60 — 2 шт * 25 ? = 50 ?. 6. Светодиод RGB с неспециализированным анодом — 1шт * 5 ?. 7. Диоды E027 — 2 шт * 1 ? = 2 ?. 8. Герконовый датчик — 70 ?. 9. Резисторы 10 кОм — 10 ?. 10. Выключатель — 15 ?. 11. Разъём для подключения датчика — JST SM — 10 ?. 12.

не 6 x 18650 — 160 ?. 13. Аккумулятор 18650 — из личных запасов. 14.

Зарядное устройство 5В 1А — из личных запасов.Дополнительный обвес, поддерживается в актуальных прошивках каковые выложены в виде HEX — файла: 1. Датчик перемещения HC-SR501 — 50 ?. 2. Модуль и ему подобные расширители портов ввода/вывода на чипе PCF8574, для подключения дополнительных 8 датчиков — 80 ?. 3. Резисторы номиналом 2,2 кОм и 3,3 кОм, для контроля наличия внешнего питания.

4. Доработка источника резервного питания, аккумулятор разряжается лишь при отключении внешнего питания. Так же на плате разведён делитель напряжения из 3 пункта. Делитель напряжения *12 — На фото PowerBank 4 x 18650, в случае если попытаться, то возможно и в него всё вместить.Начнём.

Все главные моменты и вероятные «подводные камни» выделены жирным шрифтом.Мозгами будет Arduino Nano v3 много раз рассмотренная на этом ресурсе.В качестве корпуса послужит четырёх — шестибаночный PowerBank, все его внутренности вынимаем, они нам не пригодятся. Так как эти корпусы «одноразовые», чтобы его позже открыть, нужно мало спилить все зубцы на защёлках.его настройка и Модем. Обзор на него написал товарищ mitel.

Добавлю от себя что это весьма капризный модем, в случае если учесть что он ещё и бывший в потреблении то из плюсов остаётся только его цена. Чтобы модем запустился при подаче питания нужно вывод BOOT нужно замкнуть на GND через резистор на 10 кОм либо между вторым и третьим пином модуля впаять SMD резистор для того чтобы же номинала, маркировка 103. Сейчас начинается самое занимательное, настройка модема.

Из-за того что модуль б/у и настройки у всех модулей различные, необходимо подключить модем через USB-UART конвертер и выяснить умелым путём какая скорость порта установлена в модеме. SIM-карту из модема нужно извлечь для меньшего энергопотребления. Подключается так:USB-UARTModem m590e GND GND VCC5V TXORXD RXITXD Подключаем к USB порту компьютера, устанавливается драйвер.

В диспетчере устройств должно показаться что-то подобное: Запускаем программу Putty, выбираем тип соединения «Serial» прописываем номер COM порта, в моём случае 5, и скорость 9600. Вероятные значения скорости: 2400,4800,9600,14400,19200,28800,38400,57600,115200,230400,460800. Довольно часто применяемые значения: 9600,14400,19200,28800,38400,57600.

Нажимаем кнопку «Open» и отключаем пин GND от модема.

Приблизительно через секунду подключаем обратно и в случае если видим в консоли подобные «каракули»: закрываем программу, запускаем опять. В поле скорость порта «Speed» меняем значение на следующее (14400) из вероятных и повторяем эти операции , пока не заметим в консоли строчок: Превосходно! Сейчас нужно модему сказать что в будущем мы с ним будем «общаться» на скорости 9600, для этого в консоли вводим команду: AT+IPR=9600 и нажимаем «Enter».

Видим следующее: Закрываем программу и подключаемся опять, показываем скорость и номер порта уже 9600. В случае если выполнить команду ATI то заметим данные о модели и прошивке модема. На этом настройка модема закончена.Для питания от сети используем 5 V 1-2 А зарядное устройство от телефона. Лучше не применять непонятные недорогие китайские зарядники, а забрать что-то понадёжнее.

Так же нужно сделать источник бесперебойного питания на случай отключения сетевого питания.

Подключить возможно и без того (устаревший вариант): Но лучше подключать как на рисунке ниже, вместе с доработкой источника резервного питания: При наличии сетевого питания ардуина и модем питаются от блока питания, в случае если сетевое питание отключается устройство запитывается от аккумулятора 18650. При подаче сетевого питания начинается зарядка аккумулятора. Аккумулятора емкостью 2000 mAh хватает приблизительно на дни бесперебойной работы.

Фото Источник питания готов.Подключение к Arduino светодиода и герконового датчика. Подключение модема. МодемArduino TXD D8 RXD D9 МодемMT3608 5V VOUT+ GNDVOUT-Подключение светодиода. Светодиод с неспециализированным анодом.

Хорошие, весьма броские светодиоды.

СветодиодArduino RD10 GD12 BD11 AnodeVINПодключение герконового датчика. Герконовый датчикArduino Контакт 1VIN Контакт 2D6 Так же D6 нужно замкнуть на GND через резистор на 10 кОм.По окончании МТ3608 стоит выключатель в разрыве плюсового контакта питания, на случай в случае если пригодится перезагрузить Arduino с модемом.Фото Готовое устройство в сборе. * В этом устройстве не применял разъёмы XT60 и JST SM так как они задержались в пути, заменил их подобными 🙂 В принципе возможно и без них обойтись, но так эргономичнее отключать сигнализацию от сети и датчика питания.

Да и XT60 не совсем подходит для 220В, уж весьма близко контакты, но другого ничего не отыскал. Крепим датчик. Магнит вешаем на дверь, датчик на коробку.

На датчике и на магните уже присутствует двухсторонняя липкая лента, держится он прекрасно, в случае если имеется желание возможно прикрутить шурупами, они присутствуют в наборе. Датчик срабатывает уже на расстоянии 4 — 5 сантиметров, фальшивых срабатываний не наблюдалось.

Фото Сейчас заливаем скетч, поскольку иногда вношу трансформации в код, буду выкладывать скетчи с датами трансформаций.В файл SoftwareSerial.h (C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.h) нужно внести изменениябыло так:#define _SS_MAX_RX_BUFF 64 стало так:#define _SS_MAX_RX_BUFF 192Неактуальная версия firmware сигнализации. Перечень трансформаций. Скетч от 02.12.2016 финальный открытый скетч, в будущем трансформации в данный скетч вноситься не будут.

В будущем все firmware будут выкладываться в виде двоичного файла.Скетч от 18.11.2016. Добавлена sms — команда запроса баланса Money и добавлен тревожный пин (описание в скетче). Занято 73% SRAM;Скетч от 19.11.2016. Сейчас sms — команды не чувствительны к регистру (Info=InFo=INFo=infO).

Оптимизация памяти — занято 55% SRAM;Скетч от 23.11.2016.

Добавлен инверсный тревожный пин. Настройки каковые смогут быть поменяны посредством sms — команд сейчас сохраняются при отключении питания устройства. Добавлена команда Reset — сброс на «заводские» установки.

Занято 56% SRAM;Скетч от 24.11.2016.

Исправлены кое-какие неточности. Снятие с охраны и постановка на охрану сейчас так же сохраняются по окончании отключения питания устройства. Занято 56% SRAM;Скетч от 02.12.2016.

Исправлен баг SYSTEM:AUTO GUARD ON. Сейчас команда SmsOff трудится верно. Команда Clear заменена командой ClearSms.

Команда Reset заменена командой ResetConfig.

Занято 54% SRAM;Скетч от 02.12.2016Исходник sketch_02_12_2016.ino берём тут.Команды управления для скетча от 02.12.2016SMS — команды управления не чувствительны к регистру: RingOn — включить уведомление звонком при срабатывании датчика RingOff — отключить уведомление звонком при срабатывании датчикаSmsOn — включить sms-уведомление при срабатывании датчика SmsOff — отключить sms-уведомление при срабатывании датчикаGuardOn — поставить на охрану GuardOff — снятьохраныInfo — проверить состояние, в ответ на это сообщение будет послано sms с информацией о том с какого именно номера была включена/отключена охрана ClearSms — удалить все сообщения из памяти sim-карты.Pause — приостанавливает работу совокупности на 15 мин., совокупность не реагирует на срабатывания датчика.TestOn — включается тестовый режим, мигает синим светодиодом. TestOff — выключается тестовый режим.LedOff — выключает светодиод режима ожидания.

LedOn — включает светодиод режима ожидания.Money — запроса баланса.ResetConfig — сброс на заводские установки Актуальная версия firmware сигнализации. Реализовано полное управление устройством через SMS — сообщения.ПО для firmware Arduino Nano берём тут.

Инструкция по firmware— подключаем Arduino в USB-порт — выбираем Hex файл — выбираем тип Arduino Nano — выбираем COM порт, что создался при подключении Arduino к USB — скорость 57600 — нажимаем UploadПрошивку в виде hex — файла берём тут.Перечень измененийGSM_03_12_2016-14-38.hex — исправлена работа устройства с модемом M590. GSM_05_12_2016-13-45.hex — добавлена консольная команда memtest, оптимизация применения оперативной памяти. GSM_2016_12_06-15-43.hex — добавлен вывод результатов команд в консоль, оптимизация памяти.

Занято: 49% SRAM. GSM_2016_12_07-10-59.hex — сейчас телефонные номера добавляются и удаляются верно. Занято: 49% SRAM, 74% Flash Memory. GSM_2016_12_07-15-38.hex — добавлена возможность подключения датчика перемещения HC-SR501, подключается к пину A0 (в этом случае пин A0 употребляется как цифровой). Добавлены SMS — команды PIROn, PIROff.

Занято: 48% SRAM, 76% Flash Memory. GSM_2016_12_08-13-53.hex — Сейчас по окончании успешного исполнения команды, которая в ответ не отправляет SMS сообщение, устройство однократно мигает синим светодиодом.

Сейчас по окончании некорректного исполнения команды, которая в ответ не отправляет SMS сообщение, устройство два раза мигает синим светодиодом. Сейчас по окончании инициализации параметров устройства, в случае если включен «негромкий» режим (SendSms = 0), устройство в течение 2 секунд довольно часто мигает синим светодиодом. Исправлена неточность в результате которой номер не всегда удалялся из памяти командой DeletePhone.

Занято: 48% SRAM, 78% Flash Memory. GSM_2016_12_11-09-12.hex — Добавлены консольные команды AddPhone и DeletePhone, синтаксис подобен смс-командам.

Оптимизация памяти. Занято: 43% SRAM, 79% Flash Memory. GSM_2017_01_03-22-51.hex — Реализована помощь модуля и ему аналогичных расширителей портов ввода/вывода на чипе PCF8574, для подключения дополнительных 8 датчиков, а также герконов. Непроизвольный автоматическая настройка и поиск адреса модуля.

Стандартные логический уровень и названия датчиков их срабатывания изменяется посредством команды EditSensor.

Поменяны содержания тревожных SMS для главного датчика (пин D0) «Alarm! Main sensor!» и датчика перемещения (пин A0) «Alarm! PIR sensor!».

Добавлены команды EditSensor и I2CScan.

Занято: 66% SRAM, 92% Flash Memory. GSM_2017_01_15-23-26.hex — Помощь модема A6_Mini. Контроль наличия внешнего питания (пин D7). Добавлены SMS команды WatchPowerOn, WatchPowerOff.

Добавлены консольные команды ListConfig, ListSensor. Сейчас SMS команда EditSensor трудится верно.

Незначительно «урезан» вывод отладочной информации в монитор порта. Занято: 66% SRAM, 95% Flash Memory. GSM_2017_01_16-23-54.hex — Сейчас в ответном сообщении на SMS команду «Info» так же сообщается состояние датчика перемещения.

Исправлена неточность в результате которой время от времени отправлялись безлюдные ответные SMS сообщения. Сейчас устройство оповещает не только об отключении, но и о возобновлении внешнего питания. Все модемы стали «меньше болтать», сейчас в мониторе порта стало мало чище.

Занято: 66% SRAM, 95% Flash Memory. GSM_2017_02_04-20-23.hex — Исправлена неточность «Watch the power on». Сейчас по окончании снятия с охраны, выключается «тревожный пин».

Сейчас по окончании удаления номера в консоль выводится верная информация.

Вероятно исправлена неточность в результате которой время от времени отправлялись безлюдные ответные SMS сообщения. Занято: 66% SRAM, 90% Flash Memory. GSM_2017_02_14-00-03.hex — Сейчас по умолчанию отправляются SMS сообщения, параметр SendSms опять равен 1. Сейчас при замыкании контактов главного герконового датчика (закрытии двери) устройство мигает синим светодиодом в течение 2 секунд, сигнализируя о обычной работе датчика.

Занято: 66% SRAM, 90% Flash Memory. GSM_2017_03_01-23-37.hex — Команда WatchPowerOn удалена.

Добавлена консольная команда WatchPowerOff, аналогична SMS команде. Добавлены команды WatchPowerOn1, WatchPowerOn2. WatchPowerOn1 — мониторинг внешнего питания включен в случае если сигнализация поставлена на охрану, WatchPowerOn2 — мониторинг внешнего питания включен неизменно.

Реализована функция постановки на снятия и охрану с охраны внешними устройствами, для этого употребляются выводы A1(D15) и A2(D16). Сигнализация ставит/снимает охрану при появлении на выводе A1(D15) большого уровня +5В либо на выводе A2(D16) низкого уровня GND. Вывод A1(D15) подтягивается к GND, вывод A2(D16) подтягивается к +5V через резисторы 20 (10) кОм.

Добавлены команды GuardButtonOn и GuardButtonOff.

Сейчас по окончании постановки на охрану мигает красный светодиод, пока не будет проверена целостность контура главного герконового датчика. В случае если контур целый загорается красный светодиод. Занято: 66% SRAM, 95% Flash Memory.

GSM_2017_03_12-20-04.hex — Сейчас в консоли стало ещё чище, но в случае если включен тестовый режим «TestOn», то в консоль выводится дополнительная информация. Исправлен баг «Sent!», сейчас в консоль верно выводится информация об отправке сообщений. Исправлен баг «повторного фальшивого вызова». Сейчас запрос баланса обязан трудиться корректно на всех модемах. Занято: 67% SRAM, 95% Flash Memory.

GSM_2017_04_16-12-00.hex — Исправлен баг с тревожным пином.

Сейчас команды Info и Money постоянно будут присылать ответное SMS. Команда GuardButtonOn заменена командами GuardButtonOn1 и GuardButtonOn2. Занято: 67% SRAM, 99% Flash Memory.

GSM_2017_04_21-09-43.hex — не рекомендуется к применению, лишь в качестве тестирования, благодарю за распознанные неточности 🙂 — Сейчас параметр sendsms не воздействует на отправку SMS сообщений мониторинга электросети. Добавлена SMS команда DelayBeforeGuard несущая ответственность за задержку при постановке на охрану, значение не имеет возможности быть больше 255 секунд. Добавлена SMS команда DelayBeforeAlarm несущая ответственность за включение отправки и задержку уведомлений «тревожного пина» при срабатывании датчиков, значение не имеет возможности быть больше 255 секунд.

Удалены команды ClearSMS, сейчас сообщения удаляются машинально по окончании получения. Занято: 68% SRAM, 100% Flash Memory. GSM_2017_04_22-20-42.hex — Исправлены множественные неточности.

Команды ClearSMS опять присутствуют в firmware. Оптимизация памяти. Занято: 68% SRAM, 98% Flash Memory.

GSM_2017_04_23-17-50.hex — Сейчас запрос баланса обязан трудиться корректно на всех модемах. снятие и Постановка с охраны внешними устройствами сейчас трудится верно.

Ответные сообщения SMS команды Info не должны быть безлюдными. Оптимизация памяти. Занято: 68% SRAM, 98% Flash Memory. GSM_2017_04_24-13-22.hex — Сейчас передача консольных команд в GSM модуль производится лишь в случае если включен тестовый режим.

Сейчас нет разделения на SMS команды и консольные команды, все существующие команды возможно передавать как через SMS, так и через консоль. Вероятно исправлен баг с командой Info.

Оптимизация памяти. Занято: 68% SRAM, 94% Flash Memory. GSM_2017_04_25-20-54.hex — Исправлен баг при котором команда ListConfig меняла значение последнего события. Сейчас при вводе команд через косоль не отправляются ненужные SMS сообщения. Вероятно исправлен баг с командой Info.

Оптимизация памяти. Занято: 66% SRAM, 94% Flash Memory. GSM_2017_04_30-12-57.hex — Временно включён вывод дополнительной информации в консоль при отправке SMS сообщений и формировании ответа на команду Info.

Вероятно исправлен баг с командой Info. Оптимизация памяти. Занято: 66% SRAM, 92% Flash Memory. GSM_2017_05_06-11-52.hex — Исправлен баг с функцией DelayBeforeAlarm. Занято: 66% SRAM, 93% Flash Memory.

GSM_2017_05_23-21-27.hex — Незначительно поменян вывод информации в консоль. Добавлена помощь модулей расширения портов на PCF8574A c адресами от 0x38 до 0x3f включительно.

Исправлен баг c AlarmPinTime. Сейчас устройство перезагружается машинально по окончании команд FullReset, ResetConfig, ResetPhone и при успешного исполнения команды MemTest. Добавлена команда WatchPowerTime.

Сейчас вероятно установить время, по окончании которого будет послано SMS сообщение об отключении внешнего источника питания. Занято: 67% SRAM, 94% Flash Memory. GSM_2017_05_26-20-22.hex — Исправлена инициализация памяти датчиков платы расширения. Поменян синтаксис команды AddPhone.

Добавлена команда EditMainPhone.

Поменян принцип работы совокупности уведомлений, при срабатывании датчика сперва будут посланы sms сообщения, по окончании чего будут совершены голосовые вызовы. Тревожные sms сообщения будут посланы на телефонные номера с показателем «S» (SMS). Голосовые вызовы будут совершены на номера с показателем «R» (Ring).

Сообщения об отключении/включении внешнего источника питания будут посланы на телефонные номера с показателем «P» (Power).

Добавлена команда RingTime. Сейчас вероятно установить продолжительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд. Сейчас команда RingOn/RingOff глобально включает/отключает оповещение голосовыми вызовами.

Добавлена команда ResetSensor. Занято: 68% SRAM, 99% Flash Memory. GSM_2017_06_02-17-43.hex — Командам AddPhone и EditMainPhone добавлен параметр «I» (Info), несущий ответственность за sms уведомление о постановке либо снятии устройства с охраны. Сейчас по окончании добавления главного номера устройство машинально перезагружается.

Сейчас возможно вносить в память устройства однообразные номера.

При добавлении второго и последующих дублирующихся номеров с них машинально будут сняты атрибуты «M», «S», «P» и «I». Эти номера будут использованы для повторного голосового вызова при срабатывании датчиков. Исправлен баг кривого вывода в консоль по окончании исполнения команды AddPhone, сейчас информация не выводится машинально по окончании добавления номера.

Добавлена команда Reboot.

Занято: 69% SRAM, 99% Flash Memory.*Последующие предположения прошивок включают в себя трансформации прошлых предположений.Применяемые порты Arduino Nano v3D4 — выход «тревожного» пина, при срабатывании датчика на этом пине устанавливается сигнал большого уровня D5 — инверсный выход «тревожного» пина, при срабатывании датчика на этом пине устанавливается сигнал низкого уровняD6 — герконовый датчик D7 — подключен к делителю напряжения от внешнего источника питания +5В. Верхнее плечо 2,2 кОм, нижнее 3,3 кОм.

Делитель напряжения D8 — модем TX D9 — модем RXD10 — красный светодиод D11 — светло синий светодиод D12 — зеленый светодиодПодключение периферии:A0 — датчик перемещения HC-SR501A1 — Вход для внешнего управления. Сигнализация ставит/снимает охрану при появлении на входе большого уровня +5В. A2 — Инверсный вход для внешнего управления.

Сигнализация ставит/снимает охрану при появлении на входе низкого уровня GND.A4 — SDA I2C A5 — SLC I2C Модули расширителя портов ввода/вывода на чипе PCF8574, для подключения дополнительных 8 датчиков.Команды управления для hex — прошивкиВнимание! Команды выделенные жирным шрифтом смогут быть выполнены лишь с главного номера, поскольку несут ответственность за конфигурацию устройства.

Остальные команды смогут быть выполнены с номеров с показателем «Management».SMS — команды управления не чувствительны к регистру: AddPhone— Добавить номер телефона. Всего возможно добавлено не более 9 номеров + 1 главной номер что машинально сохраняется в память при первом звонке на устройство по окончании сброса на заводские установки командами ResetPhone либо FullReset.

Т.е. кто первый позвонил на устройство по окончании его сброска на заводские установки тот и и «основной», данный номер заносится в первую ячейку памяти и его нереально поменять либо удалить через SMS. Нереально добавить два однообразных номера.

Пример команды: До версии GSM_2017_05_26-20-22.hex: AddPhone:2+71234567891mAddPhone:3+71234567892aAddPhone:4+71234567893AddPhone:5+71234567894ma Начиная с версии GSM_2017_05_26-20-22.hex: AddPhone:2+71234567891mrspAddPhone:3+71234567892msAddPhone:4+71234567893spAddPhone:5+71234567894rСинтаксис команды:AddPhone— команда : — разделитель 5 — записать в пятую ячейку памяти+71234567890 — номер телефона До версии GSM_2017_05_26-20-22.hex: а — Параметр «Alarm» — на номера с этим параметром будут отправляться SMS — сообщения о срабатывании сообщения и сигнализации постановке либо снятии с охраны. Начиная с версии GSM_2017_05_26-20-22.hex: m — Параметр «Management» — не запрещаеться управление сигнализацией s — Параметр «SMS» — будет послано sms сообщение при срабатывании датчиков r — Параметр «Ring» — будет совершен голосовой вызов при срабатывании датчиков p — Параметр «Power» — будет послано sms сообщение при включении/отключении внешнего питания i — Параметр «Info» — будет послано sms сообщение при постановке либо снятии с охраны При отсутствии параметров «m», «s», «r», «p»,«i» телефон заносится в память, но никак не употребляется.

DeletePhone — Удалить номер телефона. Пример команды: DeletePhone:+71234567891Синтаксис команды:DeletePhone — команда : — разделитель +71234567891 — номер телефонаEditMainPhone — Поменять параметры «s», «r», «p», «i» главного телефона, данный номер занесён в первую ячейку памяти. Пример команды: EditMainPhone:spriСинтаксис команды:EditMainPhone — команда : — разделитель srpi — параметрыBalanceNum— Изменение номера запроса баланса и обработка длины ответа запроса.

Значение по умолчанию для Beeline: #100#L22. Пример команды: BalanceNum:#103#L24Синтаксис команды:BalanceNum — команда : — разделитель #103# — номер запроса баланса L24 — Протяженность (len) пересылаемого ответа 24 знака, обрезаем спам из запроса баланса.EditSensor — Поменять логический уровень и название датчика срабатывания. Всего возможно не более 8 дополнительных датчиков.

По окончании трансформации параметров нужна перезагрузка устройства.

Пример команды: EditSensor:1+Datchik dvizheniya v koridore#hEditSensor:2+Gerkon na okneСинтаксис команды:EditSensor — команда : — разделитель 1 — записать в первую ячейку памяти+ — разделитель Datchik dvizheniya v koridore — наименование датчика, не имеет возможности быть больше 36 знаков, включая пробелы. #h — Показатель большого логического уровня с датчика, при получении которого сработает сигнализация. В случае если отсутствует #h, сигнализация будет срабатывать при получении с датчика низкого логического уровня.SleepTime — Время «засыпания» сигнализации при получении SMS — команды «Pause», указывается в минутах.

Значение по умолчанию: 15, не может быть менее 1 и более 60. Пример команды: SleepTime:20Синтаксис команды:SleepTime — команда : — разделитель 20 — 20 мин. «сна».AlarmPinTime — Время на которое включается/выключается тревожный/инверсный пин, указывается в секундах. Значение по умолчанию: 60, не может быть менее 1 секунды и более 43200 секунд (12 часов).

Пример команды: AlarmPinTime:30Синтаксис команды:AlarmPinTime — команда : — разделитель 30 — 30 секунд включения/выключения тревожного пина.DelayBeforeGuard — Время до постановки устройства на охрану, по окончании получения соответствующей команды. Пример команды: DelayBeforeGuard:25Синтаксис команды:DelayBeforeGuard — команда : — разделитель 25 — 25 секунд до постановки на охрануDelayBeforeAlarm — Время по окончании которого будет послано «тревожное» SMS уведомление, в случае если за данный период времени сигнализация не была снята с охраны.Пример команды: DelayBeforeAlarm:40Синтаксис команды:DelayBeforeAlarm — команда : — разделитель 40 — 40 секунд до отправки «тревожного» уведомленияWatchPowerTime — Время в минутах по окончании которого будет послано SMS сообщение об отключении внешнего источника питания.

В случае если внешнее питание будет восстановлено до истечения установленного времени, то сообщение не будет послано. Пример команды: WatchPowerTime:5Синтаксис команды:WatchPowerTime — команда : — разделитель 5 — 5 мин. до отправки SMS сообщенияRingTime — Продолжительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд. Пример команды: RingTime:40Синтаксис команды:RingTime — команда : — разделитель 40 — 40 продолжительность вызова составит 40 секунд, по окончании чего будет позван следующий клиент.

ResetSensor — сброс параметров датчиков расширителя портаResetConfig — сброс настроек на заводские установкиResetPhone — удаление из памяти всех телефонных номеровFullReset — сброс настроек, удаление из памяти всех телефонных номеров, восстановление значения по умолчанию команды BalanceNum.RingOn — включить уведомление звонком на «основной» номер записанный в первую ячейку памяти при срабатывании датчика RingOff — отключить уведомление звонком при срабатывании датчикаSmsOn — включить sms-уведомление при срабатывании датчика SmsOff — отключить sms-уведомление при срабатывании датчикаPIROn — включить обработку датчика перемещения PIROff — отключить обработку датчика движенияWatchPowerOn — включить контроль внешнего питания, SMS сообщение об отключении внешнего питания будет послано при условии что сигнализация поставлена на охрану. Удалена начиная с версии GSM_2017_03_01-23-37.WatchPowerOn1 — включить контроль внешнего питания, SMS сообщение об отключении внешнего питания будет послано при условии что сигнализация поставлена на охрану.

WatchPowerOn2 — включить контроль внешнего питания, SMS сообщение об отключении внешнего питания в любом случае будет отправленоWatchPowerOff — отключить контроль внешнего питанияGuardButtonOn — управление сигнализацией внешними устройствами либо кнопкой включено Удалена начиная с версии GSM_2017_04_16-12-00. GuardButtonOn1 — функция постановки либо снятия охраны внешними устройствами либо кнопкой включена GuardButtonOn2 — функция лишь постановки на охрану внешними устройствами либо кнопкой включена, снятие с охраны производится по звонку на устройство либо посредством SMS команды.

GuardButtonOff — управление сигнализацией внешними устройствами либо кнопкой выключеноReboot — перезагрузка устройства (Arduino)GuardOn — поставить на охрану GuardOff — снять охраныInfo — проверить состояние, в ответ на это сообщение будет послано sms с информацией о том с какого именно номера была включена/отключена охрана Pause — приостанавливает работу совокупности на время установленное командой sleeptime в минутах, совокупность не реагирует на срабатывания датчика.TestOn — включается тестовый режим, мигает синим светодиодом. TestOff — выключается тестовый режим.LedOff — выключает светодиод режима ожидания.

LedOn — включает светодиод режима ожидания.Money — запроса баланса.ClearSms — Удалить из памяти все smsКонсольные команды — вводятся в мониторе порта Arduino IDE:AddPhone — подобна sms-команде AddPhoneDeletePhone — подобна sms-команде DeletePhone EditSensor — подобна sms-команде EditSensorListPhone — вывод в монитор порта перечня сохранённых в памяти телефоновResetConfig — подобна sms-команде ResetConfig ResetPhone — подобна sms-команде ResetPhoneFullReset — подобна sms-команде FullResetClearSms — подобна sms-команде ClearSmsWatchPowerOn1 — подобна sms-команде WatchPowerOn1WatchPowerOn2 — подобна sms-команде WatchPowerOn2 WatchPowerOff — подобна sms-команде WatchPowerOff GuardButtonOn — подобна sms-команде GuardButtonOn . Удалена начиная с версии GSM_2017_04_16-12-00 GuardButtonOn1 — подобна sms-команде GuardButtonOn1 GuardButtonOn2 — подобна sms-команде GuardButtonOn2 GuardButtonOff — подобна sms-команде GuardButtonOff Memtest — тест энергонезависимой памяти устройства, все настройки устройства будут скинуты, подобно команде FullReset.I2CScan — инициализация и поиск поддерживаемых устройств на шине I2C.ListConfig — вывод в монитор порта текущей конфигурации устройства.ListSensor — вывод в монитор порта текущей конфигурации датчиков. UPD.

При применении датчика перемещения, для исключения фальшивых срабатываний при работе модема, нужно между пинами GND и A0 Arduino поставить сопротивление, благодарю говорим товарищу Aduard, подробнее читаем тут. UPD. За полное ответ данной неприятности говорим благодарю товарищу Pavel1980, читаем тут и наблюдаем ко мне.* В коде присутствует функция LedTest(), она мигает синим светодиодом, сделана только чтобы мониторить Arduino, мигает — значит трудится, не мигает — зависла.

До тех пор пока ещё не зависала :)Как этим пользоваться?! (касается лишь открытых прошивок, для актуальной firmware смотрите SMS и консольные команды)Сигнализация управляется через звонки и sms-сообщения с разрешенных номеров перечисленных в массиве AllowPhone[], по окончании первого «гудка» модем «вешает трубку».AllowPhone[] = {«70001234501», «70001234502», «70001234503», «70001234504», «70001234505»} — Номера которым дано управлять охраной. AlarmPhone[] = {«70001234501», «70001234502»} — Номера для отправки sms-уведомлений при срабатывании уведомления и датчика о снятии либо постановке на охрану.

На первый номер в перечне будет осуществляться вызов при срабатывании датчика в случае если выполнена команда RingOn, по-умолчанию эта опция включена. Это сделано по причине того, что sms-сообщения смогут прийти с некоей задержкой, а звонок обязан пройти сходу.В случае если поступил вызов с разрешенного номера либо sms-сообщение с командой GuardOn/GuardOff, то в зависимости от текущего состояния охраны будет послано sms-сообщение о постановке либо снятии с охраны на номера перечисленные в массиве AlarmPhone[], так же будет послано sms-сообщение на номер с которого поступил вызов.При срабатывании датчика отправляются sms-сообщения на все номера из массива (перечня) AlarmPhone[] и осуществится голосовой вызов на первый номер из этого массива.Световая индикация: Светодиод светится красным цветом — поставлено на охрану.

Светодиод светится зелёным цветом — снято с охраны, включается/отключается sms-командой LedOn/LedOff. Светодиод всегда мигает синим цветом — сигнализирует о том что c Arduino всё в порядке, плата не зависла, употребляется только для отладки, включается/отключается sms-командой TestOn/TestOff.Подключение 2 и более датчиков для открытых прошивок. Для подключения дополнительных герконовых датчиков используем свободные цифровые пины D2,D3,D5 либо D7.

Схема подключения с дополнительным датчиком на D7. Нужные трансформации в firmware … #define DoorPin 6 // Номер входа, подключенный к главному датчику int8_t DoorState = 0; // Переменная для хранения состояния главного датчика int8_t DoorFlag = 1; // Переменная для хранения состояния главного датчика #define BackDoorPin 7 // Номер входа, подключенный к дополнительному датчику int8_t BackDoorState = 0; // Переменная для хранения состояния дополнительного датчикаint8_t BackDoorFlag = 1; // Переменная для хранения состояния дополнительного датчика… void setup() { … pinMode(DoorPin, INPUT); pinMode(BackDoorPin, INPUT); … … void Detect() { // Считываем значения с датчиков DoorState = digitalRead(DoorPin); BackDoorState = digitalRead(BackDoorPin);//Обработка главного датчика if (DoorState == LOWDoorFlag == 0) { DoorFlag = 1; delay(100); if (LedOn == 1) digitalWrite(GLed, LOW); Alarm(); } if (DoorState == HIGHDoorFlag == 1){ DoorFlag = 0; delay(100); }//Обработка дополнительного датчика if (BackDoorState == LOWBackDoorFlag == 0) { BackDoorFlag = 1; delay(100); if (LedOn == 1) digitalWrite(GLed, LOW); Alarm(); } if (BackDoorState == HIGHBackDoorFlag == 1){ BackDoorFlag = 0; delay(100); } } …И ещё кое что: 1. Диоды лучше применять рассчитанные на ток 2 А, поскольку модуль передаёт током в 1 А и нам ещё необходимо чем то питать Arduino и модем.

В этом экземпляре употребляются диоды 1N4007, в случае если выйдут из строя заменю на 2 А. 2. Все резисторы для светодиода применял на 20 кОм, чтобы ночью не освещать целый коридор.3. На герконовый датчик между пином GND и пином D6 так же повесил резистор на 20 кОм.На этом до тех пор пока всё. Благодарю за внимание! 🙂

GSM-сигнализация на базе Arduino и Sim800L


Темы которые будут Вам интересны:

Читайте также: