Зарегистрироваться

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


Добрый день! Опять мультиобзор китайских электронных компонентов, как обычно обо всём понемногу, постараюсь покороче, но получится ли? Итак, встречайте, 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. PowerBank 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-UART <---> Modem m590e
GND <->GND
VCC <-> 5V
TXO <-> RXD
RXI <-> TXD

Подключаем к 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+
GND<->VOUT-

Подключение светодиода. Светодиод с общим анодом. Отличные, очень яркие светодиоды.
Светодиод <---> Arduino
R <-> D10
G <-> D12
B <-> D11
Anode <-> VIN

Подключение герконового датчика.
Герконовый датчик <---> Arduino
Контакт 1 <-> VIN
Контакт 2 <-> D6
Так же 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

Неактуальная версия прошивки сигнализации.
Список изменений. Скетч от 02.12.2016 финальный открытый скетч, в дальнейшем изменения в этот скетч вноситься не будут. В дальнейшем все прошивки будут выкладываться в виде бинарного файла.
Скетч от 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.2016
SMS — команды управления не чувствительны к регистру:


RingOn - включить уведомление звонком при срабатывании датчика
RingOff - выключить уведомление звонком при срабатывании датчика

SmsOn - включить sms-уведомление при срабатывании датчика
SmsOff - выключить sms-уведомление при срабатывании датчика

GuardOn - поставить на охрану
GuardOff - снять  охраны

Info - проверить состояние, в ответ на это сообщение будет отправлено sms с информацией о том с какого номера была включена/выключена охрана 

ClearSms - удалить все сообщения из памяти sim-карты.

Pause - приостанавливает работу системы на 15 минут, система не реагирует на срабатывания датчика.

TestOn - включается тестовый режим, мигает синим светодиодом.
TestOff - выключается тестовый режим.

LedOff - выключает светодиод режима ожидания.
LedOn - включает светодиод режима ожидания.

Money - запроса баланса.

ResetConfig - сброс на заводские установки




Актуальная версия прошивки сигнализации. Реализовано полное управление устройством через смс — сообщения.

Программное обеспечение для прошивки Arduino Nano берём тут.
Инструкция по прошивке
— подключаем 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 используется как цифровой). Добавлены смс — команды PIROn, PIROff. Занято: 48% SRAM, 76% Flash Memory.
GSM_2016_12_08-13-53.hex — Теперь после успешного выполнения команды, которая в ответ не отправляет смс сообщение, устройство однократно мигает синим светодиодом. Теперь после некорректного выполнения команды, которая в ответ не отправляет смс сообщение, устройство дважды мигает синим светодиодом. Теперь после инициализации параметров устройства, если включен «тихий» режим (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. Изменены содержания тревожных смс для основного датчика (пин 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). Добавлены смс команды WatchPowerOn, WatchPowerOff. Добавлены консольные команды ListConfig, ListSensor. Теперь смс команда EditSensor работает правильно. Незначительно «урезан» вывод отладочной информации в монитор порта. Занято: 66% SRAM, 95% Flash Memory.
GSM_2017_01_16-23-54.hex — Теперь в ответном сообщении на смс команду «Info» так же сообщается состояние датчика движения. Исправлена ошибка из-за которой иногда отправлялись пустые ответные смс сообщения. Теперь устройство оповещает не только об отключении, но и о возобновлении внешнего питания. Все модемы стали «меньше болтать», теперь в мониторе порта стало немного чище. Занято: 66% SRAM, 95% Flash Memory.
GSM_2017_02_04-20-23.hex — Исправлена ошибка «Watch the power on». Теперь после снятия с охраны, выключается «тревожный пин». Теперь после удаления номера в консоль выводится правильная информация. Возможно исправлена ошибка из-за которой иногда отправлялись пустые ответные смс сообщения. Занято: 66% SRAM, 90% Flash Memory.
GSM_2017_02_14-00-03.hex — Теперь по умолчанию отправляются смс сообщения, параметр SendSms снова равен 1. Теперь при замыкании контактов основного герконового датчика (закрытии двери) устройство мигает синим светодиодом в течение 2 секунд, сигнализируя о нормальной работе датчика. Занято: 66% SRAM, 90% Flash Memory.
GSM_2017_03_01-23-37.hex — Команда WatchPowerOn удалена. Добавлена консольная команда WatchPowerOff, идентична смс команде. Добавлены команды 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 всегда будут присылать ответное смс. Команда GuardButtonOn заменена командами GuardButtonOn1 и GuardButtonOn2. Занято: 67% SRAM, 99% Flash Memory.
GSM_2017_04_21-09-43.hex — не рекомендуется к использованию, только в качестве тестирования, спасибо за выявленные ошибки :) — Теперь параметр sendsms не влияет на отправку смс сообщений мониторинга электросети. Добавлена смс команда DelayBeforeGuard отвечающая за задержку при постановке на охрану, значение не может превышать 255 секунд. Добавлена смс команда DelayBeforeAlarm отвечающая за задержку отправки уведомлений и включение «тревожного пина» при срабатывании датчиков, значение не может превышать 255 секунд. Удалены команды ClearSMS, теперь сообщения удаляются автоматически после получения. Занято: 68% SRAM, 100% Flash Memory.
GSM_2017_04_22-20-42.hex — Исправлены множественные ошибки. Команды ClearSMS снова присутствуют в прошивке. Оптимизация памяти. Занято: 68% SRAM, 98% Flash Memory.
GSM_2017_04_23-17-50.hex — Теперь запрос баланса должен работать корректно на всех модемах. Постановка и снятие с охраны внешними устройствами теперь работает правильно. Ответные сообщения смс команды Info не должны быть пустыми. Оптимизация памяти. Занято: 68% SRAM, 98% Flash Memory.
GSM_2017_04_24-13-22.hex — Теперь передача консольных команд в GSM модуль производится только если включен тестовый режим. Теперь нет разделения на смс команды и консольные команды, все существующие команды можно передавать как через смс, так и через консоль. Возможно исправлен баг с командой Info. Оптимизация памяти. Занято: 68% SRAM, 94% Flash Memory.
GSM_2017_04_25-20-54.hex — Исправлен баг при котором команда ListConfig меняла значение последнего события. Теперь при вводе команд через косоль не отправляются ненужные смс сообщения. Возможно исправлен баг с командой Info. Оптимизация памяти. Занято: 66% SRAM, 94% Flash Memory.
GSM_2017_04_30-12-57.hex — Временно включён вывод дополнительной информации в консоль при отправке смс сообщений и формировании ответа на команду 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. Теперь возможно установить время, по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Занято: 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.
GSM_2017_06_11-00-07.hex — Теперь вновь при замыкании контактов основного герконового датчика (закрытии двери) устройство мигает синим светодиодом в течение 2 секунд, сигнализируя о нормальной работе датчика, при этом не учитывается поставлено или снято устройство с охраны. Команды RingOn/RingOff удалены. Теперь устройство можно снять с охраны во время тревожного вызова, теперь они совершаются в фоновом режиме. Занято: 69% SRAM, 99% Flash Memory.
GSM_2017_07_04-21-52.hex — Теперь команда Pause не присылает ответное смс. Удалены команды TestOn и TestOff. У всех номеров удалён признак Management. Занято: 68% SRAM, 96% Flash Memory.
GSM_2017_07_24-12-02.hex — Добавлены команды ReedSwitchOn/ReedSwitchOff для мониторинга основного герконовго датчика, теперь его можно включать/отключать так же как и датчик движения. Исправлен баг команды Info. Команды TestOn и TestOff снова присутствуют в прошивке. Занято: 68% SRAM, 96% Flash Memory.
GSM_2017_07_26-10-03.hex — Добавлена команда ModemID. Автоматическое определение модема осуществляется только если значение этого параметра равно 0. После установки значения параметра равным 0 производится автоматическая перезагрузка устройства. Занято: 68% SRAM, 98% Flash Memory.
GSM_2017_08_03-22-03.hex — Теперь сигнализация может управлять внешними устройствами. Для управления используется аналоговый выход A3 (D17 — используется как цифровой). Логический уровень выхода (+5В или GND) может быть изменен, после изменения уровня через команду настройки устройство автоматически будет перезагружено. Длительность сигнала управления внешним устройством может быть изменена. Добавлены команды ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Некоторые изменения в логике работы команд управления. Оптимизация памяти. Занято: 68% SRAM, 99% Flash Memory.
GSM_2017_08_10-12-17.hex — Удалены команды SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIROff и всё что с ними связано. Команда DelayBeforeAlarm заменена расширенными командами. Изменён вывод команды Info. Оптимизирован вывод команды ListConfig в консоль. Теперь к пинам D6 и A0 могут быть подключены любые цифровые датчики с высоким или низким уровнем срабатывания, в том числе герконы. Пины D6 и A0 должны быть притянуты к земле (GND) через сопротивление 10 (20) кОм. Если датчик настроен на низкий уровень срабатывания (включен в режиме геркона), то проверяется целостность цепи. Логический уровень срабатывания по входам D6 и A0 (+5В или GND) может быть изменен, после изменения логического уровня устройство автоматически будет перезагружено. Для каждого из датчиков (main, second, PCF-платы расширения) при срабатывании может быть установлено своё время по истечение которого будет осуществлено уведомление (смс и/или голосовой вызов). «PIR Sensor» переименован в «Second sensor». Исправлена работа платы расширения, ошибка из-за которой устройство всегда уведомляло о срабатывании датчиков, вне зависимости от того поставлено устройство на охрану или нет. Теперь можно выбрать режим работы при котором устройство может мониторить датчики платы расширения как во включенном режиме охраны (GuardOn), так и при выключенном режиме (GuardOff). Добавлены команды PCFForceOn/PCFForceOff, MainSensorLevelHigh/MainSensorLevelLow/MainSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeforeAlarm, PCFDelayBeforeAlarm. Занято: 68% SRAM, 99% Flash Memory.

*Последующие версии прошивок включают в себя изменения предыдущих версий.

Используемые порты Arduino Nano v3
D4 — выход «тревожного» пина, при срабатывании датчика на этом пине устанавливается сигнал высокого уровня
D5 — инверсный выход «тревожного» пина, при срабатывании датчика на этом пине устанавливается сигнал низкого уровня

D6 — герконовый датчик. Начиная с версии GSM_2017_08_10-12-17.hex к пину D6 могут быть подключены любые цифровые датчики с высоким или низким уровнем срабатывания, в том числе герконы. Пин D6 должен быть притянут к земле (GND) через сопротивление 10 (20) кОм.
D7 — подключен к делителю напряжения от внешнего источника питания +5В. Верхнее плечо 2,2 кОм, нижнее 3,3 кОм.
Делитель напряжения



D8 — модем TX
D9 — модем RX

D10 — красный светодиод
D11 — синий светодиод
D12 — зеленый светодиод

Подключение периферии:
A0 — датчик движения HC-SR501. Начиная с версии GSM_2017_08_10-12-17.hex к пину A0 могут быть подключены любые цифровые датчики с высоким или низким уровнем срабатывания, в том числе герконы. Пин A0 должен быть притянут к земле (GND) через сопротивление 10 (20) кОм.

A1 — Вход для внешнего управления. Сигнализация ставит/снимает охрану при появлении на входе высокого уровня +5В.
A2 — Инверсный вход для внешнего управления. Сигнализация ставит/снимает охрану при появлении на входе низкого уровня GND.

A3 — Настраиваемый (+5В или GND) выход для управления внешними устройствами. При поступлении команды управления значение на этом выходе изменяется в зависимости от того какое было установлено на установленный промежуток времени.

A4 — SDA I2C
A5 — SLC I2C
Модули расширителя портов ввода/вывода на чипе PCF8574, для подключения дополнительных 8 датчиков.

Команды управления для hex - прошивки
Внимание! Команды выделенные жирным шрифтом могут быть выполнены только с основного номера, так как отвечают за конфигурацию устройства. Остальные команды могут быть выполнены с номеров с признаком «Management».

SMS — команды управления не чувствительны к регистру:
AddPhone — Добавить номер телефона. Всего может быть добавлено не более 9 номеров + 1 основной номер который автоматически сохраняется в память при первом звонке на устройство после сброса на заводские установки командами ResetPhone или FullReset. Т.е. кто первый позвонил на устройство после его сброска на заводские установки тот и и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс. Невозможно добавить два одинаковых номера.
Пример команды:
До версии GSM_2017_05_26-20-22.hex:
AddPhone:2+71234567891m
AddPhone:3+71234567892a
AddPhone:4+71234567893
AddPhone:5+71234567894ma

Начиная с версии GSM_2017_05_26-20-22.hex:
AddPhone:2+71234567891mrsp
AddPhone:3+71234567892ms
AddPhone:4+71234567893sp
AddPhone:5+71234567894r
Синтаксис команды:
AddPhone — команда
: — разделитель
5 — записать в пятую ячейку памяти
+71234567890 — номер телефона
До версии GSM_2017_05_26-20-22.hex:
а — Параметр «Alarm» — на номера с этим параметром будут отправляться смс — сообщения о срабатывании сигнализации и сообщения постановке или снятии с охраны.
Начиная с версии 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#h
EditSensor:2+Gerkon na okne
Синтаксис команды:
EditSensor — команда
: — разделитель
1 — записать в первую ячейку памяти
+ — разделитель
Datchik dvizheniya v koridore — название датчика, не может превышать 36 символов, включая пробелы.
#h — Признак высокого логического уровня с датчика, при получении которого сработает сигнализация. Если отсутствует "#h", сигнализация будет срабатывать при получении с датчика низкого логического уровня.

SleepTime — Время «засыпания» сигнализации при получении смс — команды «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 — Время по истечении которого будет отправлено «тревожное» смс уведомление, если за этот период времени сигнализация не была снята с охраны. Заменена расширенными командами начиная с версии GSM_2017_08_10-12-17.hex
Пример команды:
DelayBeforeAlarm:40
Синтаксис команды:
DelayBeforeAlarm — команда
: — разделитель
40 — 40 секунд до отправки «тревожного» уведомления

WatchPowerTime — Время в минутах по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Если внешнее питание будет восстановлено до истечения установленного времени, то сообщение не будет отправлено.
Пример команды:
WatchPowerTime:5
Синтаксис команды:
WatchPowerTime — команда
: — разделитель
5 — 5 минут до отправки смс сообщения

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

ModemID — Принудительная установка модели используемого модема. Возможные значения: 0 — автоопределение модема, 1 — M590, 2 — SIM800l, 3 — A6_Mini.
Пример команды:
ModemID:2
Синтаксис команды:
ModemID — команда
: — разделитель
2 — ID модема.

ExtDeviceTime — Количество секунд на которое изменится уровень сигнала на выходе управления внешним устройством.
Пример команды:
ExtDeviceTime:5
Синтаксис команды:
ExtDeviceTime- команда
: — разделитель
5 — 5 секунд

ExtDeviceLevelLow — Внешнее устройство подключенное к выходу A3 управляется низким уровнем сигнала (GND). На выходе по умолчанию будет присутствовать высокий уровень +5В, пока не поступит команда управления внешним устройством
ExtDeviceLevelHigh — Внешнее устройство подключенное к выходу A3 управляется высоким уровнем сигнала (+5V). На выходе по умолчанию будет присутствовать низкий уровень GND, пока не поступит команда управления внешним устройством

ResetSensor — сброс параметров датчиков расширителя порта

ResetConfig — сброс настроек на заводские установки

ResetPhone — удаление из памяти всех телефонных номеров

FullReset — сброс настроек, удаление из памяти всех телефонных номеров, восстановление значения по умолчанию команды BalanceNum.

RingOn — включить уведомление звонком на «главный» номер записанный в первую ячейку памяти при срабатывании датчика. Удалена начиная с версии GSM_2017_06_11-00-07.hex
RingOff — выключить уведомление звонком при срабатывании датчика. Удалена начиная с версии GSM_2017_06_11-00-07.hex

SmsOn — включить sms-уведомление при срабатывании датчика. Удалена начиная с версии GSM_2017_08_10-12-17.hex
SmsOff — выключить sms-уведомление при срабатывании датчика. Удалена начиная с версии GSM_2017_08_10-12-17.hex

PIROn — включить обработку датчика движения
PIROff — выключить обработку датчика движения

ReedSwitchOn — включить обработку основного герконового датчика
ReedSwitchOff — выключить обработку основного герконового датчика

WatchPowerOn — включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что сигнализация поставлена на охрану. Удалена начиная с версии GSM_2017_03_01-23-37.

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

WatchPowerOff — выключить контроль внешнего питания

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

Reboot — перезагрузка устройства (Arduino)

PCFForceOn — постоянный мониторинг группы всех датчиков модуля расширения
PCFForceOff — мониторинг группы всех датчиков модуля расширения только при постановке устройства на охрану

MainSensorLevelHigh — тревожное уведомление будет отправлено при появлении сигнала высокого уровня (+5 В) на входе (D6) от датчика
MainSensorLevelLow — тревожное уведомление будет отправлено при появлении сигнала низкого уровня (GND) на входе (D6) от датчика
MainSensorLevelOff — обработка датчика на входе (D6) отключена

SecondSensorLevelHigh — тревожное уведомление будет отправлено при появлении сигнала высокого уровня (+5 В) на входе (A0) от датчика
SecondSensorLevelLow — тревожное уведомление будет отправлено при появлении сигнала низкого уровня (GND) на входе (A0) от датчика
SecondSensorLevelOff — обработка датчика на входе (A0) отключена

MainDelayBeforeAlarm — время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании основного датчика (D6), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.
SecondDelayBeforeAlarm — время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании дополнительного датчика (A0), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.
PCFDelayBeforeAlarm — время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании датчиков платы расширения (PCF8574), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.

GuardOn — поставить на охрану
GuardOff — снять охраны

Open — команда управления внешним устройством

Info — проверить состояние, в ответ на это сообщение будет отправлено sms с информацией о том с какого номера была включена/выключена охрана

Pause — приостанавливает работу системы на время установленное командой sleeptime в минутах, система не реагирует на срабатывания датчика.

TestOn — включается тестовый режим, мигает синим светодиодом.
TestOff — выключается тестовый режим.

LedOff — выключает светодиод режима ожидания.
LedOn — включает светодиод режима ожидания.

Money — запроса баланса.

ClearSms — Удалить из памяти все sms

Консольные команды (до версии GSM_2017_04_24-13-22.hex) — вводятся в мониторе порта Arduino IDE:

AddPhone — аналогична sms-команде AddPhone

DeletePhone — аналогична sms-команде DeletePhone

EditSensor — аналогична sms-команде EditSensor

ListPhone — вывод в монитор порта списка сохранённых в памяти телефонов

ResetConfig — аналогична sms-команде ResetConfig

ResetPhone — аналогична sms-команде ResetPhone

FullReset — аналогична sms-команде FullReset

ClearSms — аналогична sms-команде ClearSms

WatchPowerOn1 — аналогична sms-команде WatchPowerOn1
WatchPowerOn2 — аналогична 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, читаем тут и смотрим сюда.

Как этим пользоваться?! (касается только открытых прошивок, для актуальной прошивки смотрите смс и консольные команды)

Сигнализация управляется через звонки и 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.
* В коде присутствует функция LedTest(), она мигает синим светодиодом, сделана лишь для того чтобы мониторить Arduino, мигает — значит работает, не мигает — зависла. Пока ещё не зависала :)

Подключение 2 и более датчиков для открытых прошивок.
Для подключения дополнительных герконовых датчиков используем свободные цифровые пины D2,D3,D5 или D7. Схема подключения с дополнительным датчиком на D7.

Необходимые изменения в прошивке

...
#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 == LOW && DoorFlag == 0) {
    DoorFlag = 1;
    delay(100);
    if (LedOn == 1) digitalWrite(GLed, LOW);
    Alarm();
  }
  if (DoorState == HIGH && DoorFlag == 1){
    DoorFlag = 0;
    delay(100);
  }    

//Обработка дополнительного датчика
  if (BackDoorState == LOW && BackDoorFlag == 0) {
    BackDoorFlag = 1;
    delay(100);
    if (LedOn == 1) digitalWrite(GLed, LOW);
    Alarm();
  }
  if (BackDoorState == HIGH && BackDoorFlag == 1){
    BackDoorFlag = 0;
    delay(100);
  }
}
...



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

На этом пока всё. Спасибо за внимание! :)
+
avatar
  • Angrim
  • 04 августа 2016, 11:10
+4
Я и не подозревал, что gsm модуль настолько дешев. Надо прикупить, спасибо за наводку!
+
avatar
  • Bazili0
  • 04 августа 2016, 11:19
0
+
avatar
0
Аккуратно, это совсем не тот модем! По вашей ссылке SIM800L, он заведется только с SIM картой 2G. В моей стране не работает, все SIM карты 3G/4G. Модуль пылится на полке.
+
avatar
  • Bazili0
  • 04 августа 2016, 16:01
0
Тестировал этот модуль с сим-картой, которая основное свое время проводит в LTE-планшете.
+
avatar
0
Подскажите рабочую схему подключения, пожалуйста.
+
avatar
  • Bazili0
  • 04 августа 2016, 18:15
+2
У меня подключно примерно так, но TX-RX подключены через вот такой logical level convertor, потому что использую Arduino Mega 2560 (в ней памяти побольше, да и портов хороший запас)
+
avatar
0
Глупый вопрос, от 5В не заведется?
+
avatar
  • Bazili0
  • 04 августа 2016, 18:41
+3
Такое «долбанутое» питание модуля делалось из расчета того, что его будет питать 3.7v аккумулятор напрямую, потому что в пиках модуль «кушает» до 2 ампер. Если его не обеспечить должным током, то начинаются глюки в виде перезагрузок модуля из-за проседания напряжения во время активной передачи данных.
5в может спалить модуль, а если он не сгорит, то может сильно греться и быстро выйдет из строя.
Можно подключить через диод 1N4007, но тогда о 2 амперах можно забыть.
Поэтому если хочется стабильной работы модуля — лучше всего дать ему то, что он хочет: посадить его напрямую на 18650, а 18650 питать/заряжать от простой и надежной TP4056, которая в свою очередь «кушает» 5v
+
avatar
+1
На модуле стоит танталовый конденсатор, можно ещё электролит на 1000мкф добавить и никакие 2А не не увидите. У меня в плохой зоне приёма во время снятой трубки или во время передачи данных не более 400ма потребляет, а у меня даже электролита нет на входе. Через 1N4007 уже пол года полет нормальный.
+
avatar
  • Bazili0
  • 04 августа 2016, 19:13
0
Вот еще одна инструкция по поводу подключения
+
avatar
  • sls
  • 07 августа 2016, 00:59
0
вот несобранный, но проблема питания там решена более грамотно, чем диодом и конденсатором :)

aliexpress.com/item/Upgraded-version-DIY-KIT-GSM-GPRS-900-1800-MHz-Short-Message-Service-M590E-module-for-project/32654086772.html
+
avatar
  • kvolk
  • 07 августа 2016, 01:04
0
Ну и нафик он нужен с его-то габаритами? Цена как у 800L. Модем говно, единственны плюс — цена, а тут и цена говно. Извините…
+
avatar
  • sls
  • 07 августа 2016, 01:08
0
единственный плюс в том, что не нужно париться с питанием
хотя при такой цене есть модули типа А6/sim800, с которыми заморочек поменьше, факт
+
avatar
  • Leonardo
  • 04 августа 2016, 11:21
0
Добавлю от себя что это очень капризный модем, если учесть что он ещё и бывший в употреблении то из плюсов остаётся лишь его цена.
+
avatar
  • kalobyte
  • 04 августа 2016, 11:26
+2
так его китайцы откуда-то массово выпаивают, видать глючный он оказался и решили навариться на паялах
+
avatar
  • kvolk
  • 04 августа 2016, 11:27
0
Если вопрос цены не стоит остро, то лучше взять SIM800L. Я себе такой заказал и антенну к нему. Но этот модуль, m590, был доведён до ума разве что «из спортивного интереса», этот модуль — брать только из-за цены, других плюсов у него нет.

Да, и к SIM800l можно подключить микрофон, есть для этого контакты, проковырять дырочку в корпусе и по звонку… ну в общем вы поняли :)
+
avatar
  • kvolk
  • 15 октября 2016, 08:40
0
UPD. M590 нормальный дешевый модем, однозначно брать, работает стабильно. Ничем не хуже SIM800l. При подключении по данной схеме никаких дополнительных конденсаторов не нужно, но если есть желание то можно впаять.
+
avatar
  • krysa
  • 04 августа 2016, 12:00
+1
Модуль б/у у всех продавцов, соответственно много брака. Самый распространенный — кз на линиях питания (1,2), проверяйте перед сборкой!
+
avatar
  • 68k
  • 04 августа 2016, 12:20
+1
Кто знает, откуда столько много у китайцев таких б/у модулей?
+
avatar
  • Bazili0
  • 04 августа 2016, 12:31
+19
+
avatar
  • Fghj7
  • 04 августа 2016, 18:49
+2
Ух-ты! Я, также картошку перебираю!
+
avatar
  • Bazili0
  • 04 августа 2016, 18:57
0
Каждый кормится «своей» картошкой :)

PS: Китай — лидер по переработке мусора из штатов. Не верите — погуглите про «королеву мусора». Вот и занимаются китайцы «переработкой» мусора «по полочкам»
+
avatar
  • Andr2016
  • 05 августа 2016, 01:03
0
Здесь покупал за $1.42
+
avatar
  • Bazili0
  • 04 августа 2016, 11:31
+1
Обзор супер.

Версия 2.0:
— Питание от AC-DC преобразователя 12v с функцией backup и подключенным автомобильным аккумулятором.
12-вольтовые уличные PIR-датчики в качестве сенсоров движения
12-вольтовая сирена
— к GSM-модулю подключаем микрофон и громкоговоритель, чтобы можно было на него позвонить и слушать, что происходит, а также говорить.
— Вешаем всякие свистоперделки датчики вроде температуры, влажности, уровня вредных газов и тд
— Через GPRS шлем статистику на сервер.
+
avatar
  • kn_dima
  • 04 августа 2016, 11:39
+6
Исходя из многолетнего опыта использования GSM сигналки с микрофоном — в сад эту функцию.
Нужно видео или хотя-бы фото, т.к. по звуку в трубке невозможно понять — вам дверь выносят или сосед стену сверлит, соседские ли дети по потолку скачут или жулик по вашей квартире ходит.
+
avatar
  • Bazili0
  • 04 августа 2016, 11:54
+1
Видео или фото — это уже версия 3.0 :)
Если есть хороший интернет — то проблем не будет.
А если интернета нет, то при небольшом бюджете спасает только фотокамера с последовательным портом, откуда неспехом ардуиной можно перекачивать картинку по gprs.
Если бюджет побольше, то уже можно смотреть в сторону rpi+usb свисток (3g/4g)
+
avatar
  • sir0ta
  • 04 августа 2016, 15:56
0
Это вообще не проблема. ip камера с нормальным видеопотоком в веб и на роутере набиваем порт на проброс и в путь. Видел как на мопеде на wrt поднимали web сервер, там делали самописную авторизацию и там же редирект видеопотока (т.е. камера ни одним портом не смотрит в веб, т… к. в их софте уверенности нет).
+
avatar
  • Bazili0
  • 04 августа 2016, 15:59
0
Не совсем Вас понял. Это не проблема, когда нет хорошего интернета?
+
avatar
  • sir0ta
  • 04 августа 2016, 16:59
0
Когда нет хорошего интернета, то не стоит и парится. Ибо та же картинка может просто не успеть передаться, как что-то уже произовйдет плохого. Вообще должен быть компекс мер. Т.е. начинается все с качесвтенной двери и хорошего замка, потом какой-то сигнализатор хозяина, органов соответствующих, всех рядом и т.д., ну и на последок видеофиксация постоянная. Я в свое время в аутсорсе видел провалы систем видеофиксации под движению… Лучше пусть пишется и пишется недельку хотя бы. Вон знакомую уболтал в магазине на 2 хдд внешних. 3 камеры пишут туда неделю с хвостиком. Она раз в неделю один винт изымает, друго ставит и т.д. Содержимое дома скидывает (конечно растраты), но вот месяц назад торговый представитель предъявил что недодали ему 5 тысяч рублей в прошлый раз. 20 минут на поиски видео и Тп разоблачен и уволен с работы. А так эти винты в свое время при курсе 30рубасиков за доллар обошлись что-то в районе 15 тысяч (2 1ТБ внешних + 2 3,5 по 2ТБ в ее домашний комп) отбили себя уже в первый год эксплуатации. Сейчас уже наверное раза 2-3 отбили себя.
+
avatar
  • kvolk
  • 04 августа 2016, 11:40
0
В гараж — идеально :)
+
avatar
  • kn_dima
  • 04 августа 2016, 11:46
+2
В гараж нужен датчик удара от автомобильной сигналки. Он прекрасно чует как открывание ворот, так и попытки проломить стену.
Опять-же, наличие фото или видео — будет огромнейшим плюсом такой системе.
+
avatar
  • kvolk
  • 04 августа 2016, 11:50
+1
Да, только как его сливать, это уже бюджетным решением не будет, а хранить фото там же — бессмысленно.
+
avatar
  • Demz
  • 04 августа 2016, 12:00
0
а вы всю коробочку с глаз спрячьте, чтобы никто кроме вас не знал, где она, тогда шансы есть
+
avatar
  • kvolk
  • 04 августа 2016, 12:03
0
Всё равно видно куда датчики идут, разве что ещё на этапе отделки / ремонта прятать.
+
avatar
  • chaloc
  • 04 августа 2016, 12:20
+1
Делать дубль. На видное место ставить «пугач» из датчика, светодиода работы на внешней стене гаража и автомобильной сирены. Основную систему скрытно и тихо. Вор зашел-сирену обезвредил и расслабился. О наличии скрытого дубля с GSM и видеофиксацией обычный делец и не догадается. А не обычные один черт придут как минимум с глушилкой, а перед этим еще и проверят что и в каком порядке срабатывает.
+
avatar
  • sajat
  • 04 августа 2016, 14:52
0
Договориться с соседом и писать на устройство хранения в соседнем гараже. :) Можно даже по Wi-Fi. Или спрятать устройство хранения в тайник (в своём же гараже) и писать на него опять-таки по Wi-Fi.
+
avatar
  • bodisey
  • 04 августа 2016, 13:05
0
OV7670 300KP VGA (300 рублей) Вполне себе бюджетное решение для фотофиксации. С отправкой тоже проблем, я думаю, не будет, так как M590 умеет работать по FTP протоколу — подключаться, авторизироваться, получать -принимать файлы и отключаться. Думаю, не проблема отправить полученный ВМР-файлик на FTP-сервер
+
avatar
  • kvolk
  • 04 августа 2016, 13:12
0
Согласен, только m590 на sim800l уже придётся заменить.
+
avatar
  • bodisey
  • 04 августа 2016, 13:14
0
мм, чем sim800 получается в этом случае лучше?
+
avatar
  • kvolk
  • 04 августа 2016, 13:19
0
Нормальной поддержкой gprs протокола. M590 не умеет работать по доменному имени, где-то были ссылки.
+
avatar
  • Bazili0
  • 04 августа 2016, 13:19
0
Не получится с ардуиной, потому что эта камера не имеет внутреннего буфера, а сама ардуина не способна сохранить фотку в себя. Тут либо модуль карты памяти прикручивать, либо искать более вменяемую камеру со встроенным буфером и последовательным портом.
Подробности проблем с этой камерой здесь
+
avatar
  • bodisey
  • 04 августа 2016, 13:32
0
Согласен, 1 килобайта (или 2 в ардуине?) оперативной памяти будет ой как маловато)))
+
avatar
  • Korniat
  • 05 августа 2016, 00:27
0
Вот готовый датчик с GSM вместе с камерой и отправкой по ММS

Вариант с SD картой

И вариант только с додзвоном

Когда то делал в машину со старого телефона по принципе быстрого набора, до сих пор работает, подключал на 5в вместо 3.7в так как просадка была большая.
Еще один GSM модуль помню покупал к сигнализации дома где то лет 10 назад, 35 долларов стоил, построен на пик контроллере, с виду собирался в каком то подвале с намеком на серийность с инструкцией на ксерокопии, так вот вспомнил как настройки организовали: на сим карту надо было сохранить «номер телефона» с настройками в первую ячейку сим карты, выглядел он примерно так: «0111020101131110» где каждая цифра отвечает за какую то функцию, а номера додзвона надо было сохрянить в следующих ячейках сим карты, достаточно автономный принцип…
+
avatar
  • sls
  • 07 августа 2016, 01:05
0
версия 3.0 автосигналка — добавление куска программы вольтметра, делитель из резисторов 100к/10к — бортовое напряжение в смс от сигнализации, дешевый датчик типа dht11 — на температуру и влажность или RTC типа 3231 с часами и температурой, дисплеи от 1602 до бесконечности, управление центральным замком и стеклоподьемниками, а также связь по обд2 :)
+
avatar
  • kn_dima
  • 04 августа 2016, 11:34
+5
Сделайте постановку/снятие «таблеткой» — намного удобнее, чем через телефон.
+
avatar
  • kvolk
  • 04 августа 2016, 11:38
0
Я думал об этом, но мне как-то не хочется стену ковырять, для считывателя. Буду вторую собирать — реализую.
+
avatar
  • kn_dima
  • 04 августа 2016, 11:44
+1
Поставьте внутри.
При постановке на охрану сделать задержку, чтобы успеть выйти без срабатывания тревоги.
При открывании двери в режиме охраны — сразу отправлять SMS и с небольшой задержкой — голосовой вызов, чтобы успеть снять с охраны до звонка.
+
avatar
  • 68k
  • 04 августа 2016, 12:03
+2
Если сделать голосовой вызов сразу только себе, а СМС с задержкой на все номера оповещения.
У себя на телефоне с номера сигналки установить не громкий и не резкий звонок. Трубку не брать. Так вы будете уведомлены что кто-то пришел домой. Если это ожидаемо — то будете спокойны.
Далее, если через установленное время охрана не снята, отправляются тревожные СМС.
Так не будут тратиться деньги на СМС при каждом приходе домочатцев, а только в случае несанкционированного открытия двери (или при забывании снять с охраны).
+
avatar
  • kvolk
  • 04 августа 2016, 12:05
0
… Номера для отправки sms-уведомлений при срабатывании датчика и уведомления о снятии или постановке на охрану. На первый номер в списке будет осуществляться вызов при срабатывании датчика если выполнена команда RingOn, по-умолчанию эта опция включена. Это сделано потому что sms-сообщения могут прийти с некоторой задержкой, а звонок должен пройти сразу.
Оно как-то так и работает.
+
avatar
  • Bazili0
  • 04 августа 2016, 11:39
+2
15 таблеток
модуль

PS: Не поверите! Я все это купил еще 3 месяца назад, но никак руки не дойдут собрать :(
+
avatar
  • kn_dima
  • 04 августа 2016, 11:50
0
Хороший вариант — надо будет применить.
+
avatar
  • adenisen
  • 04 августа 2016, 11:40
+3
с питанием на МТ не очень кошерно. особенно при батарейном питании. ардуина прекрасно будет работать напрямую от лития, модем же по питанию имеет диод, на котором и гасит входные 5В до тех же 4.2.
Кстати, очень рекомендую поставить дополнительную емкость ~1000мкф непосредственно на питание самого модуля модема (после диода) — на порядок снизится глючность модуля и требования к питанию
+
avatar
  • kvolk
  • 04 августа 2016, 11:47
+1
Согласен что это не лучшее решение, но при таком варианте у нас на выходе всегда 5,2 В. Практически до тех пор, пока контроллер не отключит аккумулятор, если нет питания от сети. А если не использовать MT3608, то уже при напряжении питания в 3,7 В модуль ведёт себя нестабильно. А вот конденсатор надо бы поставить, да нет у меня танталового. Найду — поставлю.
+
avatar
  • adenisen
  • 04 августа 2016, 12:33
0
тантал не обязательно, там уже есть один. можно электролит. лучше с малым ESR
+
avatar
  • sls
  • 04 августа 2016, 12:54
0
обычного lowESR 2200 мкф хватает даже при условии хренового приема, желательно напаивать прямо на выводы модуля, 1,4 минус, 2,3 плюс (они запараллелены)
+
avatar
  • lexx
  • 15 августа 2016, 02:33
0
Так куда именно на плюс или минус напаивать?
+
avatar
  • sls
  • 15 августа 2016, 08:28
0
минус конденсатора на выводы 1 или 4 модуля, плюс на выводы 2 или 3 его же
+
avatar
+1
Диоды лучше использовать рассчитанные на ток 2 А, так как модуль заражает током в 1 А и нам ещё нужно чем то питать Arduino и модем.
Можно снизить ток заряда лития сменой резистора. Ежели у вас не отключают электричество каждые пару часов, то можно обойтись и 0.3-0.5А.
+
avatar
  • kvolk
  • 04 августа 2016, 11:48
0
Да, возможно это лучшее решение, и на блок питания меньше нагрузка. Свет отключают «по праздникам», раза три в году :)
+
avatar
  • 68k
  • 04 августа 2016, 11:54
0
Светодиод светится красным цветом — поставлено на охрану.
Светодиод светится красным цветом — снято с охраны.
Опечатка?
+
avatar
  • kvolk
  • 04 августа 2016, 11:59
0
Естественно, копипаст, блин :) Спасибо, поправил!
+
avatar
  • mooni73
  • 04 августа 2016, 11:57
0
А разве на андроидах нет софта охранной сигналки? — будет и фото на емайл или фтп при срабатывании. А простейшую гсм систему я использовал в машине лет 10 назад — потом снял, задолбался бегать на ложные срабатывания.
+
avatar
  • kvolk
  • 04 августа 2016, 12:00
0
Наверное есть, но речь тут не об этом.
+
avatar
  • kn_dima
  • 04 августа 2016, 12:03
+3
Как к андроиду концевики и другие датчики подключить?
+
avatar
  • mooni73
  • 04 августа 2016, 12:21
0
Много способов, начиная от esp8266 и blink, без проводов. В простейшем случае использовать кнопку HF гарнитуры.
+
avatar
  • kn_dima
  • 04 августа 2016, 12:27
0
андроид умеет просыпаться по кнопке гарнитуры?
Если да — тогда кнопка+ формирователь DTMF будет неплохим универсальным решением для передачи сигналов от датчиков.

Wi-Fi жрёт много — автономность сильно снижается.
+
avatar
  • Kaspiysk
  • 04 августа 2016, 12:11
+1
+
avatar
  • kvolk
  • 04 августа 2016, 12:17
0
… ссылки будут актуализированы на товары других продавцов у которых максимальное или приближенное к максимальному число продаж товара и лучшая цена...
Модули и так ненадёжные, поэтому решил что, чем больше продаж у продавца тем лучше. Чем больше отзывов тем проще судить о количестве брака.
+
avatar
  • viakob
  • 04 августа 2016, 12:21
+3
Просто и понятно! Хорошо бы ещё добавить посылку sms при включении/отключении сетевого питания (ну и при низком заряде батареи — на всякий случай).
+
avatar
  • sls
  • 04 августа 2016, 12:50
+2
плюсонул в карму
недавно делал нечто подобное, есть кое-какие дополнения на любителя

прямое соединение RX-TX ардуинки и m590 хоть в принципе и работает, но лучше было бы схему из даташита, диод и два резистора

после выполнения InitModem() у ардуинки в некоторых случаях не хватает буфера на прием, т.е. лучше поправить Softwareserial.h на предмет его увеличения #define _SS_MAX_RX_BUFF

не увидел в рисунке использование ножки «Boot» модема и управление ей ардуинкой, а модули m590, в особенности при хреновом питании, могут вести себя непредсказуемо

при батарейном питании лучше использовать штатную команду модуля AT+ENPWRSAVE

было что-то еще, связанное с обработкой master ring и неочисткой переменной val, завтра посмотрю
+
avatar
  • Bazili0
  • 04 августа 2016, 12:59
0
Для RX-TX соединения можно заюзать level converter
+
avatar
  • sls
  • 04 августа 2016, 13:02
0
можно, хотя диод типа 1n4148 и два копеечных резистора проще и дешевле :)
еще есть такие — aliexpress.com/item/Free-shipping-1pcs-3-3V-5V-TXS0108E-8-Channel-Logic-Level-Converter-Convert-TTL-Bi-directional/32552015830.html
+
avatar
  • Bazili0
  • 04 августа 2016, 13:05
0
Здесь тоже не дорого: 7 центов за канал. Там 5 модулей, по 4 канала на модуль.
+
avatar
  • gaudin2
  • 04 августа 2016, 13:41
0
можно заюзать pro mini на 3,3 вольта и можно забыть про level converter и повышающий преобразовать, питать можно напрямую от батареи.
+
avatar
  • kvolk
  • 04 августа 2016, 13:25
0
Ардуино загрузкой модема не управляет, и о энергосбережении смысла говорить нет, так как половина теряется на диодах и преобразованиях.

было что-то еще, связанное с обработкой master ring и неочисткой переменной val, завтра посмотрю
хотелось бы узнать.
+
avatar
  • sls
  • 04 августа 2016, 13:55
+1
ну так уберите диод и повышайку
все равно рано или поздно к этому придете
ардуина и модуль прекрасно питается от TP4056 вместе с литиевой батарейкой, да и вообще у модуля максимальное напряжение питания 4.2В, в то время, как у Вас аж 4.6
если что, у меня из 14 модулей m590 только один отказался работать на 3.3В, но он изначально имел следы перегрева на крышке
управление питанием модуля нужно хотя бы из тех соображений, что если модем зависнет или самопроизвольно поменяет скорость порта (да-да, бывает это у них), то дернуть boot ногой ардуинки по таймауту гораздо легче, чем ехать на место
+
avatar
  • kvolk
  • 04 августа 2016, 14:19
0
ну так уберите диод
Как это должно быть подключено, без диода?

управление питанием модуля нужно хотя бы из тех соображений, что если модем зависнет или самопроизвольно поменяет скорость порта (да-да, бывает это у них), то дернуть boot ногой ардуинки по таймауту гораздо легче, чем ехать на место
Согласен полностью.
+
avatar
  • sls
  • 04 августа 2016, 14:34
0
диод установлен последовательно с плюсом питания модуля, т.е. его можно выпаять и подать + с выхода 4056, можно не выпаивать и подать на катод, можно просто его (диод) закоротить.

емкости танталового конденсатора из комплекта в обзоре будет маловато, я прямо на ноги 1 и 2 модуля напаивал электролит 2200х6.3В+0.3мкф керамику
+
avatar
  • kvolk
  • 04 августа 2016, 14:56
0
диод установлен последовательно с плюсом питания модуля, т.е. его можно выпаять и подать + с выхода 4056, можно не выпаивать и подать на катод, можно просто его (диод) закоротить.
И таким образом мы всегда будем подавать на плюсовой контакт li-ion аккумулятора +4,4 В с выхода блока питания. У контроллера заряда OUT+ и B+ соединены.
+
avatar
  • sls
  • 04 августа 2016, 15:04
0
4.2, если уж так, или еще меньше, коли акк разряжен
во всяком случае больше, чем 4.2 я на них не наблюдал
+
avatar
  • mummykbf
  • 14 октября 2016, 02:29
0
вопрос на счет самопроизвольной смены скорости порта.
то есть в функции инициализации модема надо предусмотреть команду AT+IPR=9600?
+
avatar
  • kvolk
  • 14 октября 2016, 21:17
0
За 2 месяца работы никакой самопроизвольной смены скорости не было. Эта команда не поможет если скорость изменится, но мне совершенно непонятко каким образом это может произойти. Считаю это слухами. Ни разу с таким не сталкивлся.
+
avatar
0
Попался модем G590e. Внешне такой же как m590, распиновка такая же. платка модуля такая.же. По умолчанию скорость 38400. прописываю AT+IPR=9600. Скорость меняется на 9600. После перезагрузки модуля опять 38400. По ATI выводит модельку MTK2.
При включении статусы MODEM:STARTUP и +PBREADY не выводятся.

СМС не отправляет. Почему пока не разобрался. Запускал под открытым скетчем на pro mini 168. RAM 68%
+
avatar
0
Запустился модем на 168-ой. Немного допилил код. Снизил расход оперативки до 50%. Модем работает стабильно. Оставил только 1 датчик на размыкание и контроль питающей сети.


Сразу скажу-это не охранная система. Это для контроля ткмпературы в помещении.
+
avatar
  • kvolk
  • 23 февраля 2017, 00:07
0
Совершенно не понимаю, какое отношение имеет это устройство к обзору? Зачем это тут и что Вы хотите донести?
Модем работает стабильно и без ардуины. Что «допилил», метеостанцию?! Я от всей души Вас поздравляю, и очень рад за Вас, с удовольствием бы прочел обзор на эту тему.
+
avatar
0
Допилил открытый скетч, чтобы он мог стабильно работать на Arduino Pro Mini 168 5v16M. Просто вместо геркона у меня стоит термореле.
т.е. произошло аварийное понижение температуры в помещении-посылается сообщение и делается прозвон. Отключилось сетевое питание, работаем на автономном и сообщаем об этом по смс.
+
avatar
  • kvolk
  • 07 августа 2016, 01:06
0
было что-то еще, связанное с обработкой master ring и неочисткой переменной val, завтра посмотрю
Завтра уже прошло…
+
avatar
  • sls
  • 07 августа 2016, 01:22
0
не добрался до железки
в общем, при каком-то раскладе на Луне после однократного звонка с прописанного мастером телефона любой звонок далее воспринимался, как master ring со всеми вытекающими, поподробнее скажу, как доберусь
+
avatar
  • kvolk
  • 07 августа 2016, 08:29
0
На чём основано это умозаключение? У кого-то работает так в похожем коде или в этом коде есть косяк?
не добрался до железки
Каким образом тогда определили что код кривой? На глаз?
+
avatar
  • sls
  • 07 августа 2016, 10:56
0
почему умозаключение?
у меня их в железе пять штук работает с разной обвязкой, за основу брался тот же код, что и Вы допиливали
+
avatar
  • gaudin2
  • 04 августа 2016, 13:39
+3
Тех кто бросился покупать gsm модуль, предупрежу gsm m590 работает только со старыми симками, если у вас симка 4G — модуль работать не будет проверенно на 3 операторах. На sim800L такой проблемы нет.
+
avatar
0
У меня не получилось завести sim800L с сим-картой 3G. Подскажите, как подключали?
+
avatar
  • gaudin2
  • 04 августа 2016, 18:15
0
Подключал напрямую от литиевой батареи, по питанию стоит конденсатор на 1000 мкФ
+
avatar
  • prom77
  • 04 августа 2016, 13:41
0
Идея гуд! Вопрос что если включить подавитель сигналов GSM типо такого www.jammer.su/monster-portativnyj-podavitel-10-chastot.html, вся затея тщетна?
+
avatar
  • kvolk
  • 07 августа 2016, 12:42
0
А сами-то как думаете?
+
avatar
  • Serg32
  • 04 августа 2016, 13:52
0
Нравятся мне такие обзоры :)
Вот только диод 1N4007, а не IN4007
+
avatar
  • kvolk
  • 04 августа 2016, 14:15
0
Ok, поправил! :)
+
avatar
  • CTAHOK
  • 04 августа 2016, 14:27
0
Модуль прожорлив, 2000mAh на сутки — совершенно никуда не годится, а свет могут отключить на более,
чем на одни сутки, что нередкость. Актуально организовать работу по внешним прерываниям, саму ардуинку
отправив в спящий режим, а сабжевый модуль подрубать при изменении состояния порта. Хотя и тут есть недостаток — управление модулем извне будет затруднено или полностью недоступно.
+
avatar
  • kvolk
  • 04 августа 2016, 14:30
+1
В данной схеме как раз таки не модуль прожорлив, а вся эта канитель с преобразованием напряжения. Подключите 2 и более банок в параллель, и будет большая автономность.
+
avatar
  • serenya
  • 04 августа 2016, 14:58
0
Зимой пытался сделать нечто подобное на 3-4 канала, но забросил. В процессе захотелось знать время срабатывания, парсить смс, оперативы не хватило. Я не очень разбираюсь с программированием, по этому пользовал только то что уже есть в ардуине, ничего самолепного, экономящего озу не писал.
+
avatar
  • Bazili0
  • 04 августа 2016, 15:04
0
Можно переключиться на Arduino Mega 2560
256кб флэш-памяти и 8кб SRAM «хватит всем»!
+
avatar
  • serenya
  • 04 августа 2016, 15:22
0
у меня ее нет, а покупать не хочется, да и формфактор не очень. мне про мини больше нравится
+
avatar
  • kvolk
  • 04 августа 2016, 15:13
0
Я не очень разбираюсь с программированием, по этому пользовал только то что уже есть в ардуине, ничего самолепного, экономящего озу не писал.
Это как?
+
avatar
  • serenya
  • 04 августа 2016, 15:22
0
функции и библиотеки ардуино иде
+
avatar
0
Работаю в тех службе, по охране. Давно задумался сделать нечто подобное. ППК «Мираж», «Цербер», «DCS » и «Nx» — стоят слишком дорого!
В схему не хватает ключа точ-мемори (ТМ) или хотя бы включателя выключателя, постановки-снятия, и соответственно времени задержки на эти операции. Ещё бы добавить шлейф а лучше два, на объемный извещатель и акустический. Готовые блоки для работы с ключами ТМ продаются в спец магазинах охраны, стоят порядка 300руб, ключи 50р. В общем думаю, если все хорошо сконструировать, будет неплохая альтернатива, даже не «фирменным» но и китайским GSM сигнализациям!
+
avatar
  • kvolk
  • 04 августа 2016, 17:38
0
Тач мемори прилепить сюда особой сложности не составит.
+
avatar
0
Как всегда все проблемы в деталях. Для себя такое можно пилить бесконечно. На продажу или под клиента надо продумывать все нюансы: возможные глюки\отказы, наличие компонентов у поставщика, качество компонентов, сертификации, «что будет если..» и т.д. Пробуйте, это возможно :)
+
avatar
  • serg_mur
  • 04 августа 2016, 15:43
+3
Хороший обзор! Плюс.
Вопрос: зачем питание с МТ3608 подавать на VIN Ардуино? Это вход для внешнего питания (6-20В), оно подаётся на встроенный стабилизатор 5В. Зачем 5В подавать на стабилизатор 5В? Надо напрямую на вход 5В. Не?
+
avatar
  • kvolk
  • 04 августа 2016, 17:34
0
Вылетит резистор на МТ и подастся на пин +5В например в 2 или 3 раза больше.
+
avatar
  • serg_mur
  • 04 августа 2016, 17:49
+1
Так у Вас это же напряжение и на модем подаётся. Как он отнесётся к +12? Выдержит?
+
avatar
  • kvolk
  • 04 августа 2016, 17:57
0
Понятия не имею, но если не выдержит — сильно горевать не буду :)
+
avatar
  • Kirillm
  • 04 августа 2016, 15:52
0
Всегда хотел понять, скажите а какие дальнейшие Ваши действия когда сработала такая GSM сигнализация. Ви же далеекоо. ) Цель
+
avatar
  • Bazili0
  • 04 августа 2016, 15:58
+3
— Включить ревун, который может отпугнуть воров
— Воспроизвести аудиозапись, сообщающую злоумышленникам о том, что их действия зафиксированы на фото и видео и уже переданы в компетентные органы, которые уже выехали в их направлении.
— Позвонить местному сторожу, который может сходить и проверить дом
— Позвонить во вневедомственную охрану (с которой ранее был заключен договор) и попросить съездить и проверить обстановку
+
avatar
  • Kirillm
  • 04 августа 2016, 16:14
0
Ви думаете за то время которое понадобится для всего описанного у Вас не винесут все.
+
avatar
  • Bazili0
  • 04 августа 2016, 16:17
+1
Думаю, что хотя бы некоторый процент воров задумается о том, что его физиономия была запечатлена на камеру и куда-то передана.
+
avatar
  • Kirillm
  • 04 августа 2016, 16:26
0
Запись лая собаки внутри при приближении к двери наверно самий оптимальный вариант будет
+
avatar
0
К нам в магазин уже третий раз за год заходят воры и тащат все, что не приколочено, не боясь FullHD камер. Их физиономии со всеми чертами лица и родинками переданы полиции, но менты даже не шевелятся.
+
avatar
  • kn_dima
  • 04 августа 2016, 16:25
0
Этой весной у меня какой-то урод вынес стекло в авто.
GSM-оповещение сработало — я успел выбежать, оббежать многоэтажку и высветить двухбаксовым фонариком спину убегающего вора, который сразу-же скинул в траву украденный бортовой компьютер.
Итого потери — одно боковое стекло, всего 1200 руб.
+
avatar
0
А мог бы этим компьютером вам по голове…
И даже если вы под два метра и под 200 кг, а вам могу нарисовать кучу сценариев.
+
avatar
0
Не будет автовор бить по голове. Его главная задача вскрыть, схваить то, чтоо плохо лежит и свалить побыстрому. Если спалится, то скидывают сразу и убегают.
+
avatar
+6
у меня зимой вскрыли гараж ночью, унесли самое ценное. И неделю он стоял открытый, за неделю сп%здили всё остальное, багажник, большие тиски, даже верстак утащили, не говоря о ключах и пассатижах! Да с грабителями особо не поспоришь если у тебя нет пулемёта! Но ситуацию с открытой дверь можно взять под контроль!
+
avatar
0
Делал самую бюджетную GSM звонилку на attiny13, пары оптронов и старой нокии чернобелой. В телефоне устанавливал номер быстрого набора (распаивал кнопки быстрый набор и сброс через оптроны на выходы Attiny13). На вход Attiny цеплял герконовый датчик. Так эта бюджетная GSM сигналка использовалась дома как охранная и на охоте как индикатор срабатывания петли на кабана :) В алгоритм забивал чтобы она еще через 5 мин. перезванивала напоминала.
+
avatar
0
а можно реализовать в виде энергоэкономичного гпс трекера?
включается раз в сутки — отправляет координаты ( например на мейл) и снова засыпает, экономя батарейку.
хочется компактный девайс на одном аккуме в самокат засунуть, и раз в месяц заряжать )))
+
avatar
+1
можно. Возьмите attiny или голую atmega, она может периодически просыпаться и проверять надо ли будить прожорливый GPS + GPRS. Сам микроконтроллер без обвязки ест очень мало в режиме сна. От батарейки-таблетки может работать около года.
+
avatar
  • vidivana
  • 04 августа 2016, 19:58
0
Спасибо за идею варианта «3-й руки»!

+
avatar
  • kvolk
  • 04 августа 2016, 20:26
+1
Пожалуйста :) Очень удобная штука получилась, устойчивая. Пружина извлечена из старого дискового счётчика. Держит отлично. Жесткий диск лучше древний найти, он потяжелее будет :)
+
avatar
  • vidivana
  • 04 августа 2016, 20:43
+1
Спасибо за подсказку, я думал єто просто толстый обмоточный провод. У меня, как раз, валяется старый счетчик! Очень старые я, к сожалению, после извлечения магнитов, выкидывал… Но, думаю, и с не очень старым будет лучше, чем єти китайские за 15! баксов.

Спустя полчаса:
+
avatar
0
Крутотень. Сам давно мечтаю что-то подобное сделать, но моей криворукости с ардуиной пока хватило лишь на регулировку температуры в аквариуме )
+
avatar
  • bunny64
  • 05 августа 2016, 07:17
0
+
avatar
  • sls
  • 05 августа 2016, 07:46
+1
спасибо за пожелание, Вам тоже :)
в большинстве случаев целью вскрытия гаража, сарая и прочего является быстро намутить себе на дозу (бутылку, таблетку и т.д.)
при такой ситуации приобретение глушилки непозволительное барство и ненужный перфекционизм

если вскрытие (угон, кража и т.д.) именно планируется, то, как правило, не поможет и взвод милиционеров, сидящих напротив
+
avatar
  • kn_dima
  • 05 августа 2016, 08:10
0
В перерывах между принятием доз, нарки тоже что-то жрут. Поэтому неохраняемые гаражи/сараи часто вскрываются ради соленьев/вареньев/картошки и т.п.
+
avatar
  • 7734
  • 05 августа 2016, 11:27
0
спасибо за обзор) собираю аналогичную штуку. у меня снятие-постановка осуществляется не только с телефона, но и с брелка 433мгц. приемники на али стоят копейки а брелки около 300р за штуку. (только не нужно говорить про взломоустойчивость, я вкурсе. если кому надо будет проникнуть — ничего не остановит). также есть сирена. еще хочу свет над дверью чтоб с тогоже брелка включался (часто лампочка перегорает в подъезде). в мыслях датчик закрытия замка на обычной кнопке — чтоб не забыть запереть. и думаю как пристроить сенсорный датчик к замочной личине, ато несколько раз спички втыкали)) чтоб чирикал однократно если ктото лапкми шурудит))
вообще надежность таких систем конечно под бооольшим вопросом. если есть основания серьезно опасаться то лучше платить нормальные деньги за нормальную охрану. а это так — для успокоение души и творческих порывов)))
+
avatar
  • lexx
  • 09 августа 2016, 00:07
0
Скетч и что нужно докупить для брелка скините?
+
avatar
  • 7734
  • 09 августа 2016, 11:03
+1
брелки брал тут aliexpress.com/item/wireless-alarm-remote-control-for-home-security-alarm-315MHZ-433mhz/502055460.html

приемник и передатчик тут aliexpress.com/item/1Set-Link-Kit-Wireless-RF-Transmitter-and-Receiver-Module-for-Arduino-ARM-MCU-Remote-Control-Hot/32431978101.html

использовал только приемник естественно)
ставите библиотеку RCSwitch.h в ней есть куча примеров
+
avatar
  • Sabj
  • 09 августа 2016, 12:36
0
Здравствуйте.
Скажите пожалуйста. У меня уже есть GSM сигнализация. Всё работает. Хочу её немного усовершенствовать, а именно хочу сделать постановку и снятие брелком (такой возможности она не имеет). У сигнализации есть вход, который при замыкании на минус переведёт её в режим охрана. Повторное же замыкание этого контакта на минус снимет её с охраны.
У меня 2 вопроса:
1. Вы дали ссылку на приёмник
— какой выходной сигнал выдаёт такой приёмник — у него «открытый коллектор»?
2. Как «подружить» брелок с приёмником?
Спасибо.
Кому интересно — хочу «прикрутить» приёмник к такой сиге
+
avatar
  • SEM
  • 09 августа 2016, 12:48
0
Полагаю, чтобы подружить эти брелок с приёмником — понадобится Ардуина и программирование.
Вам наверно проще было бы вот такой комплект использовать:
aliexpress.com/item/1pc-DC-12v-10A-relay-1CH-wireless-RF-Remote-Control-Switch-Transmitter-Receiver/32428099104.html
+
avatar
  • Sabj
  • 09 августа 2016, 12:57
0
Думал над таким вариантом — смутило что коммутировать 10-ти амперным реле слаботочную цепь — не наш случай…
Может есть такое же но с «открытым коллектором». Чтобы кнопку нажал — ключ открылся?
+
avatar
  • 7734
  • 09 августа 2016, 13:59
0
думаю готовых под вашу задачу вариантов не найдете) а при стоимости ардуины мини в 100р вопрос решить можно с помощью оптореле.
также можно довесить недорогие ПИРы http://ru.aliexpress.com/item/Free-shipping-1PCS-LOT-HC-SR501-HCSR501-SR501-human-infrared-sensor-module-Pyroelectric-infrared-sensor-imports/2036142641.html и заставить ардуину замыкать контакты не только постановки/снятия но и контакты датчиков.
+
avatar
  • SEM
  • 09 августа 2016, 14:15
0
смутило что коммутировать 10-ти амперным реле слаботочную цепь
Смущать должно если наоборот…
Кнопку нажали — реле щёлкнуло. Защиты, правда, тут никакой, в отличие от автосигнализаций с плавающими кодами и т.п.
Только надо посмотреть режим работы, замкнуло-отпустило или одной кнопкой на пульте «вкл». второй «выкл». Наверняка есть управляющая этим перемычка, но точно сказать может только тот кто пробовал этот блок лично.

UPD. В описании товара есть что-то про замыкание двух управляющих перемычек (их видно на фото), но что имел в виду китайский продавец, переводя на английский то что сам не знает — понять трудно.

working:
self-locking(Short circuit T)
interlock:(Short circuit L)
inching (you will received this type) — в таком виде оно приходит, перемычки не замкнуты

UPD2. Из одного из отзывов:
Работает пока держишь кнопку.
Т.е. то что вам и нужно.
+
avatar
  • Sabj
  • 10 августа 2016, 06:19
0
Спасибо!
+
avatar
  • 7734
  • 09 августа 2016, 13:49
0
на сколько я понял этот приемник для подключения к ардуине, тоесть он все что поймает — передает в порт. поэтому все манипуляции проводятся программно.
+
avatar
  • Sabj
  • 11 августа 2016, 06:06
0
Понял. Спасибо!
+
avatar
  • Cookins
  • 10 августа 2016, 21:51
0
Подскажите. Купил данный модуль — все спаял, но когда пишет modem startup я ввожу и ничего не вводится… далее вслепую продавал и вводить но всеравно ничего. Тоже самое пробовал через монитор порта с программы ардуино — но после кнопки send опять ничего.что может быть не так.
+
avatar
  • kvolk
  • 11 августа 2016, 07:24
0
Скорее всего дохлый модуль, пробовали эхо ответы включить?
+
avatar
  • Cookins
  • 11 августа 2016, 18:36
0
Как это сделать?
+
avatar
  • Cookins
  • 12 августа 2016, 11:20
0
Тут автор еще не указал, что его надо питать дополнительно через подпитку на 1—2 ампера. Конденсатор на 1000 мкф также нужен. Номинальное его потребление 4.8 вольта.
Это очень желательно.
+
avatar
  • kvolk
  • 12 августа 2016, 11:26
0
Тут автор еще не указал, что его надо питать дополнительно через подпитку на 1—2 ампера.
Это вы о чём сейчас? Я описал рабочий вариант, если вы питаетесь от БП то ставьте кондёр, тут же стоит аккумулятор параллельно БП, при таком раскладе всегда будут необходимые (на доли секунды) в пике, 2 А.
Да, «нужен» и «очень желательно» — это разные «вещи».
+
avatar
  • kvolk
  • 12 августа 2016, 11:36
0
Если циклично в консоль пишет:

modem startup 

modem startup 

modem startup 


Копайте в сторону питания. Чтобы наверняка проверить модем подпаяйтесь вот так:


Конденсатор не обязательно, должно и так работать. Аккумулятор 18650 или что-то подобное.
+
avatar
  • Cookins
  • 12 августа 2016, 12:03
0

У вас после картинки этой написано «теперь подключаем к компьютеру» — так вот, у меня циклично и начало писать, и пришлось подпитать еще 1 ампером, чтобы писало раз. Вот к чему.
+
avatar
  • kvolk
  • 12 августа 2016, 12:38
0
Ну так не тянет ваш usb порт, у меня всё отлично, без подпитки. Наверное с симкартой подключали?
+
avatar
  • Cookins
  • 12 августа 2016, 12:55
0
да :)
еще такой вопрос — лампочка красная на модуле у вас горит? в каких случаях горит?
+
avatar
  • kvolk
  • 15 августа 2016, 14:15
0
Не помню уже, у меня 10ком на буте постоянно висит, модем всегда мигает
+
avatar
  • kvolk
  • 12 августа 2016, 11:30
0
АТ команда «ATE0» — выключает эхо, «ATE1» включает. Копируем команду ATE1 в буфер, вставляем в консоль нажимаем энтер, теперь всё что вы вводите должно отображаться в консоли.
+
avatar
  • Cookins
  • 12 августа 2016, 12:07
0
Вот про это и спросил — в PuTTy у меня нигде ничего не прописывается — куда вводить.
я вроде не пароль ввожу :)
просто надпись modem startup и никакой консоли, или места куда вводить. я скачал послд. версию программы PuTTy c офф сайта.
обычно пишеться сразу после первой строки, как и обычно в консоли.
+
avatar
  • kvolk
  • 12 августа 2016, 12:40
0
Копируем команду ATE1. Тыкаем мышью на ченый экран путти, нажимаем ctrl+v и энтер. После должна появиться надпись ОК. И теперь можно набирать команды с клавиатуры, буквы должны отображаться

ЗЫ Если «вслепую» ввести команду ATI и нажать энтер, модем выводит в консоль информацию о прошивке и т.п.?
+
avatar
  • Cookins
  • 12 августа 2016, 13:14
0
я зашел в настройки putty — потом terminal — потом line discipline options — и там поставил все на force on, и консоль заработала.
значит прописал все что вы сказали но не пишет ОК.

чтобы я не писал из комманд — ничего.
кстате, первую надпись я поймал только на скорости 115200. у меня модуль — neoway m590e
+
avatar
  • sls
  • 15 августа 2016, 08:43
0
пробуйте на 19200 и 9600 — эти скорости у этих модулей чаще всего
на 115200 не все usb-rs232 конверторы работают корректно, ардуинка через softwareserial тем более, разве что аппаратный компорт задействовать на модем
+
avatar
  • kvolk
  • 15 августа 2016, 14:19
0
Нет, если модем пишет литинскими значит скорость выставлена верно, нужно прозвонить rx tx пины, скорее всго гдето недопаяно или убит сам модем
+
avatar
  • sls
  • 15 августа 2016, 14:44
0
у него пролезло ATE1 и CR (/r), так что скорее или буфер закончился или модуль попытался связаться с БС и упал по недостатку питания, после чего стартонет он с большой вероятностью на 9600 или 19200
+
avatar
  • Cookins
  • 15 августа 2016, 17:04
0
попробую.
я просто для консоли в настройках включил force on для прописи — перед этим ничего не давало писать если на auto.
+
avatar
  • kvolk
  • 15 августа 2016, 20:57
0
«Пролезло» потому что в патти включил force on. То есть вывод на консоль без подтверждения получения модулем этой команды. Если бы модуль получил эту команду то был бы ответ «OK». Да упоротый модем, сопли были сожгли ему rx/tx к бабке не ходи.
+
avatar
  • kvolk
  • 15 августа 2016, 14:25
0
Форс он выключить.
+
avatar
  • kvolk
  • 15 августа 2016, 14:22
0
Пропаяйте пины rx rx на модеме, проверьте наличие оловянных «соплей», может не пропаялось чего. Если буквы в консоли есть — скорость выбрана верно.
+
avatar
  • Cookins
  • 15 августа 2016, 17:01
0
с самого модуля GSM neoway прозвон идет с пинов rx и tx.
перед этим замыкало где то — арудино гасла при подключении питания от нее на модель — совсем!
думаю не сильно замыкало. пришлось перепаять его заново.
вероятнее всего убился модуль или надо было просто купить уже пропаяный 8)
спасибо за старания.
+
avatar
  • kvolk
  • 15 августа 2016, 21:08
0
Видел уже один такой же после «соплей», точно такие же признаки: в консоль выводит, а из консоли команды не принимает.
+
avatar
  • lexx
  • 15 августа 2016, 04:23
0
Подскажите если взять схему автора обзора — нужно ли к ней доустановить конденсатор и какого номинала и куда? И оставлять ли диоды если устанавливать конденсатор?
+
avatar
  • kvolk
  • 15 августа 2016, 14:18
0
Вы не пробовали просто взять эту готовую, рабочую схему из обзора? Кондёр ставят если есть проблемы с питанием, у вас блок питания параллельно аккумулятору, проблем не бедет, если есть желание повесьте конденсатор 1000-2200 мкф 6,3в после диода на плате модема.
+
avatar
  • lexx
  • 19 августа 2016, 17:11
0
Подскажите как прикрутить к этой схеме ещё и датчик движения и как код изменить?
+
avatar
  • diod
  • 24 августа 2016, 16:12
0
Подскажите, если модуль заменить на sim800 то команды менять нужно или только согласовать питание надо?
+
avatar
  • kvolk
  • 25 августа 2016, 10:38
+1
Ещё не пробовал, но в ближайшее всемя соберу на sim800l и адаптирую прошивку.
+
avatar
  • diod
  • 25 августа 2016, 13:40
0
Спасибо. Буду следить за развитием.
+
avatar
  • kvolk
  • 31 августа 2016, 19:09
0
Будет отдельный обзор, прошивка, предположительно, будет универсальная.
+
avatar
  • kvolk
  • 04 сентября 2016, 14:53
0
Прошивка от 4 сентября уже поддерживает SIM800L.
+
avatar
  • diod
  • 04 сентября 2016, 19:27
0
осталось дождаться когда приедет модем (( и будем тестить
+
avatar
  • lexx
  • 31 августа 2016, 04:17
0
Не приехал еще sim800l?
+
avatar
  • kvolk
  • 31 августа 2016, 19:08
0
Да приехал он ещё в мае:) Сейчас собираю аналог этого устройства на этом sim800l. Думаю что через недельку — две запилю обзор. Много времени на тестирование уходит. И прошивку адаптировать надо под оба модема, чтобы универсальная была.
+
avatar
  • lexx
  • 01 сентября 2016, 23:04
0
Из деталей что то нужно допонительно к sim800l или все тоже самое?
+
avatar
  • kvolk
  • 02 сентября 2016, 09:49
0
Блок питания, контроллер заряда-разряда, аккумулятор 18650, светодиод, герконовый датчик, выключатель, 4 резистора. Опционально дополнительная антенна, хотя и штатной должно хватить.
+
avatar
  • kvolk
  • 03 сентября 2016, 23:56
0
На модеме Sim800l пока не получается добиться стабильной работы, m590 работает стабильно.
+
avatar
  • kvolk
  • 03 сентября 2016, 23:55
0
На модеме Sim800l пока не получается добиться стабильной работы, m590 работает стабильно.
+
avatar
  • kvolk
  • 04 сентября 2016, 14:58
0
Прошивка готова, что касается питания:
Берём блок питания 5В, контроллер заряда-разряда TP4056 для li-ion, ардуину и модем всё это соединяем без всяких преобразователей. Там как раз питание до 4,2В на выходе, ардуине питание подrлючаем на пин +5B. Всё отлично работает.
+
avatar
  • lexx
  • 05 сентября 2016, 01:50
0
Теперь sim800l работает стабильно? А что насчет диодов e027, резисторов?
+
avatar
  • kvolk
  • 05 сентября 2016, 08:00
0
Диоды и повышайка мт3608 не нужны.с выхода контроллера заряда сразу подаём питание на ардуину и модем.
+
avatar
  • lexx
  • 05 сентября 2016, 18:04
0
резисторы только для светодиода и на геркон оставлять? И как со стабильностью работы так как ранее вы писали что sim800l работает не стабильно?
+
avatar
  • kvolk
  • 06 сентября 2016, 08:57
0
резисторы только для светодиода и на геркон оставлять?
Да.
… как со стабильностью работы...
Работает стабильно.

В файл 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
+
avatar
  • lexx
  • 10 сентября 2016, 00:44
0
Сам модем sim800l не нуждаеться в доп настройке через usb uart ttl?
+
avatar
  • kvolk
  • 10 сентября 2016, 07:21
0
Нет, там автоматическая настройка скорости.
+
avatar
  • mummykbf
  • 12 октября 2016, 01:42
0
пару вопросов.
1. для чего в библиотеке увеличивается буфер?
2. на ардуино.ру не размещали?
+
avatar
  • kvolk
  • 12 октября 2016, 11:46
0
1. Для того, чтобы хавтало буфера для общения с модемом.
2. Нет.
+
avatar
  • mummykbf
  • 13 октября 2016, 00:41
0
ModemID используется только для выбора соответствующей команды стирания смс с сим-карты или еще для чего-то?

п.с. Кстати, в одном примере встречал совет такого рода, что АОН надо включать именно в момент поступления звонка и выключать АОН по его завершению. Объяснялось это тем, что возможно ложное исполнение команды если после звонка с мастер-номера будут поступать звонки с других номеров, которых нет в скетче. Ваши размышления на этот счет? имеет смысл это реализовывать?
+
avatar
  • kvolk
  • 13 октября 2016, 09:48
0
стирания смс
Пока только для этого, все остальные используемые в скетче команды идентичны.

возможно ложное исполнение команды если после звонка с мастер-номера будут поступать звонки с других номеров, которых нет в скетче.
Протестировали, не подтвердилось. Считаю что даже если и существует такой баг, то реализовать его на практике довольно сложно.
+
avatar
  • lexx
  • 02 сентября 2016, 13:50
0
А чем скетч от 25.08 отличаеться от старого?
+
avatar
  • kvolk
  • 02 сентября 2016, 16:38
+1
Добавлено.
// — 25.08.2016 — Pause (pause, PAUSE) — приостанавливает работу системы на 5 минут, система не реагирует на срабатывания датчика.

TestOn (Teston, teston, TESTON) — включается тестовый режим, мигает синим светодиодом.
TestOff (Testoff, testoff, TESTOFF) — выключается тестовый режим.
+
avatar
  • edgi
  • 18 сентября 2016, 10:41
0
у этого модема нет gprs или 3g? доступ к web интерфейсу получить на ардуинке
+
avatar
  • kvolk
  • 18 сентября 2016, 21:31
0
Не ясен вопрос. Есть gprs.
+
avatar
  • edgi
  • 18 сентября 2016, 21:42
0
удаленно получить доступ к веб интерфейсу запрограммированного на ардуине с поднятым веб сервером на ней же. нужен конечно ddns для этой цели но это уже не относится к этому вопросу.
+
avatar
  • kvolk
  • 18 сентября 2016, 21:52
0
А есть библиотека динднс для ардуины? Или белый айпи надо взять у оператора сотовой связи. Теоретически возможно, а как на практике, это сложно сказать.
+
avatar
  • edgi
  • 18 сентября 2016, 22:26
+1
полно примеров пример
+
avatar
  • flyback
  • 27 сентября 2016, 18:22
0
Замечательный обзор — спасибо автору!
Сегодня получил свой первый SIM800L, за 5 минут на макетке собрал схему, залил скетч от 26.9 — все работает!
Подскажите кто знает — ссылку на али, какой микрофон выбрать, чтобы поставить на SIM800L для прослушивания эфира?
+
avatar
  • kvolk
  • 29 сентября 2016, 00:08
0
Думаю что любой подойдёт, от детской игрушки какой-нибудь попробуйте.
+
avatar
  • flyback
  • 29 сентября 2016, 10:40
0
Спасибо за идею, но игрушек у меня нет ), а покупать, думаю, накладно выйдет.
Китайцы продают микрофоны для мобил, я не специалист, но мне кажется, что у микрофона, чобы слушать комнату д.б. другие характеристики чем у «трубочного».
+
avatar
  • flyback
  • 27 сентября 2016, 18:33
0
Замечательный обзор — спасибо автору!
Сегодня получил свой первый SIM800L, за 5 минут на макетке собрал схему, залил скетч от 26.9 — все работает!
Подскажите кто знает — ссылку на али, какой микрофон выбрать, чтобы поставить на SIM800L для прослушивания эфира?
— зы
Никак не разберусь, есть на сайте возможность подписаться на отдельный обзор, а не на весь блог?
+
avatar
  • lexx
  • 29 сентября 2016, 20:50
0
вот что выдаёт при компиляции arduino 1.6.12 было что то подобное у кого?

D:\Downloads\ard\gsm\gsm\gsm.ino: In function 'void InitModem()':

D:\Downloads\ard\gsm\gsm\gsm.ino:115:27: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

if (mySerial.find(«M590»)) {

^

D:\Downloads\ard\gsm\gsm\gsm.ino:121:29: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

if (mySerial.find(«SIM800»)) {

^
+
avatar
  • bsdshneg
  • 01 октября 2016, 23:40
0
День добрый, пока жду комплект — задался вопросом удобства настройки, а именно вносить номера (AllowPhone и AllarmPhone) в eeprom… т.е. если сигнализация новая, то принимая первую смс с текстом master, она вносит номер отправителя в AllowPhone (пишет в память… но это ещё на половину сделано), так же вносить и другие номера + после отправки смс на все номера сделал так, чтобы до «закрытия» двери сигнализация больше ничего не отсылала (а то она слала по кругу без остановки)… так вот, собирается-ли автор делать нечто подобное в своих версиях прошивки?.. просто если будет такая версия, то я не буду изобретать велосипед))))))))))))))))))

Да, и не лучше-ли чтобы геркон подавал землю на пин, и диод на него повесить, от внезапного появления +5В ))))))
+
avatar
  • kvolk
  • 03 октября 2016, 15:48
0
а именно вносить номера (AllowPhone и AllarmPhone) в eeprom…
Можно попробовать, но позднее.
… чтобы до «закрытия» двери сигнализация больше ничего не отсылала (а то она слала по кругу без остановки)…
Ничего сигналка не шлёт по кругу, если дверь открыта и сигнализация поставлена на охрану, то для того чтобы ушла тревожная смс необходимо сначала закрыть дверь и снова её открыть. Чтобы ушла ещё одна смс — опять закрыть и снова открыть.
Принцип работы:
Снято с охраны -> Открыли дверь -> Поставили на охрану -> Закрыли дверь -> Открыли дверь -> Тревожная смс отправлена -> Голосовой вызов на первый номер AllarmPhone -> Закрыли дверь -> Открыли дверь -> Ещё ОДНА тревожная смс отправлена -> Голосовой вызов на первый номер AllarmPhone
или
Снято с охраны -> Закрыли дверь -> Поставили на охрану -> Открыли дверь -> Тревожная смс отправлена-> Голосовой вызов на первый номер AllarmPhone -> Закрыли дверь -> Открыли дверь -> Ещё ОДНА тревожная смс отправлена -> Голосовой вызов на первый номер AllarmPhone
Если у вас шлёт смс по кругу, проверьте резистор на d6 и gnd. Проверьте тестером что у вас на пине d6. Как только на d6 появляется gnd уходит ОДНА смс на каждый номер из массива AllarmPhone.

+ после отправки смс на все номера сделал так, чтобы до «закрытия» двери сигнализация больше ничего не отсылала (а то она слала по кругу без остановки)…
Опишите подробнее пожалуйста.
+
avatar
  • bsdshneg
  • 03 октября 2016, 16:16
0
На счёт слать по кругу — да, это я косяк, пардоньте (я на макетке вообще про резистор забыл) ))))))))))

Можно попробовать, но позднее.
хочется увидеть Ваш вариант решения… чтобы найти более простой и правильный)))
+
avatar
  • kvolk
  • 03 октября 2016, 18:33
0
Свмый простой — как сейчас реализовано. Не часто вы будете там номера менять. А микроюсб вынести на корпус для быстрой перепрошивки.
+
avatar
  • bsdshneg
  • 03 октября 2016, 20:08
0
В 90% случаях согласен!!!)))
Но бывает так, что нужно изменить номера, а интернетов для удалёнки нету ))) друг попросил на дачу такую, а у него ни ноута, ни интернета на даче… Значит нужно будет демонтировать и тащить домой )))))))
+
avatar
  • kvolk
  • 04 октября 2016, 15:31
0
На даче, часто менять номера… Что-то интересное, дача — общежитие чтоли?
+
avatar
  • bsdshneg
  • 04 октября 2016, 15:37
0
не часто, но за последний год, он умудрился 2 раза сменить номер… =D

p.s. зачем в общагу сигнализация?.. там вся прелесть в «поймать и покарать»… это же общага))))))
+
avatar
  • bsdshneg
  • 01 октября 2016, 23:44
0
За обзор большое спасибо, всё чётко и понятно рассказано… да ещё и развитие есть)))))))))
+
avatar
  • mummykbf
  • 14 октября 2016, 01:42
0
int CheckPhone() {
  for (int i = 0; i < CountPhone; i++) {
    if (val.indexOf(AllowPhone[i]) > -1) {
      RingPhone = AllowPhone[i];
      Serial.println("Event: +" + RingPhone);
      return 1;
    }
  }
  return 0;
}


честно как не пытался так и не смог понять эту функцию :(
как происходит проверка номера и выборка номера, на который в ответ отсылается смс?

у меня задача несколько иная — отсылать смс в ответ на входящий звонок или входящее сообщение. номера в начале скетча указаны массивом как и у вас.
+
avatar
  • kvolk
  • 15 октября 2016, 08:25
0

int CheckPhone() { 
  for (int i = 0; i < CountPhone; i++) { //Запускаем цикл от 0 до значения CountPhone - количество 
                                     //номеров телефонов в массиве AllowPhone
    if (val.indexOf(AllowPhone[i]) > -1) { //Если нашли совпадение
      RingPhone = AllowPhone[i]; //Переменной RingPhone присваивается значение номера звонящего
      Serial.println("Event: +" + RingPhone); //Пишем в консоль, можно не учитывать эту строчку
      return 1; //Возвращаем 1 процедуре/функции которая запросила
    }
  } //Перебираем весь массив AllowPhone и если не находим совпадения 
  return 0; //Возвращаем 0 процедуре/функции которая запросила
}

Итак, если вернулся 0 — звонящий не наш, давай досвиданья, разрываем соединение, ничего не делаем, в переменной RingPhone хранится номер ПОСЛЕДНЕГО звонящего присутствующего в массиве AllowPhone. Если вернулась 1 — звонящий свой, переменной RingPhone присваивается его номер, запускаем дальнейшую обработку. Как-то так.
+
avatar
  • flyback
  • 05 ноября 2016, 18:54
0
А Вы не думали, чтобы добавить в перечень смс-команд модуля, запрос баланса по симке модуля?
Использую Вашу разработку (10х!!) и понял, что контроль баланса средств возможен только через личный кабинет, а интернет не всегда доступен. Поэтому, если не пополнить баланс вовремя, понять что модуль отключился от сети — перестал выполнять свою функцию, можно только по отсутствию ответа на любую команду, напр. «info»
Мне кажется, это было бы полезное дополнение.
+
avatar
  • kvolk
  • 05 ноября 2016, 21:09
0
… разработку (10х!!)...
Не понял :)
Мне кажется, это было бы полезное дополнение
Полностью согласен, постараюсь сделать. У меня «безлимит» на этих симках, поэтому даже не посещала меня эта идея, но штука нужная — попробую реализовать.
+
avatar
  • kvolk
  • 06 ноября 2016, 20:31
0
Ясно-понятно :)
+
avatar
  • kvolk
  • 06 ноября 2016, 20:31
0
Спасибо.
+
avatar
  • kvolk
  • 17 ноября 2016, 21:21
0
Реализовано. Выложил новый скетч.
+
avatar
  • flyback
  • 17 ноября 2016, 22:10
0
Забрал, спасибо
А возможно каким-то образом подписаться на обзор?
Хотелось бы узнавать об/получать обновления(х), а не пойму как это сделать используя функционал mysku
Или это невозможно и «Реализовано. Выложил новый скетч» для заинтересованных Вы отправляли персонально, а те об изменениях в обзоре могут узнавать только периодически заходя в него? (
+
avatar
  • kvolk
  • 17 ноября 2016, 22:19
0
Персонально, я мониторю комментарии, доделываю по возможности — отписываюсь в комментариях. Не могу точно сказать, скорее всего изменений в теме не увидеть :(. На каком модеме у Вас собрана сигнализация, есть ли баг с командой info?
+
avatar
  • kvolk
  • 18 ноября 2016, 21:37
0
Новый скетч от 18.11, попробуйте, отпишитесь работает ли стабильно команда info.
+
avatar
  • flyback
  • 19 ноября 2016, 13:22
0
Извините за задержку с ответом
Получил вчера разъемы дюпоны-сокеты-линейки и решил заодно и все перепаять.Изначально собирал на микросхемных сокетах, а они, ч.г., узковаты — не понравилось.
Смогу ответить только завтра. А модем у меня 800й
+
avatar
  • kvolk
  • 19 ноября 2016, 13:56
0
Сегодня-завтра новый скетч будет :) Сейчас тестирую.
+
avatar
  • flyback
  • 20 ноября 2016, 00:21
0
Ждем.
Не знаю, тот ли баг, о котором Вы спрашивали —
смски от сигнализации не приходят. Ни на «info», ни на «Smson».
А в старой версии (11.10.16) все нормально
Баланс тоже не присылает.
+
avatar
  • kvolk
  • 20 ноября 2016, 00:33
0
Скет от 19.11? Только что проверил и на 590, и на 800 модемах — всё отлично работает. Обращайте внимание на процесс прошивки, если занять больше 72% озу работа синалки нестабильна.
+
avatar
  • kvolk
  • 20 ноября 2016, 00:52
0
Обновите arduino ide.
+
avatar
  • flyback
  • 20 ноября 2016, 23:50
0
IDE всего лишь сборщик и оно здесь ни при чем (прошивку можно собрать и в студии и winavr). Все оказалось проще — так не терпелось опробовать, что недопаял, вынул все на макетку, но подключил на 5V внешних. Проверил, отписался, что не работает, а когда понял, что я наделал — чуть не обос… ся )). Полагаю, будет нелишним в шапку обзора вставить, этак 50-м Таймсом рОманом и обязательно красным цветом — больше 4.2V не давать!
Сейчас проверил, живой-чудокитайскойтехники!!! не спалился, работает и баланс присылает. Еще раз Вам спасибо за труд и потраченные ср-ва. Только представить сколько их уходит на отладку.
+
avatar
  • kvolk
  • 21 ноября 2016, 09:29
0
IDE всего лишь сборщик и оно здесь ни при чем
Категорически не согласен.
+
avatar
0
Я по аналогии с Вашим кодом делаю свой проект по дистанционному управлению электрическим котлом на дачу.
Всплыли кое какие баги, может кому пригодиться.

В чем суть бага — есть sms-команды на принудительное включение котла и принудительное отключение, ON и OFF соответственно, независимо от того в каком состоянии находился котел после запусков и остановок по звонку с мобильного. Так же как автор проекта данной сигналки, использую команды SMSON и SMSOFF для включения и отключения sms-оповещений о событиях.

Допустим по звонку или по sms-команде ON котел был запущен, а потом вдруг в голову мне приходит мысль, что sms-оповещения мне надоели и я отправляю команду на отключение этих самых оповещений командой SMSOFF. Теперь собственно сам баг — код обрабатывает команду SMSOFF как команду на отключение оповещение… и заодно как команду на отключение котла по команде OFF. Соответственно если котел был выключен и решил вновь включить sms-уведомление, то командой SMSON плюсом ко всему запускается котел, то есть отрабатывается команда ON.

Отсюда вывод: одна sms-команда не должна быть в составе другой, то есть полностью эксклюзивной.
+
avatar
  • kvolk
  • 06 ноября 2016, 20:32
0
Да, именно по этой причине не использовал простые команды типа on или off.
+
avatar
0
Столкнулся с новой проблемой: модем не удаляет смс.
по факту перепробовал разные варианты:
AT+CMGD=0,4
AT+CMGD=1,4
AT+CMGD=4
Счетчик сообщений +CMGS: после каждой смс все равно увеличивается на единицу

Описание Команда удаления SMS сообщений
Формат AT+CMGD=,Параметр – порядковый номер удаляемого сообщения, для удаления одного сообщения можно не указывать

:
0 – удалить сообщение с номером 1 – удалить все прочитанные сообщения
2 – удалить все прочитанные и отправленные сообщения
3 – удалить все прочитанные, отправленные и неотправленные сообщения
4 – удалить все сообщения
Ответ OK или ERROR
Пример AT+CMGD=1
OK Удалить сообщение с номером 1
AT+CMGD=1,4
OK Удалить все сообщения
+
avatar
  • kvolk
  • 08 ноября 2016, 14:03
0
Счетчик сообщений +CMGS: после каждой смс все равно увеличивается на единицу
Вас это смущает?
Попробуйте вставить симку в сигналку, принять несколько смс, вынуть симку, вставить в телефон и проверить смс. Потом обратно вставить в модем выполнить команду clear или AT+CMGD=0,4 (AT+CMGD=1,4 или AT+CMGD=4) снова вставить в телефон и проверить что стало с этими смс.
+
avatar
0
На радиолабе вот как ответили на мой вопрос:

Ответ вида +CMGS: это не счетчик сообщений на СИМ карте, этот счетчик просто инкрементируется при каждом отправленном (или неотправленном) сообщении, это условный счетчик, и к нему не надо привязываться.

Количество сообщений на СИМ карте проверяется командой AT+CPMS? В ответ получаем +CPMS: «SM»,1,25,»SM»,1,25,»SM»,1,25

Что означает что на СИМ карте есть одно сообщение, а всего на СИМ помещается 25 сообщений.
+
avatar
0
с этим всё более-менее устаканилось, но аппетит растет во время еды по мере написания кода. есть такая АТ команда AT+CCLK?, которая считывает дату и время с модуля, в ответ на нее получаем строку следующего вида: +CCLK: «05/01/01,00:09:48»
Как её распарсить на составляющие? допустим хочу присваивать день, месяц и год переменным day, mon, yy соответственно; часы, минуты, секунды соответственно переменным hh, mm, ss.

если можно, то куском кода для ардуино, потому как в парсинге полный ноль.
+
avatar
  • kvolk
  • 09 ноября 2016, 00:24
0
А дату и время в модем как устанавливать будете? Через gprs синхронизировать не получится, скорость низкая и канал связи нестабильный. При отключении дата и время сбрасывается… Это не время сети.
Что на счечёт парсинга, то вам сюда.
+
avatar
  • MiB2003
  • 02 января 2017, 15:52
0
В текущем скетче можно добавить sms команду типа «settime», текушее время элементарно получить из пришедшей по ней sms и потом +CCLK установить в модеме ( у меня есть похожий проект, но там еще время устанавливается при первом запуске из файла с SD карты и база номеров тоже храниться на SD и на SD ведется лог звонков и команд с указанием времени и даты, а можно еще сделать авто установку времени при появлении команды от модема "+PBREADY" ) короче вариантов куча…
+
avatar
  • kvolk
  • 02 января 2017, 19:52
0
Если останется свободная память, почему бы и нет.
+
avatar
  • YuRIK
  • 14 ноября 2016, 03:24
0
Kvolk, есть необходимость при тревоги установить логическую единицу на каком либо пине на одну две минуты. Я не программист, если Вас не затруднит и есть такая возможность дописать код программы.
+
avatar
  • kvolk
  • 16 ноября 2016, 23:44
0
Реализовано, постараюсь к концу недели выложить скетч. Сейчас пробую допилить запрос баланса и потом сразу выложу, так сказать "… двух зайцев сразу".
+
avatar
  • YuRIK
  • 17 ноября 2016, 02:25
0
Kvolk, спасибо будем ждать.
+
avatar
  • kvolk
  • 17 ноября 2016, 21:20
0
Реализовано. Выложил новый скетч.
+
avatar
  • kvolk
  • 17 ноября 2016, 21:21
0
Реализовано. Выложил новый скетч.
+
avatar
0
Проблем с зависанием GSM модуля не было?.. надо делать периодический опрос и управление питанием модуля через транзистор?
+
avatar
  • kvolk
  • 17 ноября 2016, 22:12
0
Нет, не было, за 3 месяца ни разу не завис модем. Сейчас есть непонятный баг с командой info на модеме m590, ответ не отправляет.
+
avatar
  • Gena_
  • 23 ноября 2016, 20:53
-1
Если не компилируется скетч
'AllowPhone' was not declared in this scope
раскоментируйте две строки где прописываются номера телефонов
+
avatar
  • kvolk
  • 23 ноября 2016, 22:09
0
Спасибо, поправил. Прошу прощения за минус, промазал с телефона.
+
avatar
  • sotyi67
  • 25 ноября 2016, 13:26
0
Здравствуйте. А для удобства может добавить кнопку (потайную) для выключения и включения сигнализации на охрану?
Выходим из помещения, нажимаем кнопку, закрыв дверь, ставится на охрану. И когда приходим, открыв дверь, у нас есть несколько секунд, чтоб нажать на кнопку, снять с охраны.
+
avatar
  • kvolk
  • 25 ноября 2016, 13:52
0
В принципе можно, но правильнее добавить считывание ключа ibutton, как в домофонах.
+
avatar
  • sotyi67
  • 25 ноября 2016, 13:57
0
Ключ можно забыть или потерять. :-)
А вообще, большое спасибо за тему и скетч.
+
avatar
  • kimber
  • 25 ноября 2016, 14:20
0
А можете реализовать такое в одном из ближайших обновлений, с ibutton или rfid? Хотя с ibutton проще и дешевле.
+
avatar
  • kvolk
  • 25 ноября 2016, 14:32
0
Да, если память устройства позволит, сейчас её осталось около 15%. Если занятость ОЗУ более 74% работа устройства не стабильна, это факт.
+
avatar
  • kimber
  • 25 ноября 2016, 14:34
0
Спасибо! Будем надеяться на лучшее.
+
avatar
  • kvolk
  • 25 ноября 2016, 14:39
0
Разве что потом переходить на Arduino Mega, там оперативки в 4 раза больше. Но и плата просто огромна по сравнению с Nano.
+
avatar
  • kimber
  • 25 ноября 2016, 17:27
0
Если развивать проект дальше, то имеет смысл, но тогда слово «бюджетная» придется убрать, правда смотря с чем сравнивать.
+
avatar
  • kvolk
  • 25 ноября 2016, 17:49
0
Я считаю, что надо каким-то образом оптимизировать память, последний раз оптимизацией получилось высвободить почти 20% ОЗУ.
+
avatar
  • kimber
  • 25 ноября 2016, 17:52
0
Вот, как пример, есть размер по-меньше, но ценник какой-то немаленький.

А насчет оптимизации, то это верно.
+
avatar
  • iwizard
  • 28 ноября 2016, 06:40
0
Uno всетаки поменьше меги, а памяти побольше чем в nano. Может ее использовать?
+
avatar
  • kvolk
  • 28 ноября 2016, 09:00
0
Памяти там столько же, ровно 2Kb
+
avatar
  • iwizard
  • 28 ноября 2016, 09:14
0
Вы про ОЗУ? тогда да 2. А флеш памяти 32 Кб.
+
avatar
  • kvolk
  • 28 ноября 2016, 09:39
0
Arduino Nano:
Флеш-память: 16 Кб (ATmega168) или 32 Кб (ATmega328)
ОЗУ: 1 Кб (ATmega168) или 2 Кб (ATmega328)
EEPROM: 512 байт (ATmega168) или 1 Кб (ATmega328)
Для этого устройства ATmega168 не подходит.
+
avatar
  • iwizard
  • 28 ноября 2016, 10:07
0
Понял, спасибо
+
avatar
0
Народ, а может подскажет кто, что за прикол такой — если функция вызывается раньше своего объявления (по ходу кода), то вываливается ошибка, что она не объявлена… раньше ведь такого не было
+
avatar
  • kvolk
  • 26 ноября 2016, 15:44
0
Версия Arduino IDE 1.6.13? в 1.6.12 всё хорошо.
+
avatar
0
да в том и дело, что была 1.6.12, раньше всё собиралось как надо, а вчера перестало, поставил 1.6.13 — то же самое, поменял объявления функций местами — всё стало ок!
+
avatar
  • kvolk
  • 26 ноября 2016, 17:01
0
Варнинги стринг-чар на на строки определения модемов m590 и sim800 при компиляции вылетают?
+
avatar
0
у меня sim800

R14.18

OK
AT+CLIP=1

OK
AT+CMGF=1

ERROR
AT+CSCS=«GSM»
+
avatar
  • kvolk
  • 27 ноября 2016, 00:10
0
Я не наблюдал у себя такой ошибки, буфер до 192 подняли?
+
avatar
  • kvolk
  • 27 ноября 2016, 09:23
0
R13.08

OK
AT+CLIP=1

OK
AT+CMGF=1

OK
AT+CSCS=«GSM»

OK
AT+CNMI=2,2

OK

ЗЫ. Только что скачал ардуино иде, установил и этой проблемы не заметил, видимо починили.
+
avatar
  • sotyi67
  • 27 ноября 2016, 15:42
0
или между вторым и третьим пином модуля впаять SMD резистор
Это получается между 19 и 20 выводом (по схеме).
+
avatar
  • sotyi67
  • 27 ноября 2016, 16:20
0
Попробовал скетч на Pro-mini + M590, получилось.
+
avatar
  • kvolk
  • 27 ноября 2016, 16:54
0
Atmega328P или Atmega168?
+
avatar
  • sotyi67
  • 27 ноября 2016, 17:19
0
328
Собрал всю схему, кроме светодиодов. Выводы на про-мини аналогичные.
+
avatar
  • kimber
  • 27 ноября 2016, 17:50
0
При работе с аккумулятором, наверное, Pro-mini даже лучше будет. Минус один корпус.
+
avatar
  • iwizard
  • 28 ноября 2016, 04:28
0
Добрый день, kvolk. Есть ли в планах добавить датчик температуры DS18B2. Зимой в гараже актуально было бы посмотреть температуру через смс сообщение
+
avatar
  • kvolk
  • 28 ноября 2016, 09:44
0
Если позволит память устройства.
ЗЫ. Литий-ионный аккумулятор очень не любит холода.
+
avatar
  • iwizard
  • 28 ноября 2016, 09:54
0
Да, про липо знаю, но я буду использовать свинцово-кислотный акб пока, потом возможно перейду на LiFePo
+
avatar
  • Maksym
  • 09 января 2017, 03:55
0
Легенды о вреде холода для лития сильно преувеличены. До -20 у многих штатный режим работы вообще. Да, уменьшается отдаваемая емкость — но при этом работает. Работает лучше металлгидридных аккумуляторов.
+
avatar
  • kvolk
  • 02 декабря 2016, 12:42
0
Новая прошивка от 02.12.2016. В дальнейшем все прошивки будут в виде бинарного файла, реализовано полное управление сигнализацией через смс команды.
+
avatar
  • kimber
  • 02 декабря 2016, 17:40
0
Какую конфигурацию будут поддерживать новые прошивки, возможно ли обновление, если подключено более одного датчика?
+
avatar
  • kvolk
  • 02 декабря 2016, 17:42
0
Пока один, если будет необходимость можно откомпилировать на несколько датчиков.
+
avatar
  • kvolk
  • 02 декабря 2016, 21:27
0
Какую конфигурацию будут поддерживать новые прошивки
Что за конфигурация? Не совсем понял, есть идеи — предлагайте.
возможно ли обновление
Обновление возможно без потери настроек, именно для этого и делалось сохранение конфигурации в энергонезависимую память.
+
avatar
  • kimber
  • 02 декабря 2016, 21:57
0
Вопрос конфигурации касался количества датчиков, на который вы ответили выше.
Можете доработать скетч, чтобы при использовании нескольких датчиков, в смс отображалась информация о номере сработавшего датчика?
+
avatar
  • kvolk
  • 02 декабря 2016, 22:00
0
Да, конечно, это в планах. Вы какую версию сейчас используете? Сколько необходимо датчиков?
+
avatar
  • kimber
  • 02 декабря 2016, 23:29
0
Новую версию пока не ставил. Необходимо не менее 3-х датчиков.
+
avatar
  • kvolk
  • 02 декабря 2016, 23:37
0
Если в старой версии — допилить датчики придётся самому, описание есть в обзоре, в новой версии постараюсь прикрутить побольше.

Такие же датчики, принцип работы тот же?
+
avatar
  • lexx
  • 03 декабря 2016, 00:52
0
А почему теперь прошивка в hex файле? Сколько максимум герконов можно повесить?
+
avatar
  • kvolk
  • 03 декабря 2016, 01:13
0
А почему теперь прошивка в hex файле?
Потому что полное управление через смс, и нет смысла менять что то в скетче, там сейчас без пол литра не разобраться.
Сколько максимум герконов можно повесить?
Сколько свободных пинов, чуть позже начну добавлять датчики, но пока один.
+
avatar
  • lexx
  • 04 декабря 2016, 01:18
0
Хорошо бы сделать версию для ардуино мега и добавить поддержку датчика движения и датчика разбития окна(стекла)
+
avatar
  • kvolk
  • 04 декабря 2016, 10:00
0
Хорошо бы сделать версию для ардуино мега
Зачем для меги?
+
avatar
  • lexx
  • 04 декабря 2016, 17:29
0
Ну на нано 10 герконов не поставить
+
avatar
  • kvolk
  • 04 декабря 2016, 18:53
0
Ещё как повесить. :)
+
avatar
  • lexx
  • 04 декабря 2016, 23:05
0
Это как?
+
avatar
  • kvolk
  • 05 декабря 2016, 06:34
0
Позже будет.
+
avatar
  • sotyi67
  • 03 декабря 2016, 21:06
0
Илья, а в планах нет добавить термодатчик и кнопку включения/отключения сигнализации?
+
avatar
  • kvolk
  • 04 декабря 2016, 09:15
0
Термодатчик разве что выносной
кнопку включения/отключения сигнализации
Для чего? Вот никак не могу понять её назначения.
+
avatar
  • YuRIK
  • 04 декабря 2016, 09:50
0
Если добавлять постановку, снятие то лучше ключом ibutton ds1990a.
+
avatar
  • kvolk
  • 04 декабря 2016, 09:59
0
Полностью согласен.
+
avatar
  • sotyi67
  • 04 декабря 2016, 11:13
0
Хочу в гараж эту сигналку. Можно и ключом.
Датчик температуры выносной, чтоб нагрев этого устройства не влиял.
+
avatar
  • kvolk
  • 04 декабря 2016, 12:56
0
Не пойму, какая разница приложить ключ на считыватель или позвонить на сигналку и она включится. Ну нафига там кнопки или считыватель?

Сигналка включается/выключается по звонку:
Позвонил -> сигнализвция включилась -> позвонил ещё раз -> выключилась.
Ну зачем кнопка или ключ?! Объясните, я не могу понять, вот реально не могу понять.
Неужели так сложно позвонить на этот номер для включения/выключения сигналки, тем более она отобьёт сразу, деньги не спишутся за звонок.
+
avatar
  • YuRIK
  • 05 декабря 2016, 08:36
0
По поводу ключа, допустим нужно снять с охраны, а GSM связи нет (неполадки со стороны оператора) а у меня сирена подключена. Я открываю объект сразу рёв сирены допустим минуту, захожу во внутрь у меня там датчик движения, сирена отработала первую минуту затем срабатывает датчик движения и опять сирена и так до бесконечности. А если связь не появилась, когда мне нужно уйти как её поставить на охрану без GSM сигнала. Как-то так.
+
avatar
  • kvolk
  • 04 декабря 2016, 13:01
0
Скажите, кто прошился новыми прошивками, всё команды работают, всё хорошо? Ни у кого чего-то подобного не случалось?
+
avatar
  • kvolk
  • 04 декабря 2016, 15:35
0
Никто не прошивался чтоли новой прошивкой?
+
avatar
  • lexx
  • 04 декабря 2016, 18:08
0
Я пока нет
+
avatar
  • bsdshneg
  • 04 декабря 2016, 13:32
0
Просить поделиться скетчем, который умеет добавлять номера в память бесполезно? =))))) с радостью угощу пивом или коньяком))) у меня просто так и не получилось нормально реализовать ((((… напиши пожалуйста в личку, интересно взглянуть на реализацию)))))

Хотя, как я понимаю, это уже в ардуино IDE написано)))))… но всё-равно интересно!

Да, и я может быть что-то пропустил, но если нужно использовать больше 1 датчика — что делать при использовании прошивки в HEX? Прочитал )))))
+
avatar
  • kvolk
  • 04 декабря 2016, 13:46
0
Да, и я может быть что-то пропустил, но если нужно использовать больше 1 датчика — что делать при использовании прошивки в HEX?
В ближайшее время буду добавлять датчики.

напиши пожалуйста в личку, интересно взглянуть на реализацию)))))
Реализация простая, разметка памяти, под каждый номер выделено 20 ячереек еепрома, итого 200. В них пишем номер и признак, потом читаем и сравниваем.
+
avatar
  • bsdshneg
  • 04 декабря 2016, 14:43
0
Спасибо!)))
+
avatar
  • bsdshneg
  • 05 декабря 2016, 21:16
0
Повесь плиз положительный пин (при срабатывании) на D2, отрицательный на D3, а на D4-D7 — датчики… и удобно и просто)))
+
avatar
  • kvolk
  • 05 декабря 2016, 21:47
0
D2-3 это в нано единственные пины которые с прерываниями.Пока не хотелось бы их затрагивать.Через месяцок — полтора +8 или 16 пинов прикручу для датчиков.
+
avatar
  • kvolk
  • 07 декабря 2016, 16:42
0
GSM_2016_12_07-15-38.hex — добавлена возможность подключения датчика движения HC-SR501, подключается к пину A0 (в данном случае пин A0 используется как цифровой). Добавлены смс — команды PIROn, PIROff. Занято: 48% SRAM, 76% Flash Memory.
+
avatar
  • kvolk
  • 08 декабря 2016, 14:25
0
GSM_2016_12_08-13-53.hex — Теперь после успешного выполнения команды, которая в ответ не отправляет смс сообщение, устройство однократно мигает синим светодиодом. Теперь после некорректного выполнения команды, которая в ответ не отправляет смс сообщение, устройство дважды мигает синим светодиодом. Теперь после инициализации параметров устройства, если включен «тихий» режим (SendSms = 0), устройство в течение 2 секунд часто мигает синим светодиодом. Исправлена ошибка из-за которой номер не всегда удалялся из памяти командой DeletePhone. Занято: 48% SRAM, 78% Flash Memory.
+
avatar
  • pptv
  • 09 декабря 2016, 11:23
0
Собрал на Pro Mini 3,3v mega328 прошил неактуальную версию через врдуино IDE — все работает А актуалная версия в HEX прошиваю и сигналка не берет трубку чтоб занести первый номер.
модем Neoway M590
+
avatar
  • kvolk
  • 09 декабря 2016, 11:45
0
На каком чипе про мини? Полагаю что на 168?
+
avatar
  • pptv
  • 09 декабря 2016, 12:02
0
Amtel 328 кварц 8Mz
подключил монитор порта какието каракули лезут
+
avatar
  • kvolk
  • 09 декабря 2016, 12:45
0
Откуда в про мини 328 чип?
Характеристики


Микроконтроллер
ATmega168
Рабочее напряжение
3.3 В или 5 В (в зависимости от модели)
Входное напряжение
3.35-12 В (модель 3.3 В) или 5-12 В (модель 5 В)
Цифровые Входы/Выходы
14 (6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы
6
Постоянный ток через вход/выход
40 мА
Флеш-память
16 Кб (2 используются для загрузчика)
ОЗУ
1 Кб
EEPROM
512 байт
Тактовая частота
8 МГц (модель 3.3 В) или 16 МГц (модель 5 В)
+
avatar
  • pptv
  • 09 декабря 2016, 13:09
0
У Вас устаревшая информация

Характеристики с сайта arduino ua/ru/hardware/ProMini

Микроконтроллер ATmega168 или ATmega328
Рабочее напряжение 3.3В или 5В (в зависимости от модели)
Напряжение питания 3.35-12В (для модели 3.3В) или 5 — 12В (для модели 5В)
Цифровые входы/выходы 14 (из них 6 могут использоваться в качестве ШИМ-выходов)
Аналоговые входы 8
Максимальный ток одного вывода 40 мА
Flash-память 16 КБ (из которых 2 КБ используются загрузчиком)
SRAM 1 КБ
EEPROM 512 байт
Тактовая частота 8 МГц (для модели 3.3В) или 16 МГц (в модели 5В)
+
avatar
  • kvolk
  • 09 декабря 2016, 14:29
0
Ниже отписался.
+
avatar
  • sotyi67
  • 09 декабря 2016, 13:20
0
У меня тоже про мини с 328-м и 16МГц (5в).
+
avatar
  • kvolk
  • 09 декабря 2016, 14:33
0
Ресурсы для новых прошивок:
Flash-память 32 КБ
SRAM 2 КБ
EEPROM 1 Кб
+
avatar
  • pptv
  • 09 декабря 2016, 15:44
0
ProMini имеет ети параметры

Flash-память 32 КБ (из которых 2 КБ используются загрузчиком)
SRAM 2 КБ
EEPROM 1 КБ
Тактовая частота 16 МГц

и неработает

Можно ли както заставить работать 3 волтовую с 8мгц кварцем
тогда отпадает необходимость ставить повышающей шимки
+
avatar
  • kvolk
  • 09 декабря 2016, 17:41
0
Думаете что проблема в частоте? У меня валяется где-то 3 вольтовая промини, попробую прошить.
+
avatar
  • kimber
  • 10 декабря 2016, 00:18
0
Все отличие Pro Mini (5В, 16 Мгц) от Nano — отсутствие CH340G, так что должно работать без проблем. Может сама плата глючная или стоит попробовать другую прошивку?
+
avatar
  • pptv
  • 10 декабря 2016, 22:44
0
Проверил на ProMini 5v — работает а на 3.3 вольтовке не работает
+
avatar
  • kvolk
  • 10 декабря 2016, 22:49
0
Может ему питание 4,2 не нравится? Попробуйте на полуразряженном аккумуляторе запустить. Может хитрый китаец перемаркировал чип и там под видом 328 168й? Возьмите скетч проверки объёма еепром, и всё станет ясно. Выложите фото ардуины и чипа.
+
avatar
  • sotyi67
  • 11 декабря 2016, 00:32
+1
Резервное питание может по этой схеме сделать?
Напряжение питания делаем 4,6в. (5в. через диод Шотки), тогда к модулю через диод D3 придет 4,2в.(когда есть сеть), а когда не будет сети, от батареи напряжение будет идти без потерь.
(Источник: zeroelectronics.ru/practics/neskol-ko-shem-rezervnogo-pitaniya.html )
+
avatar
  • kvolk
  • 11 декабря 2016, 09:27
0
А если полную схему нарисовать с контроллером заряда на TP4056?
+
avatar
  • sotyi67
  • 11 декабря 2016, 12:55
+1
Примерно так:
+
avatar
  • kvolk
  • 11 декабря 2016, 13:11
0
Думаю, что так будет лучше для аккумулятора.
+
avatar
0
Есть небольшая проблемка, контроллеры заряда, которые приехали мне, разрывают аккумулятор по минусу. Таким образом + батареи и + нагрузки соединены. Подскажите как в таком случае можно переделать схему?
Первые попавшиеся штук 5 найденых на Али, судя по фото построены точно так же
+
avatar
0
Разобрался, уже не актуально
+
avatar
  • kvolk
  • 21 марта 2017, 15:11
0
Аккумулятор подпаиваем к контактам аккумулятора на плате контроллера, тут не совсем точно нарисовано.
mySKU.me/blog/ebay/43282.html#comment1930875
+
avatar
  • kvolk
  • 11 декабря 2016, 09:28
0
GSM_2016_12_11-09-12.hex — Добавлены консольные команды AddPhone и DeletePhone, синтаксис аналогичен смс-командам. Оптимизация памяти. Занято: 43% SRAM, 79% Flash Memory.
+
avatar
  • sotyi67
  • 11 декабря 2016, 13:52
0
Хочу сирену приспособить. А бывают сирены на 5 вольт, может кто-то сталкивался?
+
avatar
  • kvolk
  • 11 декабря 2016, 13:58
0
Думаю что только внешнюю, от 12В, с управлением через тревожный пин.
+
avatar
  • sotyi67
  • 11 декабря 2016, 15:09
0
Да, тревожный пин как раз. И время можно выставить.
+
avatar
  • kimber
  • 11 декабря 2016, 15:21
0
А как лучше управление сиреной организовать, через реле или по другому, и как все это будет работать при резервном питании? С тревожным пином как быть, в скетче временной параметр менялся, а в «кексе» как поменять?
+
avatar
  • sotyi67
  • 11 декабря 2016, 15:48
0
+
avatar
  • kvolk
  • 11 декабря 2016, 15:57
0
А как лучше управление сиреной организовать, через реле или по другому, и как все это будет работать при резервном питании?
Это уже другая история, например отдельный аккумулятор 12В.
С тревожным пином как быть, в скетче временной параметр менялся, а в «кексе» как поменять?
Через смс команду
AlarmPinTime — время на которое включается/выключается тревожный/инверсный пин, указывается в секундах. Значение по умолчанию: 60, не может быть менее 1 секунды и более 43200 секунд (12 часов).
Пример команды:
AlarmPinTime:30
Думаю этого достаточно, специально в секундах для «гибкости». Явно что 12 часов это чересчур, но больше — не меньше :)
+
avatar
  • kimber
  • 11 декабря 2016, 16:09
0
С питанием сирены будем думать. С временным интервалом понял, а саму коммутацию тревожного пина с сиреной, все-таки, как лучше организовать?
+
avatar
  • kvolk
  • 11 декабря 2016, 16:31
0
Например через реле.
+
avatar
  • sotyi67
  • 11 декабря 2016, 16:53
+2

Релейный модуль надо на 5 вольт. Например aliexpress.com/item/Free-Shipping-1PCS-5V-low-level-trigger-One-1-Channel-Relay-Module-interface-Board-Shield-For/32480128984.html
Сирена от автосигнализации.
+
avatar
  • kimber
  • 11 декабря 2016, 23:53
0
Схемка подключения к реле чуток неправильная, если смотреть относительно модуля, на который приведена ссылка. По рисунку не к тем контактам питание 220в подходит. Да и зачем 220, когда можно сразу 12 в коммутировать.
+
avatar
  • sotyi67
  • 12 декабря 2016, 00:28
0
На модуле я контакты не помню, поэтому нарисовал наугад, как бы предварительная схема.
Если комутировать 12в., то тогда трансформатор будет включён постоянно. А так он включается только когда тревога.
+
avatar
  • kimber
  • 12 декабря 2016, 00:33
0
Так питание на сигналку же будет подаваться. Питать сразу от 12 в и добавить DC-DC понижающий, для питания ардуины и модема.
+
avatar
  • kimber
  • 11 декабря 2016, 16:26
0
А если такое, как сирену, прикрутить? Совсем недорого, по питанию вроде как подходит и орет может не очень громко, но довольно звонко и противно. Размеры минимальны.


+
avatar
  • kvolk
  • 17 декабря 2016, 21:19
0
Всё работает стабильно, без ошибок?
+
avatar
  • Izvorg
  • 19 декабря 2016, 15:16
0
На м590 работает на sim800l не хочет 3 штуки перебрал.
+
avatar
  • kvolk
  • 19 декабря 2016, 15:21
0
Подробнее пожалуйста, что не работает, какая версия модема? На симах800 всё вобще летает, логи загрузки устройства «в студию».
+
avatar
  • Izvorg
  • 19 декабря 2016, 15:51
0
Все по вашей схеме, модемы брал давно для другого проекта, причем управление тепловой пушкой на даче на сим 800 работает уже год без проблем + gsm модуль для открытия шлагбаума на нем же, такое чувство что модем с дуиной по tx-rx не общаются звонок идет трубку не бросает ну и соответственно не переключает режим охраны. Буду ковыряться, за работает отпишу в чем косяк был.
+
avatar
  • Izvorg
  • 19 декабря 2016, 15:57
0
Поставил назад м590 опять все работает, сейчас сим800 на чем нибудь другом проверю, может не рабочие, хотя вряд ли.
+
avatar
  • Izvorg
  • 19 декабря 2016, 16:06
0
Все работает. Скорее всего был плохой контакт rx-tx, так как собрано на коленке и соединено
гадскими китайскими(очень дешевыми и дерьмовыми проводками).
+
avatar
  • kvolk
  • 19 декабря 2016, 16:14
0
Вы сим800 случайно не от 5 Вольт питаете?
Ясно — понятно. :)
+
avatar
  • Izvorg
  • 19 декабря 2016, 16:24
0
питание литиевая батарейка, а с м 590 я диод выкинул.
+
avatar
  • kvolk
  • 19 декабря 2016, 16:29
0
Ещё вопрос, литий, зима, минусовая температура, или в гараже тепло?
+
avatar
  • Izvorg
  • 19 декабря 2016, 16:38
0
Дача, стоят конвектора нуаро, на поддержание +5+7 на постоянку, и пушка с гсм управлением(как зимой в баню собираюсь включаю ее часа за три а потом печь топлю), лепестричество отключают редко, литий 2 банки по 1700 в параллели, думаю на резерв если что хватит. А гаражи у нас лет так 20 вроде уже не вскрывают, наши нарки картошку не едят:)
+
avatar
  • kvolk
  • 19 декабря 2016, 16:06
0
Лог загрузки покажите. В консоли выполните команду «Modemid=2», покажите что выведется в консоль после этой команды.
Должно быть что-то подобное (в данном случае модем не определён, ардуина загрузилась без модема):
Previous value ModemID = 0
Emulate modem: SIM800L
Current value ModemID = 2

Она принудительно переключит устройство на работу с модемом Сим800. «Modemid=1» принудительное переключение модема на M590.
+
avatar
  • Izvorg
  • 19 декабря 2016, 16:19
0
Arduino GSM Alarm 16.12

The system is started, initialization parameters.


Read configuration eepromconfig:
SendSms: 1
AlarmRing: 0
LedTestOn: 1
LedOn: 1
Guard: 0
PauseTime: 15
AlarmInterval: 60
PIRGuard: 0

Read array phone:
1 -> 79658420796 -> 1 -> 1
2 -> -> 0 -> 0
3 -> -> 0 -> 0
4 -> -> 0 -> 0
5 -> -> 0 -> 0
6 -> -> 0 -> 0
7 -> -> 0 -> 0
8 -> -> 0 -> 0
9 -> -> 0 -> 0
10 -> -> 0 -> 0

The number of balance inquiry: #100#
Length of characters to return: 22

Start working.
System -> Guard off

R13.08

OK
AT+CLIP=1

OK
AT+CMGF=1

OK
AT+CSCS=«GSM»

OK
AT+CNMI=2,2

OK
+
avatar
  • Izvorg
  • 19 декабря 2016, 16:21
0
Previous value ModemID = 2
Emulate modem: SIM800L
Current value ModemID = 2

Modemid=2
+
avatar
  • kvolk
  • 19 декабря 2016, 16:29
0
Всё супер-гуд, модем определяется правильно.
+
avatar
  • kvolk
  • 19 декабря 2016, 16:37
0
ЗЫ Удаляйте номера из логов. :)
+
avatar
  • Izvorg
  • 19 декабря 2016, 16:41
0
Да я не скрываюсь, налоги плачу, кто хочет звоните, мобила рабочая:)
+
avatar
  • Izvorg
  • 19 декабря 2016, 16:55
0
Хм, странно, что то баланс перестала присылать хотя работало, в мониторе пишет:
+CMT: "+79658420796","",«16/12/19,18:46:57+20»
004D006F006E04350079

SMS from: +79658420796

для Beeline: #100#L22. а здесь именно 2 решетки должны быть или впереди звездочка?
+
avatar
  • kvolk
  • 19 декабря 2016, 17:00
0
Ответ пришёл смс содержала русские символы или на русском языке?
Модем не отработал эти команды при инициализации:
AT+CMGF=1 — Режим кодировки СМС — обычный (для англ.)
AT+CSCS=«GSM» — Режим кодировки текста
После этих строк должны быть строки OK.

Перезагрузите устройство, иногда такое бывает.
+
avatar
  • kvolk
  • 19 декабря 2016, 17:01
0
#100# — ответ на латинском
*100# — ответ на русском
Если не биллайн, узнайте у оператора номер для запроса баланса с ответом на латинице.

ЗЫ Только что проверил, всё ок.
Перезагрузите устройство.
+
avatar
  • Izvorg
  • 21 декабря 2016, 10:19
0
3 день теста: от сети на м590 работает стабильно, все команды выполняются, от батарейки что 590, что 800 работают до падения напруги где то до 3,8-3,7 в. после абонент не абонент. Батарею емкостью 1700 мАч с 4.2 в. до 3,7 в. сжирает примерно за 10-12 часов при т около 20 градусов.
+
avatar
  • Izvorg
  • 21 декабря 2016, 10:25
0
3 день теста: от сети на м590 работает стабильно, все команды выполняются, от батарейки что 590, что 800 работают до падения напруги где то до 3,8-3,7 в. после абонент не абонент. Батарею емкостью 1700 мАч с 4.2 в. до 3,7 в. сжирает примерно за 10-12 часов при т около 20 градусов. Да еще Контроллер заряда-разряда для Li-ion аккумулятора — TP4065 у меня греется если одновременно заряжать батарею и с него же питать сигналку, сколько так протянет хз, хотя может для меня китаезы спаяли что то не так.
+
avatar
  • kvolk
  • 21 декабря 2016, 13:42
0
Чем измеряете напряжение, какой ток течёт в режиме ожидания? Что за аккумулятор, насколько он новый и чем измеряли реальную его ёмкость?
+
avatar
  • Izvorg
  • 21 декабря 2016, 14:23
0
Акум не новый но не пользованный т.е. без дела валялся долго, емкость imax-ом мерял, imax даже чуток больше номинала показал, а ток не мерял, замерю отпишусь, сейчас просто разобрал, плату делаю и в корпус пихаю. Если интересно как внешне получится могу потом фотки скинуть.
+
avatar
  • kvolk
  • 21 декабря 2016, 14:45
0
Ток в режиме ожидания у меня примерно 30-35 мА, во время отправки смс 60мА. Да, интересно.
+
avatar
  • Izvorg
  • 21 декабря 2016, 15:13
0
А как фотки вставить? Замерил ток, примерно такие же цифры.
+
avatar
  • kimber
  • 21 декабря 2016, 13:56
0
Izvorg, вы резистор R3 на плате зарядки меняли? При токе зарядки 1А нагрев может быть сильный.
+
avatar
  • Izvorg
  • 21 декабря 2016, 14:26
0
Нет не менял, пока от сети сделаю, потом ИБП займусь.
+
avatar
  • kvolk
  • 21 декабря 2016, 14:46
0
Да, резистор бы лучше заменить на 3-4 КОм.
+
avatar
  • Maksym
  • 09 января 2017, 04:04
0
TP4065 и должна греться — она ж линейный стабилизатор. Но не переживайте — в случае перегрева она сама сбросит ток до безопасного уровня.
+
avatar
  • Izvorg
  • 21 декабря 2016, 15:31
+1




+
avatar
  • kvolk
  • 21 декабря 2016, 16:14
0
Датчик движения от сигнала модема не срабатывает? Не понял, от 5 вольт модем питаете или от 4,2? Если от 4,2 — диод зашунтировали?
+
avatar
  • Izvorg
  • 21 декабря 2016, 16:22
0
Нет, датчик не срабатывает, питаю пока от 5 вольт, может поставлю ИБП, тогда так все и оставлю.
+
avatar
  • kvolk
  • 21 декабря 2016, 17:56
0
от батарейки что 590, что 800 работают до падения напруги где то до 3,8-3,7 в. после абонент не абонент.
Диод шунтируете при подключении аккумулятора, или так же цепляете вместо блока питания?
+
avatar
  • Izvorg
  • 22 декабря 2016, 09:39
0
Диод выпаивал и коротил контакты когда от батарейки подключал.
Да и по поводу пир датчика он срабатывает, сначала не заметил (оповещение по смс выключено было), когда включил смску так он гад мне 40 смсок отправил. Может как то за экранировать его можно? Думаю попробовать маленький корпус внутри для пира сделать из фольгированного текстолита, а фольгу на массу посадить или не поможет?
еще на али заказал такой модем кто нибудь сталкивался?
aliexpress.com/item/Smart-Electronics-GPRS-module-GSM-module-A6-SMS-Speech-board-wireless-data-transmission-adapter-plate/32652807004.html
+
avatar
  • kvolk
  • 22 декабря 2016, 10:05
0
Думаю попробовать маленький корпус внутри для пира сделать из фольгированного текстолита, а фольгу на массу посадить или не поможет?
Может быть поможет.
еще на али заказал такой модем
Скоро приедет, прикручу поддержку этого модема.
+
avatar
  • Aduard
  • 22 декабря 2016, 10:29
+1
У меня PIR датчик отлично работает, надо сопротивление поставить управляющий пин на GND.
+
avatar
  • kvolk
  • 22 декабря 2016, 11:03
0
Спасибо, добавил в обзор. Между GND и PIR (A0) какой номинал?
+
avatar
  • Aduard
  • 22 декабря 2016, 11:39
0
Как на герконе-10 Ком
+
avatar
  • Izvorg
  • 22 декабря 2016, 12:52
0
Впаял резистор, изменений ни каких, так же срабатывает пир при поступлении на модем сигнала.
+
avatar
  • Aduard
  • 25 декабря 2016, 00:38
0
Если нет резистора модем срабатывает даже от прикосновения и отправляет сообщение…
+
avatar
  • kvolk
  • 22 декабря 2016, 13:09
0
У меня, например, везде 20КОм, для меньшего энергопотребления.
+
avatar
  • Izvorg
  • 22 декабря 2016, 12:56
0
А на каком растоянии у вас пир находится от gsm модуля?
+
avatar
  • Aduard
  • 22 декабря 2016, 13:15
0
Как у Вас прямо над модемом.Вплотную, даже конденсаторы на датчике согнулись.
+
avatar
  • Aduard
  • 22 декабря 2016, 13:17
0
Корпус 80х80х25 мм.Питание PIR датчика 3,3 В от ардуино.
+
avatar
  • stmidoff
  • 22 декабря 2016, 14:06
0
«Aduard

Корпус 80х80х25 мм.Питание PIR датчика 3,3 В от ардуино.»

а почему питание PIR датчика всего 3.3 ??? у него по правильному 4-20 вольт… или вы все таки подключили после 7133-1 на плате PIR'а?
+
avatar
  • Aduard
  • 22 декабря 2016, 14:29
0
arduino-diy.com/arduino-piroelektricheskiy-infrakrasnyy-PIR-datchik-dvizheniya
Питание 3-9 вольт, у меня прекрасно работает от 3,3В уже несколько месяцев.Подключение к пинам датчика.
Вопрос, а для чего у Вас реле стоит?
+
avatar
  • Izvorg
  • 23 декабря 2016, 11:02
0
Релюха для подключения сирены, подключена к D5.

Используемые порты Arduino Nano v3
D4 — выход «тревожного» пина, при срабатывании датчика на этом пине устанавливается сигнал высокого уровня
D5 — инверсный выход «тревожного» пина, при срабатывании датчика на этом пине устанавливается сигнал низкого уровня
+
avatar
  • Aduard
  • 23 декабря 2016, 13:03
0
Если реле подключено, может от него идут наводки на ПИР датчик?
+
avatar
  • Izvorg
  • 23 декабря 2016, 15:08
0
попробую без него конечно, но скорее всего дело не в этом, реле срабатывает при тревоге, т.е. оно срабатывает после того как сработает пир.
+
avatar
  • Aduard
  • 23 декабря 2016, 15:38
0
Я делал умный дом на ENC28J60, так пока к реле не подключишь нагрузку работает отлично, только подсоединяешь к реле что нибудь сразу зависает интернет модуль, идут ЭМ наводки, пока не могу ничего сделать и через оптопару соединял и параллельно контактам цепочку RC — не помогает…
+
avatar
  • Izvorg
  • 23 декабря 2016, 15:52
0
Но у меня к нему пока ни чего не подключено, и питание на саму релюху не подается, наводок не должно быть, скорее наводки с gsm модуля. Хотя хз.
+
avatar
  • Aduard
  • 23 декабря 2016, 16:03
0
А у меня работает, я сначала вообще вместо геркона ставил, попробуйте запитать от 3,3В и сопротивление на землю.
+
avatar
  • Izvorg
  • 23 декабря 2016, 17:02
0
Да хочу попробовать запитать от 3,3 в., а резистор уже впаял(не помогло), но не как у вас, а возле нано. Срабатывать перестает на растоянии 10 см. от модема.
+
avatar
  • Aduard
  • 23 декабря 2016, 20:52
0
А я реле хочу поставить на пин для светодиодов и подключить электрический замок… Поэтому и спросил за реле.
+
avatar
  • Izvorg
  • 26 декабря 2016, 11:28
0
ПИР от 3,3 в. у меня отказывается работать, попробую все таки его за экранировать.
+
avatar
  • Aduard
  • 26 декабря 2016, 11:51
0
Все правильно, надо экранировать
+
avatar
  • Izvorg
  • 26 декабря 2016, 12:14
0
Бл… надоел мне этот датчик, все равно срабатывает, закажу еще один или в отдельный корпус и подальше от модема.
+
avatar
  • Aduard
  • 26 декабря 2016, 12:26
0
А чувствительность меняли?
+
avatar
  • Izvorg
  • 26 декабря 2016, 12:41
0
да, на минимуме уже стоит.
+
avatar
  • Izvorg
  • 22 декабря 2016, 13:20
0
а модем какой 590 или 800?
+
avatar
  • Aduard
  • 22 декабря 2016, 13:24
0
М590
+
avatar
  • Aduard
  • 22 декабря 2016, 15:20
0

Блок питания 15 вольт 2 ампера + Мини DC-DC понижающий преобразователь 2А mini 360 (step down), установил 4,2 вольт на модем и от этого же блока через LM7805 5 вольт на Arduino, диод не шунтировал, питание 3,3 В от ардуино на Пир датчик.
+
avatar
0
А что это за голубой провод сверху? Если выход модуля на антенну обычным проводом выведен, то тогда все понятно. Он должен быть коаксиальным RG178.
+
avatar
  • Izvorg
  • 26 декабря 2016, 10:44
0
А что понятно?
+
avatar
  • Aduard
  • 26 декабря 2016, 11:02
0
Действительно, что понятно?
+
avatar
0
Тогда антенной будет этот провод и фонить он будет во все стороны. Это же ВЧ. 900\1800.
Купите уже внешнюю антенку на SMA коннекторе и гнездо с кусочком кабеля RG316 или RG178. И будет нормуль. Типа такого aliexpress.com/item/ESP8266-serial-WIFI-wireless-transceiver-module-MT7681-3DBI-gain-antenna/32299565188.html
+
avatar
  • Aduard
  • 28 декабря 2016, 14:57
0
Спасибо, сделаем.
+
avatar
  • Izvorg
  • 28 декабря 2016, 15:03
0
Так как раз у Эдуарда с простым проводком все нормально.
+
avatar
  • kvolk
  • 22 декабря 2016, 11:25
0
Диод выпаивал...
Тогда повторюсь, чем измеряли? Модель тестера напишите.
+
avatar
  • Izvorg
  • 22 декабря 2016, 11:32
0
Вот таким, другого нет. Тоже с али заказывал.
+
avatar
  • kvolk
  • 22 декабря 2016, 13:11
0
В таком случае сомнений в верности показаний быть не может.
+
avatar
0
Здравствуййте. А можно добавить возможность подключения датчика температуры фирмы Dallas с выводом температуры по запросу и отправкой сообщения при выходе температуры за определенные рамки?
+
avatar
  • kvolk
  • 25 декабря 2016, 00:52
+1
DS18b20, как приедет — прикручу.
+
avatar
  • Aduard
  • 25 декабря 2016, 01:14
0
Ds18b20 на улицу и с показаниями отрицательной температуры, а BME280 в квартире, получится?
+
avatar
  • kvolk
  • 25 декабря 2016, 09:02
0
Как приедут датчики буду экспериментировать :)
+
avatar
0
О, респект. Пока писал свой вариант и искал идеи-наткнулся на эту статью. Думаю взять за основу скетч из этой статьи. И просьба. Можете выложить кусочек кода обработки DS18b20?
+
avatar
  • kvolk
  • 25 декабря 2016, 09:01
0
Пока ещё датчик не приехал, как приедет выложу кусок кода ответом на это сообщение.
+
avatar
0
Еще идейка. Можно завести напряжение с АКБ на вход ардуины и сообщать о состоянии АКБ при автономной работе.
+
avatar
  • kvolk
  • 26 декабря 2016, 00:28
0
Чтобы ардуина измеряла правильно, ей нужно стабильное опорное напряжение.
+
avatar
0
tl431. :)
+
avatar
0
Стабилизируем Vref= 2,5в TL431 Ну и напряжение АКБ через делитель при переходе на Питание от АКБ с подачей логического сигнала на ПИН ардуины. При напряжении например 3,5в Отправить сигнал о низком заряде и подавать питание на модем периодически. для проверки наличия команд.
+
avatar
0
А такой код обработки сигнала ПИР пойдет?


int pirPin = 7;               //контакт для подключения датчика к Arduino
int ledPin = 13;              //использование стандартного светодиода
int val = 0;                  //переменная для хранения состояния датчика

void setup() {
Serial.begin(9600);           //открыть сеанс связи з компьютером
pinMode(pirPin, INPUT);       //определить выходной контакт для датчика
pinMode(ledPin, OUTPUT);      //определить контакт со светодиодом как выход
}

void loop() {
val = digitalRead(pirPin);    //считываем состояние датчика
if (val == HIGH) {            //если есть движение
digitalWrite(ledPin, HIGH);   //включить светодиод
Serial.println("Motion!");    //передать на компьютер "Motion!"
}
else {
digitalWrite(ledPin, LOW);    //иначе выключить светодиод
Serial.println("No motion");  //и передать компьютеру "No motion"
}
delay(1000);                  //подождать секунду
}
+
avatar
  • kvolk
  • 27 декабря 2016, 23:12
0
нет
delay(1000); //подождать секунду
Зачем ждать секунду?
+
avatar
0
И нет-совсем не подойдет или лишняя только строчка с задержкой?

Ну это пример. Просто странно что у Вас к аналоговому входу подключено, когда куча цифровых.
+
avatar
  • kvolk
  • 28 декабря 2016, 09:48
0
когда куча цифровых.
Не такая уж и куча.
В данном случае аналоговый используется как цифровой.
+
avatar
0
Вот этот код вставил в функцию Detect();
// pircount — Беремиз EEPROM. Количество срабатываний
PirState = digitalRead(PirPin);
  
  if (PirState == HIGH) {
        
    PirDetectCount=PirDetectCount+1;
     if(PirDetectCount == pircount && PirFlag == 0) {
      PinDetectCount=0;
      PirFlag = 1;
      delay(100);
      if (LedOn == 1) digitalWrite(GLed, LOW);
      Alarm();
    }
       }
  if (PirState == LOW && PirFlag == 1) {  // Датчик успокоился
    PirFlag = 0;
    delay(100);
  }
+
avatar
  • kvolk
  • 28 декабря 2016, 09:53
0
В актуальной версии прошивки это выглядит так:

// ----- Проверка состояния датчика движения
void PIRDetect() {
  if (PIRGuard == 1) {
    PIRState = digitalRead(PIRPin);
    if (PIRState == HIGH && PIRFlag == 0) {
      PIRFlag = 1;
      delay(100);
      if (LedOn == 1) digitalWrite(GLed, LOW);
      Alarm(String( F ("Srabotal PIR datchik!")));
      digitalWrite(13, HIGH);
    }
    if (PIRState == LOW && PIRFlag == 1) {
      PIRFlag = 0;
      delay(100);
      digitalWrite(13, LOW);
    }
  }
}
+
avatar
0
Я решил добавить условие по количеству срабатываний. Думаете не стоит?
Добавил условие на флаг вкл/отл ПИР датчика.
if (PirState == HIGH && pirOn == 1) {


Добавил еще датчик DS18B20 и процедуру мониторинга температуры min< temp < max.
Добавил вывод температуры по запросу «Info».


...
#include <OneWire.h>
#include <MsTimer2.h>
...
#define POWER_MODE  0 // режим питания, 0 - внешнее, 1 - паразитное
#define MEASURE_PERIOD 500  // время измерения, * 2 мс
...
boolean TempFlag = 1;
...
boolean tempOn = 1; // Тревога по датчику температуры вкл=1/выкл=0
...
uint8_t timeCount;     // счетчик времени измерения
boolean DSReadyFlag;  // признак готовности данных с датчика
byte bufData[9];  // буфер данных
float temperature;  // измеренная температура
float tempMin;
float tempMax;
...
OneWire sensDs (14);  // датчик подключен к выводу 14
...
void setup() {
...
  MsTimer2::set(2, getTemp); // задаем период прерывания по таймеру 2 мс 
  MsTimer2::start();               // разрешаем прерывание по таймеру
}
...
void loop() {
...
 if ( DSReadyFlag == true ) {
    DSReadyFlag = false;
    // данные готовы
    if ( OneWire::crc8(bufData, 8) == bufData[8] ) {  // проверка CRC
      // данные правильные
      temperature=(float)((int)bufData[0] | (((int)bufData[1]) << 8)) * 0.0625 + 0.03125; 
    }
 }
}
...
void eepromconfig() {
...
    EEPROM.update(15, 3);  // 3 повторных срабатывания.
    EEPROM.update(16,1); //  ПИР датчик Вкл. = 1 
    EEPROM.update(17,0); // Тревога по температуре
    EEPROM.update(18,30); // Нижняя граница 30 градусов
    EEPROM.update(19,90); // Верхняя граница температуры 90 градусов
...
}
 if  (EEPROM.read(0) == 1) {
...
pircount = EEPROM.read(15); // Количество сигналов от Пир. В минуту.
    pirOn = EEPROM.read(16); //  ПИР датчик вкл/выкл.
    tempOn = EEPROM.read(17);
    tempMin=EEPROM.read(18);
    tempMax=EEPROM.read(19);
...
void Detect() {
...
if (temperature < tempMin || temperature > tempMax && TempFlag == 0 && tempOn == 1){
    TempFlag=1;
    delay(100);
    }
  if (temperature > tempMin && temperature < tempMax && TempFlag == 1) {  
    TempFlag = 0;
    delay(100);
  }   
...
void Alarm() {
...
if (TempFlag == 1) {
        sms(String("Temperatura vyshla za granicy - " + String(temperature)), String("+" + String(AlarmPhone[i])));
      }
...
if (AlarmRing == 1 && TempFlag !=1) { // По температуре не звоним, только СМС.
      mySerial.println("ATD+" + String(AlarmPhone[0]) + ";");
      delay(1000);
    }
...
void  getTemp() {
    // управление датчиком DS18B20 паралллельным процессом
  timeCount++; if ( timeCount >= MEASURE_PERIOD ) { timeCount=0; DSReadyFlag=true; } 
  if (timeCount == 0) sensDs.reset();  // сброс шины   
  if (timeCount == 1) sensDs.write(0xCC, POWER_MODE); // пропуск ROM
  if (timeCount == 2) sensDs.write(0x44, POWER_MODE); // инициализация измерения
  if (timeCount == 480) sensDs.reset();  // сброс шины
  if (timeCount == 481) sensDs.write(0xCC, POWER_MODE); // пропуск ROM  
  if (timeCount == 482) sensDs.write(0xBE, POWER_MODE); // команда чтения памяти датчика 
  if (timeCount == 483 ) bufData[0]= sensDs.read();  // чтение памяти датчика
  if (timeCount == 484 ) bufData[1]= sensDs.read();  // чтение памяти датчика
  if (timeCount == 485 ) bufData[2]= sensDs.read();  // чтение памяти датчика
  if (timeCount == 486 ) bufData[3]= sensDs.read();  // чтение памяти датчика
  if (timeCount == 487 ) bufData[4]= sensDs.read();  // чтение памяти датчика
  if (timeCount == 488 ) bufData[5]= sensDs.read();  // чтение памяти датчика
  if (timeCount == 489 ) bufData[6]= sensDs.read();  // чтение памяти датчика
  if (timeCount == 490 ) bufData[7]= sensDs.read();  // чтение памяти датчика
  if (timeCount == 491 ) bufData[8]= sensDs.read();  // чтение памяти датчика     
}
+
avatar
0
Очень интересно как у Вас реализована запись телефонов в память.
+
avatar
  • kvolk
  • 29 декабря 2016, 20:29
0
Разметка памяти, выделено по 20 ячеек для каждого номера, eeprom.put — запись, eeprom.get — чтение.
+
avatar
0
А по 12 же тоже хватит? Я хотел структуру задать с данными номера. Сам номер, тип (мастер-обычный) и активный\неактивный. Потом создать массив этих объектов на 5 номеров. Больше думаю не имеет смысла.

struct Phone{
  String number;
  boolean call;
  boolean sms;
  boolean en;
};

Phone Allow[5]; // Тел номер.
+
avatar
  • kvolk
  • 30 декабря 2016, 08:18
0
А по 12 же тоже хватит?
Еепрома жалко? Номер около 16 символов макимальный.
Да, наверное, 5 это оптимально, но пока память позволяет оставлю 10.
Зачем заносить неактивные номера? У меня это тоже присутствует, но практического применения не нашёл. Зачем «местный-обычный» если есть полный федеральный?
+
avatar
0
А как из данных модема номер звонящего выдернуть?
+
avatar
0
+CLIP: 
а дальше прибавляем к индексу 6 и извлекаем substring длиной 11 символов?
+
avatar
  • kvolk
  • 30 декабря 2016, 08:16
0
Почему 6, почему 11? В украинских номерах символов-то больше будет.
+
avatar
0
+
avatar
  • kvolk
  • 30 декабря 2016, 08:38
0
Сколько памяти занимает, озу и флэш?
+
avatar
  • kvolk
  • 30 декабря 2016, 10:16
0
Скетч использует 18 336 байт (59%) памяти устройства. Всего доступно 30 720 байт.
Глобальные переменные используют 1 313 байт (64%) динамической памяти, оставляя 735 байт для локальных переменных. Максимум: 2 048 байт.
Как только динамической памяти будет использовано больше 75%, правильно обрабатывать смс команды ардуина уже не сможет.
+
avatar
  • kvolk
  • 30 декабря 2016, 10:11
0
if ((val.indexOf("addphone:") > -1)) {
    addphone(val.substring(25, 26).toInt(), val.substring(9, 20), val.substring(21, 22), val.substring(23, 24));
  }

Как быть с украинскими номерами?
+
avatar
0
На украину не расчитывал… учту.

Осталось понять как всетаки вытащить номер. Понятно что он в кавычках, но как его достать…
+
avatar
  • kvolk
  • 30 декабря 2016, 15:35
0
Осталось понять как всетаки вытащить номер.
Может быть убрать всё возможное (известное) лишнее, и оставить только номер? :)
+
avatar
  • kvolk
  • 30 декабря 2016, 10:34
0
зачем AllowPhone, AlarmPhone если есть структура? Какой-то гибрид получатся массивно-структурный.
+
avatar
  • kvolk
  • 30 декабря 2016, 10:36
0
зачем AllowPhone, AlarmPhone если есть структура?
eeAddress = 30 + sizeof(Phone) * 5;
BalanceNumber = "#102#";
EEPROM.update(eeAddress, BalanceNumber[0]);
EEPROM.update(eeAddress+1, BalanceNumber[1]);
EEPROM.update(eeAddress+2, BalanceNumber[2]);
EEPROM.update(eeAddress+3, BalanceNumber[3]);
EEPROM.update(eeAddress+4, BalanceNumber[4]);
А если BalanceNumber = "#10201#" — как быть в таком случае?
+
avatar
0
Тут поправил: EEPROM.put(eeAddress, BalanceNumber); n/t теперь пофиг какой он длины. Он все равно последний.
+
avatar
  • kvolk
  • 30 декабря 2016, 15:27
0
Ага, пофиг, а читать как из еепрома если пофиг какой он длины :)
+
avatar
0
А так после него нет ничего. Гетом и считывать.
+
avatar
  • kvolk
  • 30 декабря 2016, 10:40
0
зачем AllowPhone, AlarmPhone если есть структура?
eeAddress = 30 + sizeof(Phone) * 5;
BalanceNumber = "#102#";
EEPROM.update(eeAddress, BalanceNumber[0]);
EEPROM.update(eeAddress+1, BalanceNumber[1]);
EEPROM.update(eeAddress+2, BalanceNumber[2]);
EEPROM.update(eeAddress+3, BalanceNumber[3]);
EEPROM.update(eeAddress+4, BalanceNumber[4]);
А если BalanceNumber = "#10201#" — как быть в таком случае?

Вот это
Serial.println("TempOn=false");
аналогично этому
Serial.println( F ("TempOn=false"));
только во втором случае используется Flash память для хранения константы «TempOn=false», что очень экономит ОЗУ.
+
avatar
0
Походу придется с нуля переписывать. Это будет проще чем переделывать. Да и проще прошивку под конкретный модем сделать будет я думаю.

На сколько мне известно — константы хранятся не в ОЗУ.
+
avatar
  • kvolk
  • 30 декабря 2016, 15:32
0
На сколько мне известно — константы хранятся не в ОЗУ.
И ещё раз:
«TempOn=false» хранится в динамической памяти
Serial.println("TempOn=false"); 


«TempOn=false» хранится в памяти устройства
Serial.println( F ("TempOn=false")); 
+
avatar
0
Попробую. Спасибо.
+
avatar
0
Короче. Пошёл я сопромат учить иначе удачи не видать. Подождем готового.
+
avatar
0
Сколько стоит скетч актуальной версии?
+
avatar
  • kvolk
  • 31 декабря 2016, 02:48
0
Зачем вам актуальный скетч? Ведь завтра он будет уже не актуален. Берите хекс и пользуйтесь.
+
avatar
0
У меня сложность с тем как реализовать запись номеров через СМС в EEPROM. 2 датчика температуры я уже прикрутил. К ним добавить запись настроек несложно там разные ячейки.
+
avatar
0
Если он будет неактуален, то почему бы его в открытый доступ не выложить?
+
avatar
  • kvolk
  • 01 января 2017, 21:33
0
+
avatar
0
Хочется же поучаствовать в разработке, а так только тестирование получается.
+
avatar
0
При первом звонке номер так выковыривается?

AllowPhone[0]=val.substring(val.indexOf(":")+1,val.indexOf(",")-1)
+
avatar
  • kvolk
  • 31 декабря 2016, 02:45
0
Да, что-то подобное.
+
avatar
0
Собираю потихоньку железо.
+
avatar
  • kvolk
  • 03 января 2017, 23:25
+1
GSM_2017_01_03-22-51.hex — Реализована поддержка модулей расширителя портов ввода/вывода на чипе PCF8574, для подключения дополнительных 8 датчиков. Автоматический поиск адреса и автоматическая настройка модуля. Имеется возможность изменить стандартные названия датчиков подключенные к расширителю и логический уровень срабатывания датчика, для подключения цифровых датчиков на выходе которых высокий либо низкий логический уровень.
Изменены содержания тревожных смс для основного датчика «Alarm! Main sensor!» и датчика движения «Alarm! PIR sensor!».
Добавлены команды EditSensor и I2CScan. Занято: 66% SRAM, 92% Flash Memory.
+
avatar
0
Для arduino leonardo подойдет?
+
avatar
  • kvolk
  • 05 января 2017, 23:15
0
Вероятность очень высока.
+
avatar
0


Некоторые пины надо править. Ну и прошить я думаю хексом не получится. Либо по SPI цепляться прогером.
+
avatar
  • kvolk
  • 06 января 2017, 02:43
0
Если уж так припекло, продайте свою Леонарду за половину стоимости и купите две «ардуиноблиатьнано». А если уж так хочется проявить себя, то вместо картины из инернетов покажите что либо подобное только в своём исполнении.


ЗЫ. Не получается шиться хексом, берите старую прошивку, только не забудьте после этого тщательно обработать напильником.
+
avatar
0
Я же Вам уже скидывал весь скетч. Нашли кучу замечаний, исправляю. А леонарду мне вместо 328 принес товарищь. Кстати у него питание от (2,7в до 5,5в) Он заказал и не посмотрел что заказал ибо вообще не шарит. Мои 2 шт 328 Pro mini еще едут. Была от него еще 168 Pro mini, но в ней памяти мало, пришлось из нее сделать контроллер точечной сварки для аккумуляторов и отдать товарищу. Так что отлаживать не на чем мне пока код. В протосе глючат модели DS18B20 никак победить не могу. Да и монитор порта там непонятный какой-то. Реальный DS18B20 и модем 950 в наличии есть. Как приедут, буду собирать в кучку и отлаживать. И еще по леонардо я пока не разобрался. Если я повешу HC-05 на аппаратный UART то смогу ли я прошить по BT его или нет. PRO mini я точно знаю шьется и монитор порта в добавок получается беспроводной и Пин код можно менять модуля программно, только 1 ногу контроллера задействовать для ввода модуля в сервисный режим.

Вот такую схемку можно добавить для контроля зависания и принудительного сброса. www.qrz.ru/schemes/contribute/icenet/SC/sc000060.shtml

Дергать пин по таймеру например 1раз в секунду.
+
avatar
0


Пробую потихоньку на том что есть отладить.
+
avatar
  • kvolk
  • 07 января 2017, 00:00
0
Что отладить? Я не совсем Вас понимаю.
+
avatar
0
Скетч, созданный на основе Вашего.
+
avatar
  • kvolk
  • 17 января 2017, 15:20
0
Уже 100% не пойдёт, памяти у leonardo меньше чем у nano v3.
+
avatar
  • Izvorg
  • 09 января 2017, 09:12
0
kvolk, а можно схему подключения к новой прошивке, как подключать датчики к PCF8574, и нужно ли ставить резисторы
+
avatar
  • kvolk
  • 09 января 2017, 10:30
0
Без резисторов.
Геркон — с одной стороны к пину с другой к +5B
EditSensor:2+Gerkon na okne
Сработает как только пропадёт +5В на пине PCF8574.

Если нужно чтобы сработало после появления на пине +5В, то
EditSensor:3+Kakoi-to datchik#H
+
avatar
  • Izvorg
  • 09 января 2017, 11:48
0
Списибо
+
avatar
0
Не пробовали задействовать выход прерывания микросхемы расширения портов?
+
avatar
  • kvolk
  • 31 января 2017, 23:50
0
Какой смысл?
+
avatar
0
Убрать сканирование датчиков. Событие случилось-плата сама создаст прерывание.
+
avatar
  • kvolk
  • 01 февраля 2017, 21:14
0
Хорошо, получили прерывание, а что дальше делаем?
+
avatar
0
Тогда и обрабатываем. Предлагаю еще избавиться от переменных для хранения параметров. Читать и писать напрямую в ЕЕПРОМ. Можно еще место съэкономить.
P.S.Понятно что например переменную хранящую количество номеров придется оставить.
Если бы скинул последний скетч в ЛС было бы проще.
+
avatar
  • kvolk
  • 04 февраля 2017, 10:26
0
Тогда и обрабатываем.
Так мы их и так обрабатываем, зачем нам использовать прерывание, при этом придётся задействовать ещё один цифровой пин D2 или D3. Зачем?!
избавиться от переменных

Считаем количество переменных, их 7. Следовательно высвободим 7 байт, это спасёт ситуацию?
Понятно что например переменную хранящую количество номеров придется оставить.
Не понятно, переменной хранящей количество номеров не существует.
Если бы скинул последний скетч в ЛС было бы проще.
решить эту проблему:
Я не могу реализавать дистанционную запись номеров и запоминание первого номера.
Извините, но не вижу смысла скидывать скетч.
+
avatar
  • iwizard
  • 08 января 2017, 13:04
0
Добрый день, подскажите пожалуйста. Есть arduino nano, модем 590, все собрал как у вас показано, все вроде работает, телефон заносит в eeprom, смс-ответы на команды шлет, баланс проверяет а вот на геркон (ну или же простое замыкание проводом) реакции вообще никакой. Думал проблемы с портом D6, залил стандартный скетч из Arduino IDE для проверки (StageChangeDetection) скетч прекрасно отрабатывает. Подскажите что можно проверить? На всякий случай прикладываю лог.

Arduino GSM Alarm 17.01

The system is started, initialization parameters.
.................................................

Read configuration eepromconfig:
SendSms: 1
AlarmRing: 1
LedTestOn: 0
LedOn: 1
Guard: 1
PauseTime: 15
AlarmInterval: 60
PIRGuard: 0

Read array phone:
1 -> 7923008NNNN -> 1 -> 1
2 ->  -> 0 -> 0
3 ->  -> 0 -> 0
4 ->  -> 0 -> 0
5 ->  -> 0 -> 0
6 ->  -> 0 -> 0
7 ->  -> 0 -> 0
8 ->  -> 0 -> 0
9 ->  -> 0 -> 0
10 ->  -> 0 -> 0

The number of balance inquiry: #105#
Length of characters to return: 17

No I2C devices found

Start working.
System -> Guard on


MODEM:STARTUP


+PBREADY

AT+CLIP=1

OK
AT+CMGF=1

OK
AT+CSCS="GSM"

OK
AT+CNMI=2,2

OK
ATE1

OK

Deleting eepromconfig data.
Restore default eepromconfig data.

AlarmInterval is updated: 60

Read configuration eepromconfig:
SendSms: 1
AlarmRing: 1
LedTestOn: 0
LedOn: 1
Guard: 1
PauseTime: 15
AlarmInterval: 60
PIRGuard: 0

Deleting phone data.
Restore default phone data.

Read array phone:
1 ->  -> 0 -> 0
2 ->  -> 0 -> 0
3 ->  -> 0 -> 0
4 ->  -> 0 -> 0
5 ->  -> 0 -> 0
6 ->  -> 0 -> 0
7 ->  -> 0 -> 0
8 ->  -> 0 -> 0
9 ->  -> 0 -> 0
10 ->  -> 0 -> 0

Deleting balance data.
Restore default balance data.

The number of balance inquiry: #100#
Length of characters to return: 22

fullreset

ERROR


RING

+CLIP: "7923008NNNN",145,,,"",0

Ring from : +7923008NNNN
Added primary phone: +7923008NNNN

Guard Off. Phone +7923008NNNN
Sent! +7923008NNNN -> Guard Off. Phone +7923008NNNN
ATH0

OK
AT+CMGS="+7923008NNNN"

> ]X.z™™¹ Phone +7923008NNNN
+CMGS: 60

OK


RING

+CLIP: "7923008NNNN",145,,,"",0

Ring from : +7923008NNNN
The primary phone number already added.

Guard On. Phone +7923008NNNN
Sent! +7923008NNNN -> Guard On. Phone +7923008NNNN
ATH0

OK
AT+CMGS="+7923008NNNN"

> Cuard On. Phone +7923008NNNN
+CMGS: 61

OK

+
avatar
  • kvolk
  • 08 января 2017, 13:26
0
Прошейте ардуину, отключите все «обвесы», должна быть голая ардуина + USB кабель в компьютер и пальцем «потыкайте» в пин D6. В консоли должны увидеть такие строки:
Alarm! Main sensor!
Sent! +7xxxxxxxx -> Alarm! Main sensor!
Ардуина мониторит низкий логический уровень на D6. В нормальном состоянии, когда дверь закрыта(геркон замкнут) на D6 должно быть +5В. Как только +5В пропадёт на этом пине ардуина отправляет смс.

ЗЫ «Много текста» убирайте под спойлер :)
+
avatar
  • iwizard
  • 08 января 2017, 14:26
0
Сейчас обвязку отпаиваю но с ней все так как вы сказали, если замыкаю цепь которая вместо геркона на D6 появляется 5в, если размыкаю пропадает, но ардуина не реагирует и аларм не пишет
+
avatar
  • iwizard
  • 08 января 2017, 15:09
0
Похоже сдохла у меня ардуина, но как то сдохла странно, все работает нормально но не на один порт цифровой не реагирует, залил сейчас хекс на уно, там все работает.
+
avatar
  • kvolk
  • 08 января 2017, 17:31
0
Сожгли. :(
+
avatar
  • Maksym
  • 08 января 2017, 22:38
0
Вот! Кстати меня уже пару дней мучает вопрос — а как не сжечь? У меня может один геркон быть вынесен метров за 10 от ардуины, под открытым небом провод, гроза, все дела… Как бы развязать датчик от нежных портов контроллера? Вот пока не придумается развязка я его не смогу этот датчик поставить, т.к. с большой долей вероятности вылетит или порт или весь МК целиком при первой же грозе.
+
avatar
  • kvolk
  • 09 января 2017, 13:33
0
пока не придумается развязка
Всё просто.
+
avatar
  • Maksym
  • 09 января 2017, 14:27
0
Это первое что пришло на ум. Но нужен второй блок питания :(. Или может и от одного аккумулятора получится запитать… но по земле будет связь все-равно. Впрочем я тут подумал — 5-вольтовых БП бесхозных имеется в ассортименте :).Так что не все так страшно. И, похоже, одним источником питания в любом случае не обойтись.
+
avatar
  • kvolk
  • 09 января 2017, 15:54
0
Земля и питание от зарядки, развязка одной линии через оптрон.

Геркон поставить после R1.
+
avatar
0
Просто нужен трансформатор с 2 обмотками вторичными по 5в в БП и 2 выпрямителя или отдельный БП для питания именно сигнальной цепи. Но тогда например при пропадании питания сигнальная цепь либо даст ложное срабатывание, либо не сработает. Зависит от того на какое событие настроено. Можно на сигнальную цепь поставить отдельный 18650 с платой заряда и защиты и питать от отдельного БП.
+
avatar
  • Maksym
  • 10 января 2017, 01:46
+2
Учитывая наличие и стоимость понижаек сетевых до 5 В разнообразных — мотать две обмотки не имеет смысла. Остается просто использовать 2 БП сетевых и резервирование аккумулятором.
+
avatar
0
У меня например БП самопал. Так что матнуть 4 витка ещё одной обмотки вообще не проблема.
+
avatar
  • pixel28
  • 09 января 2017, 13:34
0
У меня модем SIM800L. Отказывается работать. В монитор порта при включении сигнализации пишет:

R14.18

OK
AT+CLIP=1

OK
AT+CMGF=1

ERROR
AT+CSCS=«GSM»

ERROR
AT+CNMI=2,2

ERROR
Собственно звонки не принимает, смс не принимает. Может ему тоже требуется первоначальная настройка?
+
avatar
  • kvolk
  • 09 января 2017, 13:55
0
Видимо в модеме ревизии R14.18 не