Бюджетная GSM сигнализация с мозгами из Arduino
- Цена: $2,21
- Перейти в магазин
Добрый день! Опять мультиобзор китайских электронных компонентов, как обычно обо всём понемногу, постараюсь покороче, но получится ли? Итак, встречайте, GSM сигнализация стоимостью до 700 ₽. Интересно? Прошу под «cut»!
Приступим! Перед началом рекомендую заглянуть в этот обзор, меньше компонентов и большая автономность. Итак, «техзадание», основные требования к сигнализации:
1) Оповещать при срабатывании датчиков.
2) В случае отключения питания должна быть предусмотрена некоторая автономность.
3) Управление сигнализацией через sms и звонки.
Из-за того, что процесс создания сигнализации затянулся на несколько месяцев и некоторые продавцы уже не продают те компоненты которые были у них куплены, ссылки будут актуализированы на товары других продавцов у которых максимальное или приближенное к максимальному число продаж товара и лучшая цена. Цены в обзоре актуальны на дату его написания.
Перечень того что понадобится:
1. «Герой обзора» — Arduino Nano v3 — 150 ₽.
2. GSM Модуль — M590e — 110 ₽.
3. Повышающий DC преобразователь — MT3608 — 35 ₽.
4. Контроллер заряда-разряда для Li-ion аккумулятора — TP4065 — 25 ₽.
5. Разъём для подключения питания — XT60 — 2 шт * 25 ₽ = 50 ₽.
6. Светодиод RGB с общим анодом — 1шт * 5 ₽.
7. Диоды E027 — 2 шт * 1 ₽ = 2 ₽.
8. Герконовый датчик — 70 ₽.
9. Резисторы 10 кОм — 10 ₽.
10. Выключатель — 15 ₽.
11. Разъём для подключения датчика — JST SM — 10 ₽.
12. 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, для этого в консоли вводим команду:
Закрываем программу и подключаемся снова, указываем номер порта и скорость уже 9600.
Если выполнить команду
На этом настройка модема завершена.
Для питания от сети используем 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) необходимо внести изменения
было так:
стало так:
Неактуальная версия прошивки сигнализации.
Актуальная версия прошивки сигнализации. Реализовано полное управление устройством через смс — сообщения.
Программное обеспечение для прошивки Arduino Nano берём тут.
Прошивку в виде hex — файла берём тут или на гитхабе.
UPD. При использовании датчика движения, для исключения ложных срабатываний при работе модема, необходимо между пинами GND и A0 Arduino поставить сопротивление, спасибо говорим товарищу Aduard, подробнее читаем тут.
UPD. За полное решение этой проблемы говорим спасибо товарищу Pavel1980, читаем тут и смотрим сюда.
UPD. Если от модема в консоль «сыпется мусор» при выполнении команды запроса баланса «Money» — читаем тут, тут и тут. С большой долей вероятности причина вмодеме, он глючный схеме согласования уровней ардуины и модема, если схема согласования отсутствует, то проблема в модеме.
UPD. Реализация устройства от hawk23.
Световая индикация:
Светодиод светится красным цветом — поставлено на охрану.
Светодиод светится зелёным цветом — снято с охраны, включается/отключается sms-командой LedOn/LedOff.
Светодиод постоянно мигает синим цветом — сигнализирует о том что c Arduino всё в порядке, плата не зависла, используется исключительно для отладки, включается/отключается sms-командой TestOn/TestOff.
* В коде присутствует функция LedTest(), она мигает синим светодиодом, сделана лишь для того чтобы мониторить Arduino, мигает — значит работает, не мигает — зависла. Пока ещё не зависала :)
Аппаратные баги
Если устройство зависает при отключении питания, смотрим сюда, полное обсуждение тут.
Если устройство «не понимает» смс команды, читать тут.
И ещё кое что:
1. Диоды лучше использовать рассчитанные на ток 2 А, так как модуль заражает током в 1 А и нам ещё нужно чем то питать Arduino и модем. В этом экземпляре используются диоды 1N4007, если выйдут из строя заменю на 2 А.
2. Все резисторы для светодиода использовал на 20 кОм, для того чтобы ночью не освещать весь коридор.
3. На герконовый датчик между пином GND и пином D6 так же повесил резистор на 20 кОм.
На этом пока всё. Спасибо за внимание! :)
Приступим! Перед началом рекомендую заглянуть в этот обзор, меньше компонентов и большая автономность. Итак, «техзадание», основные требования к сигнализации:
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;
Скетч от 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 файл
— выбираем тип 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.
*Последующие версии прошивок включают в себя изменения предыдущих версий.
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» так же сообщается состояние датчика движения.
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 — Теперь запрос баланса должен работать корректно на всех модемах. Постановка и снятие с охраны внешними устройствами теперь работает правильно.
GSM_2017_04_24-13-22.hex — Теперь передача консольных команд в GSM модуль производится только если включен тестовый режим. Теперь нет разделения на смс команды и консольные команды, все существующие команды можно передавать как через смс, так и через консоль.
GSM_2017_04_25-20-54.hex — Исправлен баг при котором команда ListConfig меняла значение последнего события. Теперь при вводе команд через косоль не отправляются ненужные смс сообщения.
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 датчиков.
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. Т.е. кто первый позвонил на устройство после его сброска на заводские установки тот и и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс. Возможно добавить два одинаковых номера, но тогда у номера дубликата автоматически остаётся только признак «r» — исключительно для повторного голосового вызова.
Пример команды:
До версии GSM_2017_05_26-20-22.hex:
Начиная с версии GSM_2017_05_26-20-22.hex:
DeletePhone — Удалить номер телефона.
Пример команды:
EditMainPhone — Изменить параметры «s», «r», «p», «i» основного телефона, этот номер занесён в первую ячейку памяти.
Пример команды:
BalanceNum — Изменение номера запроса баланса и обработка длины ответа запроса. Значение по умолчанию для Beeline: #100#L22.
Пример команды:
EditSensor — Изменить название датчика и логический уровень срабатывания. Всего может быть не более 8 дополнительных датчиков. После изменения параметров необходима перезагрузка устройства.
Пример команды:
SleepTime — Время «засыпания» сигнализации при получении смс — команды «Pause», указывается в минутах. Значение по умолчанию: 15, не может быть менее 1 и более 60.
Пример команды:
AlarmPinTime — Время на которое включается/выключается тревожный/инверсный пин, указывается в секундах. Значение по умолчанию: 60, не может быть менее 1 секунды и более 43200 секунд (12 часов).
Пример команды:
DelayBeforeGuard — Время до постановки устройства на охрану, после получения соответствующей команды.
Пример команды:
DelayBeforeAlarm — Время по истечении которого будет отправлено «тревожное» смс уведомление, если за этот период времени сигнализация не была снята с охраны. Заменена расширенными командами начиная с версии GSM_2017_08_10-12-17.hex
Пример команды:
WatchPowerTime — Время в минутах по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Если внешнее питание будет восстановлено до истечения установленного времени, то сообщение не будет отправлено.
Пример команды:
RingTime — Длительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд.
Пример команды:
ModemID — Принудительная установка модели используемого модема. Возможные значения: 0 — автоопределение модема, 1 — M590, 2 — SIM800l, 3 — A6_Mini.
Пример команды:
ExtDeviceTime — Количество секунд на которое изменится уровень сигнала на выходе управления внешним устройством.
Пример команды:
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 — вывод в монитор порта текущей конфигурации датчиков.
SMS — команды управления не чувствительны к регистру:
AddPhone — Добавить номер телефона. Всего может быть добавлено не более 9 номеров + 1 основной номер который автоматически сохраняется в память при первом звонке на устройство после сброса на заводские установки командами ResetPhone или FullReset. Т.е. кто первый позвонил на устройство после его сброска на заводские установки тот и и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс. Возможно добавить два одинаковых номера, но тогда у номера дубликата автоматически остаётся только признак «r» — исключительно для повторного голосового вызова.
Пример команды:
До версии 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» телефон заносится в память, но никак не используется.
: — разделитель
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 — номер телефона
: — разделитель
+71234567891 — номер телефона
EditMainPhone — Изменить параметры «s», «r», «p», «i» основного телефона, этот номер занесён в первую ячейку памяти.
Пример команды:
EditMainPhone:spri
Синтаксис команды:
EditMainPhone — команда
: — разделитель
srpi — параметры
: — разделитель
srpi — параметры
BalanceNum — Изменение номера запроса баланса и обработка длины ответа запроса. Значение по умолчанию для Beeline: #100#L22.
Пример команды:
BalanceNum:#103#L24
Синтаксис команды:
BalanceNum — команда
: — разделитель
#103# — номер запроса баланса
L24 — Длина (len) пересылаемого ответа 24 символа, обрезаем спам из запроса баланса.
: — разделитель
#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", сигнализация будет срабатывать при получении с датчика низкого логического уровня.
: — разделитель
1 — записать в первую ячейку памяти
+ — разделитель
Datchik dvizheniya v koridore — название датчика, не может превышать 36 символов, включая пробелы.
#h — Признак высокого логического уровня с датчика, при получении которого сработает сигнализация. Если отсутствует "#h", сигнализация будет срабатывать при получении с датчика низкого логического уровня.
SleepTime — Время «засыпания» сигнализации при получении смс — команды «Pause», указывается в минутах. Значение по умолчанию: 15, не может быть менее 1 и более 60.
Пример команды:
SleepTime:20
Синтаксис команды:
SleepTime — команда
: — разделитель
20 — 20 минут «сна».
: — разделитель
20 — 20 минут «сна».
AlarmPinTime — Время на которое включается/выключается тревожный/инверсный пин, указывается в секундах. Значение по умолчанию: 60, не может быть менее 1 секунды и более 43200 секунд (12 часов).
Пример команды:
AlarmPinTime:30
Синтаксис команды:
AlarmPinTime — команда
: — разделитель
30 — 30 секунд включения/выключения тревожного пина.
: — разделитель
30 — 30 секунд включения/выключения тревожного пина.
DelayBeforeGuard — Время до постановки устройства на охрану, после получения соответствующей команды.
Пример команды:
DelayBeforeGuard:25
Синтаксис команды:
DelayBeforeGuard — команда
: — разделитель
25 — 25 секунд до постановки на охрану
: — разделитель
25 — 25 секунд до постановки на охрану
Пример команды:
DelayBeforeAlarm:40
Синтаксис команды:
DelayBeforeAlarm — команда
: — разделитель
40 — 40 секунд до отправки «тревожного» уведомления
: — разделитель
40 — 40 секунд до отправки «тревожного» уведомления
WatchPowerTime — Время в минутах по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Если внешнее питание будет восстановлено до истечения установленного времени, то сообщение не будет отправлено.
Пример команды:
WatchPowerTime:5
Синтаксис команды:
WatchPowerTime — команда
: — разделитель
5 — 5 минут до отправки смс сообщения
: — разделитель
5 — 5 минут до отправки смс сообщения
RingTime — Длительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд.
Пример команды:
RingTime:40
Синтаксис команды:
RingTime — команда
: — разделитель
40 — 40 длительность вызова составит 40 секунд, после чего будет вызван следующий абонент.
: — разделитель
40 — 40 длительность вызова составит 40 секунд, после чего будет вызван следующий абонент.
ModemID — Принудительная установка модели используемого модема. Возможные значения: 0 — автоопределение модема, 1 — M590, 2 — SIM800l, 3 — A6_Mini.
Пример команды:
ModemID:2
Синтаксис команды:
ModemID — команда
: — разделитель
2 — ID модема.
: — разделитель
2 — ID модема.
ExtDeviceTime — Количество секунд на которое изменится уровень сигнала на выходе управления внешним устройством.
Пример команды:
ExtDeviceTime:5
Синтаксис команды:
ExtDeviceTime- команда
: — разделитель
5 — 5 секунд
: — разделитель
5 — 5 секунд
ExtDeviceLevelLow — Внешнее устройство подключенное к выходу A3 управляется низким уровнем сигнала (GND). На выходе по умолчанию будет присутствовать высокий уровень +5В, пока не поступит команда управления внешним устройством
ExtDeviceLevelHigh — Внешнее устройство подключенное к выходу A3 управляется высоким уровнем сигнала (+5V). На выходе по умолчанию будет присутствовать низкий уровень GND, пока не поступит команда управления внешним устройством
ResetSensor — сброс параметров датчиков расширителя порта
ResetConfig — сброс настроек на заводские установки
ResetPhone — удаление из памяти всех телефонных номеров
FullReset — сброс настроек, удаление из памяти всех телефонных номеров, восстановление значения по умолчанию команды BalanceNum.
PIROn — включить обработку датчика движения
PIROff — выключить обработку датчика движения
ReedSwitchOn — включить обработку основного герконового датчика
ReedSwitchOff — выключить обработку основного герконового датчика
WatchPowerOn1 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что сигнализация поставлена на охрану.
WatchPowerOn2 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания в любом случае будет отправлено
WatchPowerOff — выключить контроль внешнего питания
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
GuardButtonOn1 — аналогична sms-команде GuardButtonOn1
GuardButtonOn2 — аналогична sms-команде GuardButtonOn2
GuardButtonOff — аналогична sms-команде GuardButtonOff
Memtest — тест энергонезависимой памяти устройства, все настройки устройства будут сброшены, аналогично команде FullReset.
I2CScan — поиск и инициализация поддерживаемых устройств на шине I2C.
ListConfig — вывод в монитор порта текущей конфигурации устройства.
ListSensor — вывод в монитор порта текущей конфигурации датчиков.
UPD. При использовании датчика движения, для исключения ложных срабатываний при работе модема, необходимо между пинами GND и A0 Arduino поставить сопротивление, спасибо говорим товарищу Aduard, подробнее читаем тут.
UPD. За полное решение этой проблемы говорим спасибо товарищу Pavel1980, читаем тут и смотрим сюда.
UPD. Если от модема в консоль «сыпется мусор» при выполнении команды запроса баланса «Money» — читаем тут, тут и тут. С большой долей вероятности причина в
UPD. Реализация устройства от hawk23.
Не актуально!
Как этим пользоваться?! (касается только этой прошивки sketch_02_12_2016.ino, для актуальной прошивки смотрите смс и консольные команды)
Сигнализация управляется через звонки и sms-сообщения с разрешенных номеров перечисленных в массиве AllowPhone[], после первого «гудка» модем «вешает трубку».
AllowPhone[] = {«70001234501», «70001234502», «70001234503», «70001234504», «70001234505»} — Номера которым разрешено управлять охраной.
AlarmPhone[] = {«70001234501», «70001234502»} — Номера для отправки sms-уведомлений при срабатывании датчика и уведомления о снятии или постановке на охрану. На первый номер в списке будет осуществляться вызов при срабатывании датчика если выполнена команда RingOn, по-умолчанию эта опция включена. Это сделано потому что sms-сообщения могут прийти с некоторой задержкой, а звонок должен пройти сразу.
Если поступил вызов с разрешенного номера или sms-сообщение с командой GuardOn/GuardOff, то в зависимости от текущего состояния охраны будет отправлено sms-сообщение о постановке или снятии с охраны на номера перечисленные в массиве AlarmPhone[], так же будет отправлено sms-сообщение на номер с которого поступил вызов.
При срабатывании датчика отправляются sms-сообщения на все номера из массива (списка) AlarmPhone[] и осуществится голосовой вызов на первый номер из этого массива.
Сигнализация управляется через звонки и 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 и более датчиков для открытых прошивок (касается только этой прошивки sketch_02_12_2016.ino)
Для подключения дополнительных герконовых датчиков используем свободные цифровые пины D2,D3,D5 или D7. Схема подключения с дополнительным датчиком на D7.
Необходимые изменения в прошивке
Для подключения дополнительных герконовых датчиков используем свободные цифровые пины 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 кОм.
На этом пока всё. Спасибо за внимание! :)
Самые обсуждаемые обзоры
+61 |
2690
106
|
+48 |
3004
62
|
+22 |
1783
31
|
+48 |
1799
34
|
https://aliexpress.com/item/item/Smallest-SIM800L-GPRS-GSM-Module-MicroSIM-Card-Core-BOard-Quad-band-TTL-Serial-Port/32286088224.html
))
5в может спалить модуль, а если он не сгорит, то может сильно греться и быстро выйдет из строя.
Можно подключить через диод 1N4007, но тогда о 2 амперах можно забыть.
Поэтому если хочется стабильной работы модуля — лучше всего дать ему то, что он хочет: посадить его напрямую на 18650, а 18650 питать/заряжать от простой и надежной TP4056, которая в свою очередь «кушает» 5v
вот собранный
https://aliexpress.com/item/item/Upgraded-version-DIY-KIT-GSM-GPRS-900-1800-MHz-Short-Message-Service-M590E-module-for-project/32654086772.html
хотя при такой цене есть модули типа А6/sim800, с которыми заморочек поменьше, факт
Да, и к SIM800l можно подключить микрофон, есть для этого контакты, проковырять дырочку в корпусе и по звонку… ну в общем вы поняли :)
PS: Китай — лидер по переработке мусора из штатов. Не верите — погуглите про «королеву мусора». Вот и занимаются китайцы «переработкой» мусора «по полочкам»
Версия 2.0:
— Питание от AC-DC преобразователя 12v с функцией backup и подключенным автомобильным аккумулятором.
— 12-вольтовые уличные PIR-датчики в качестве сенсоров движения
— 12-вольтовая сирена
— к GSM-модулю подключаем микрофон и громкоговоритель, чтобы можно было на него позвонить и слушать, что происходит, а также говорить.
— Вешаем всякие
свистоперделкидатчики вроде температуры, влажности, уровня вредных газов и тд— Через GPRS шлем статистику на сервер.
Нужно видео или хотя-бы фото, т.к. по звуку в трубке невозможно понять — вам дверь выносят или сосед стену сверлит, соседские ли дети по потолку скачут или жулик по вашей квартире ходит.
Если есть хороший интернет — то проблем не будет.
А если интернета нет, то при небольшом бюджете спасает только фотокамера с последовательным портом, откуда неспехом ардуиной можно перекачивать картинку по gprs.
Если бюджет побольше, то уже можно смотреть в сторону rpi+usb свисток (3g/4g)
Опять-же, наличие фото или видео — будет огромнейшим плюсом такой системе.
Подробности проблем с этой камерой здесь
Вариант с SD картой
И вариант только с додзвоном
Когда то делал в машину со старого телефона по принципе быстрого набора, до сих пор работает, подключал на 5в вместо 3.7в так как просадка была большая.
Еще один GSM модуль помню покупал к сигнализации дома где то лет 10 назад, 35 долларов стоил, построен на пик контроллере, с виду собирался в каком то подвале с намеком на серийность с инструкцией на ксерокопии, так вот вспомнил как настройки организовали: на сим карту надо было сохранить «номер телефона» с настройками в первую ячейку сим карты, выглядел он примерно так: «0111020101131110» где каждая цифра отвечает за какую то функцию, а номера додзвона надо было сохрянить в следующих ячейках сим карты, достаточно автономный принцип…
При постановке на охрану сделать задержку, чтобы успеть выйти без срабатывания тревоги.
При открывании двери в режиме охраны — сразу отправлять SMS и с небольшой задержкой — голосовой вызов, чтобы успеть снять с охраны до звонка.
У себя на телефоне с номера сигналки установить не громкий и не резкий звонок. Трубку не брать. Так вы будете уведомлены что кто-то пришел домой. Если это ожидаемо — то будете спокойны.
Далее, если через установленное время охрана не снята, отправляются тревожные СМС.
Так не будут тратиться деньги на СМС при каждом приходе домочатцев, а только в случае несанкционированного открытия двери (или при забывании снять с охраны).
— модуль
PS: Не поверите! Я все это купил еще 3 месяца назад, но никак руки не дойдут собрать :(
Кстати, очень рекомендую поставить дополнительную емкость ~1000мкф непосредственно на питание самого модуля модема (после диода) — на порядок снизится глючность модуля и требования к питанию
Если да — тогда кнопка+ формирователь DTMF будет неплохим универсальным решением для передачи сигналов от датчиков.
Wi-Fi жрёт много — автономность сильно снижается.
недавно делал нечто подобное, есть кое-какие дополнения на любителя
прямое соединение RX-TX ардуинки и m590 хоть в принципе и работает, но лучше было бы схему из даташита, диод и два резистора
после выполнения InitModem() у ардуинки в некоторых случаях не хватает буфера на прием, т.е. лучше поправить Softwareserial.h на предмет его увеличения #define _SS_MAX_RX_BUFF
не увидел в рисунке использование ножки «Boot» модема и управление ей ардуинкой, а модули m590, в особенности при хреновом питании, могут вести себя непредсказуемо
при батарейном питании лучше использовать штатную команду модуля AT+ENPWRSAVE
было что-то еще, связанное с обработкой master ring и неочисткой переменной val, завтра посмотрю
еще есть такие — https://aliexpress.com/item/item/Free-shipping-1pcs-3-3V-5V-TXS0108E-8-Channel-Logic-Level-Converter-Convert-TTL-Bi-directional/32552015830.html
хотелось бы узнать.
все равно рано или поздно к этому придете
ардуина и модуль прекрасно питается от TP4056 вместе с литиевой батарейкой, да и вообще у модуля максимальное напряжение питания 4.2В, в то время, как у Вас аж 4.6
если что, у меня из 14 модулей m590 только один отказался работать на 3.3В, но он изначально имел следы перегрева на крышке
управление питанием модуля нужно хотя бы из тех соображений, что если модем зависнет или самопроизвольно поменяет скорость порта (да-да, бывает это у них), то дернуть boot ногой ардуинки по таймауту гораздо легче, чем ехать на место
Согласен полностью.
емкости танталового конденсатора из комплекта в обзоре будет маловато, я прямо на ноги 1 и 2 модуля напаивал электролит 2200х6.3В+0.3мкф керамику
во всяком случае больше, чем 4.2 я на них не наблюдал
то есть в функции инициализации модема надо предусмотреть команду AT+IPR=9600?
При включении статусы MODEM:STARTUP и +PBREADY не выводятся.
СМС не отправляет. Почему пока не разобрался. Запускал под открытым скетчем на pro mini 168. RAM 68%
Сразу скажу-это не охранная система. Это для контроля ткмпературы в помещении.
Модем работает стабильно и без ардуины. Что «допилил», метеостанцию?! Я от всей души Вас поздравляю, и очень рад за Вас, с удовольствием бы прочел обзор на эту тему.
т.е. произошло аварийное понижение температуры в помещении-посылается сообщение и делается прозвон. Отключилось сетевое питание, работаем на автономном и сообщаем об этом по смс.
в общем, при каком-то раскладе на Луне после однократного звонка с прописанного мастером телефона любой звонок далее воспринимался, как master ring со всеми вытекающими, поподробнее скажу, как доберусь
Каким образом тогда определили что код кривой? На глаз?
у меня их в железе пять штук работает с разной обвязкой, за основу брался тот же код, что и Вы допиливали
Вот только диод 1N4007, а не IN4007
чем на одни сутки, что нередкость. Актуально организовать работу по внешним прерываниям, саму ардуинку
отправив в спящий режим, а сабжевый модуль подрубать при изменении состояния порта. Хотя и тут есть недостаток — управление модулем извне будет затруднено или полностью недоступно.
256кб флэш-памяти и 8кб SRAM «хватит всем»!
В схему не хватает ключа точ-мемори (ТМ) или хотя бы включателя выключателя, постановки-снятия, и соответственно времени задержки на эти операции. Ещё бы добавить шлейф а лучше два, на объемный извещатель и акустический. Готовые блоки для работы с ключами ТМ продаются в спец магазинах охраны, стоят порядка 300руб, ключи 50р. В общем думаю, если все хорошо сконструировать, будет неплохая альтернатива, даже не «фирменным» но и китайским GSM сигнализациям!
Вопрос: зачем питание с МТ3608 подавать на VIN Ардуино? Это вход для внешнего питания (6-20В), оно подаётся на встроенный стабилизатор 5В. Зачем 5В подавать на стабилизатор 5В? Надо напрямую на вход 5В. Не?
— Воспроизвести аудиозапись, сообщающую злоумышленникам о том, что их действия зафиксированы на фото и видео и уже переданы в компетентные органы, которые уже выехали в их направлении.
— Позвонить местному сторожу, который может сходить и проверить дом
— Позвонить во вневедомственную охрану (с которой ранее был заключен договор) и попросить съездить и проверить обстановку
GSM-оповещение сработало — я успел выбежать, оббежать многоэтажку и высветить двухбаксовым фонариком спину убегающего вора, который сразу-же скинул в траву украденный бортовой компьютер.
Итого потери — одно боковое стекло, всего 1200 руб.
И даже если вы под два метра и под 200 кг, а вам могу нарисовать кучу сценариев.
включается раз в сутки — отправляет координаты ( например на мейл) и снова засыпает, экономя батарейку.
хочется компактный девайс на одном аккуме в самокат засунуть, и раз в месяц заряжать )))
Спустя полчаса:
в большинстве случаев целью вскрытия гаража, сарая и прочего является быстро намутить себе на дозу (бутылку, таблетку и т.д.)
при такой ситуации приобретение глушилки непозволительное барство и ненужный перфекционизм
если вскрытие (угон, кража и т.д.) именно планируется, то, как правило, не поможет и взвод милиционеров, сидящих напротив
вообще надежность таких систем конечно под бооольшим вопросом. если есть основания серьезно опасаться то лучше платить нормальные деньги за нормальную охрану. а это так — для успокоение души и творческих порывов)))
приемник и передатчик тут https://aliexpress.com/item/item/1Set-Link-Kit-Wireless-RF-Transmitter-and-Receiver-Module-for-Arduino-ARM-MCU-Remote-Control-Hot/32431978101.html
использовал только приемник естественно)
ставите библиотеку RCSwitch.h в ней есть куча примеров
Скажите пожалуйста. У меня уже есть GSM сигнализация. Всё работает. Хочу её немного усовершенствовать, а именно хочу сделать постановку и снятие брелком (такой возможности она не имеет). У сигнализации есть вход, который при замыкании на минус переведёт её в режим охрана. Повторное же замыкание этого контакта на минус снимет её с охраны.
У меня 2 вопроса:
1. Вы дали ссылку на приёмник
— какой выходной сигнал выдаёт такой приёмник — у него «открытый коллектор»?
2. Как «подружить» брелок с приёмником?
Спасибо.
Кому интересно — хочу «прикрутить» приёмник к такой сиге
Вам наверно проще было бы вот такой комплект использовать:
https://aliexpress.com/item/item/1pc-DC-12v-10A-relay-1CH-wireless-RF-Remote-Control-Switch-Transmitter-Receiver/32428099104.html
Может есть такое же но с «открытым коллектором». Чтобы кнопку нажал — ключ открылся?
также можно довесить недорогие ПИРы http://ru.aliexpress.com/item/Free-shipping-1PCS-LOT-HC-SR501-HCSR501-SR501-human-infrared-sensor-module-Pyroelectric-infrared-sensor-imports/2036142641.html и заставить ардуину замыкать контакты не только постановки/снятия но и контакты датчиков.
Кнопку нажали — реле щёлкнуло. Защиты, правда, тут никакой, в отличие от автосигнализаций с плавающими кодами и т.п.
Только надо посмотреть режим работы, замкнуло-отпустило или одной кнопкой на пульте «вкл». второй «выкл». Наверняка есть управляющая этим перемычка, но точно сказать может только тот кто пробовал этот блок лично.
UPD. В описании товара есть что-то про замыкание двух управляющих перемычек (их видно на фото), но что имел в виду китайский продавец, переводя на английский то что сам не знает — понять трудно.
working:
self-locking(Short circuit T)
interlock:(Short circuit L)
inching (you will received this type) — в таком виде оно приходит, перемычки не замкнуты
UPD2. Из одного из отзывов:
Т.е. то что вам и нужно.
Это очень желательно.
Да, «нужен» и «очень желательно» — это разные «вещи».
Копайте в сторону питания. Чтобы наверняка проверить модем подпаяйтесь вот так:
Конденсатор не обязательно, должно и так работать. Аккумулятор 18650 или что-то подобное.
У вас после картинки этой написано «теперь подключаем к компьютеру» — так вот, у меня циклично и начало писать, и пришлось подпитать еще 1 ампером, чтобы писало раз. Вот к чему.
еще такой вопрос — лампочка красная на модуле у вас горит? в каких случаях горит?
я вроде не пароль ввожу :)
просто надпись modem startup и никакой консоли, или места куда вводить. я скачал послд. версию программы PuTTy c офф сайта.
обычно пишеться сразу после первой строки, как и обычно в консоли.
ЗЫ Если «вслепую» ввести команду ATI и нажать энтер, модем выводит в консоль информацию о прошивке и т.п.?
значит прописал все что вы сказали но не пишет ОК.
чтобы я не писал из комманд — ничего.
кстате, первую надпись я поймал только на скорости 115200. у меня модуль — neoway m590e
на 115200 не все usb-rs232 конверторы работают корректно, ардуинка через softwareserial тем более, разве что аппаратный компорт задействовать на модем
я просто для консоли в настройках включил force on для прописи — перед этим ничего не давало писать если на auto.
перед этим замыкало где то — арудино гасла при подключении питания от нее на модель — совсем!
думаю не сильно замыкало. пришлось перепаять его заново.
вероятнее всего убился модуль или надо было просто купить уже пропаяный 8)
спасибо за старания.
Берём блок питания 5В, контроллер заряда-разряда TP4056 для li-ion, ардуину и модем всё это соединяем без всяких преобразователей. Там как раз питание до 4,2В на выходе, ардуине питание подrлючаем на пин +5B. Всё отлично работает.
Работает стабильно.
В файл 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
1. для чего в библиотеке увеличивается буфер?
2. на ардуино.ру не размещали?
2. Нет.
п.с. Кстати, в одном примере встречал совет такого рода, что АОН надо включать именно в момент поступления звонка и выключать АОН по его завершению. Объяснялось это тем, что возможно ложное исполнение команды если после звонка с мастер-номера будут поступать звонки с других номеров, которых нет в скетче. Ваши размышления на этот счет? имеет смысл это реализовывать?
Протестировали, не подтвердилось. Считаю что даже если и существует такой баг, то реализовать его на практике довольно сложно.
// — 25.08.2016 — Pause (pause, PAUSE) — приостанавливает работу системы на 5 минут, система не реагирует на срабатывания датчика.
TestOn (Teston, teston, TESTON) — включается тестовый режим, мигает синим светодиодом.
TestOff (Testoff, testoff, TESTOFF) — выключается тестовый режим.
Сегодня получил свой первый SIM800L, за 5 минут на макетке собрал схему, залил скетч от 26.9 — все работает!
Подскажите кто знает — ссылку на али, какой микрофон выбрать, чтобы поставить на SIM800L для прослушивания эфира?
Китайцы продают микрофоны для мобил, я не специалист, но мне кажется, что у микрофона, чобы слушать комнату д.б. другие характеристики чем у «трубочного».
Сегодня получил свой первый SIM800L, за 5 минут на макетке собрал схему, залил скетч от 26.9 — все работает!
Подскажите кто знает — ссылку на али, какой микрофон выбрать, чтобы поставить на SIM800L для прослушивания эфира?
— зы
Никак не разберусь, есть на сайте возможность подписаться на отдельный обзор, а не на весь блог?
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»)) {
^
Да, и не лучше-ли чтобы геркон подавал землю на пин, и диод на него повесить, от внезапного появления +5В ))))))
Ничего сигналка не шлёт по кругу, если дверь открыта и сигнализация поставлена на охрану, то для того чтобы ушла тревожная смс необходимо сначала закрыть дверь и снова её открыть. Чтобы ушла ещё одна смс — опять закрыть и снова открыть.
Принцип работы:
Снято с охраны -> Открыли дверь -> Поставили на охрану -> Закрыли дверь -> Открыли дверь -> Тревожная смс отправлена -> Голосовой вызов на первый номер AllarmPhone -> Закрыли дверь -> Открыли дверь -> Ещё ОДНА тревожная смс отправлена -> Голосовой вызов на первый номер AllarmPhone
или
Снято с охраны -> Закрыли дверь -> Поставили на охрану -> Открыли дверь -> Тревожная смс отправлена-> Голосовой вызов на первый номер AllarmPhone -> Закрыли дверь -> Открыли дверь -> Ещё ОДНА тревожная смс отправлена -> Голосовой вызов на первый номер AllarmPhone
Если у вас шлёт смс по кругу, проверьте резистор на d6 и gnd. Проверьте тестером что у вас на пине d6. Как только на d6 появляется gnd уходит ОДНА смс на каждый номер из массива AllarmPhone.
Опишите подробнее пожалуйста.
хочется увидеть Ваш вариант решения… чтобы найти более простой и правильный)))
Но бывает так, что нужно изменить номера, а интернетов для удалёнки нету ))) друг попросил на дачу такую, а у него ни ноута, ни интернета на даче… Значит нужно будет демонтировать и тащить домой )))))))
p.s. зачем в общагу сигнализация?.. там вся прелесть в «поймать и покарать»… это же общага))))))
честно как не пытался так и не смог понять эту функцию :(
как происходит проверка номера и выборка номера, на который в ответ отсылается смс?
у меня задача несколько иная — отсылать смс в ответ на входящий звонок или входящее сообщение. номера в начале скетча указаны массивом как и у вас.
Итак, если вернулся 0 — звонящий не наш, давай досвиданья, разрываем соединение, ничего не делаем, в переменной RingPhone хранится номер ПОСЛЕДНЕГО звонящего присутствующего в массиве AllowPhone. Если вернулась 1 — звонящий свой, переменной RingPhone присваивается его номер, запускаем дальнейшую обработку. Как-то так.
Использую Вашу разработку (10х!!) и понял, что контроль баланса средств возможен только через личный кабинет, а интернет не всегда доступен. Поэтому, если не пополнить баланс вовремя, понять что модуль отключился от сети — перестал выполнять свою функцию, можно только по отсутствию ответа на любую команду, напр. «info»
Мне кажется, это было бы полезное дополнение.
Полностью согласен, постараюсь сделать. У меня «безлимит» на этих симках, поэтому даже не посещала меня эта идея, но штука нужная — попробую реализовать.
А возможно каким-то образом подписаться на обзор?
Хотелось бы узнавать об/получать обновления(х), а не пойму как это сделать используя функционал mysku
Или это невозможно и «Реализовано. Выложил новый скетч» для заинтересованных Вы отправляли персонально, а те об изменениях в обзоре могут узнавать только периодически заходя в него? (
Получил вчера разъемы дюпоны-сокеты-линейки и решил заодно и все перепаять.Изначально собирал на микросхемных сокетах, а они, ч.г., узковаты — не понравилось.
Смогу ответить только завтра. А модем у меня 800й
Не знаю, тот ли баг, о котором Вы спрашивали —
смски от сигнализации не приходят. Ни на «info», ни на «Smson».
А в старой версии (11.10.16) все нормально
Баланс тоже не присылает.
Сейчас проверил, живой-чудокитайскойтехники!!! не спалился, работает и баланс присылает. Еще раз Вам спасибо за труд и потраченные ср-ва. Только представить сколько их уходит на отладку.
Всплыли кое какие баги, может кому пригодиться.
В чем суть бага — есть sms-команды на принудительное включение котла и принудительное отключение, ON и OFF соответственно, независимо от того в каком состоянии находился котел после запусков и остановок по звонку с мобильного. Так же как автор проекта данной сигналки, использую команды SMSON и SMSOFF для включения и отключения sms-оповещений о событиях.
Допустим по звонку или по sms-команде ON котел был запущен, а потом вдруг в голову мне приходит мысль, что sms-оповещения мне надоели и я отправляю команду на отключение этих самых оповещений командой SMSOFF. Теперь собственно сам баг — код обрабатывает команду SMSOFF как команду на отключение оповещение… и заодно как команду на отключение котла по команде OFF. Соответственно если котел был выключен и решил вновь включить sms-уведомление, то командой SMSON плюсом ко всему запускается котел, то есть отрабатывается команда ON.
Отсюда вывод: одна sms-команда не должна быть в составе другой, то есть полностью эксклюзивной.
по факту перепробовал разные варианты:
AT+CMGD=0,4
AT+CMGD=1,4
AT+CMGD=4
Счетчик сообщений +CMGS: после каждой смс все равно увеличивается на единицу
Попробуйте вставить симку в сигналку, принять несколько смс, вынуть симку, вставить в телефон и проверить смс. Потом обратно вставить в модем выполнить команду clear или AT+CMGD=0,4 (AT+CMGD=1,4 или AT+CMGD=4) снова вставить в телефон и проверить что стало с этими смс.
во время едыпо мере написания кода. есть такая АТ команда AT+CCLK?, которая считывает дату и время с модуля, в ответ на нее получаем строку следующего вида: +CCLK: «05/01/01,00:09:48»Как её распарсить на составляющие? допустим хочу присваивать день, месяц и год переменным day, mon, yy соответственно; часы, минуты, секунды соответственно переменным hh, mm, ss.
если можно, то куском кода для ардуино, потому как в парсинге полный ноль.
Что на счечёт парсинга, то вам сюда.
'AllowPhone' was not declared in this scope
раскоментируйте две строки где прописываются номера телефонов
Выходим из помещения, нажимаем кнопку, закрыв дверь, ставится на охрану. И когда приходим, открыв дверь, у нас есть несколько секунд, чтоб нажать на кнопку, снять с охраны.
А вообще, большое спасибо за тему и скетч.
А насчет оптимизации, то это верно.
Для этого устройства ATmega168 не подходит.
R14.18
OK
AT+CLIP=1
OK
AT+CMGF=1
ERROR
AT+CSCS=«GSM»
OK
AT+CLIP=1
OK
AT+CMGF=1
OK
AT+CSCS=«GSM»
OK
AT+CNMI=2,2
OK
ЗЫ. Только что скачал ардуино иде, установил и этой проблемы не заметил, видимо починили.
Собрал всю схему, кроме светодиодов. Выводы на про-мини аналогичные.
ЗЫ. Литий-ионный аккумулятор очень не любит холода.
Обновление возможно без потери настроек, именно для этого и делалось сохранение конфигурации в энергонезависимую память.
Можете доработать скетч, чтобы при использовании нескольких датчиков, в смс отображалась информация о номере сработавшего датчика?
Такие же датчики, принцип работы тот же?
Сколько свободных пинов, чуть позже начну добавлять датчики, но пока один.
Для чего? Вот никак не могу понять её назначения.
Датчик температуры выносной, чтоб нагрев этого устройства не влиял.
Сигналка включается/выключается по звонку:
Ну зачем кнопка или ключ?! Объясните, я не могу понять, вот реально не могу понять.
Неужели так сложно позвонить на этот номер для включения/выключения сигналки, тем более она отобьёт сразу, деньги не спишутся за звонок.
Хотя, как я понимаю, это уже в ардуино IDE написано)))))… но всё-равно интересно!
Да, и я может быть что-то пропустил, но если нужно использовать больше 1 датчика — что делать при использовании прошивки в HEX?Прочитал )))))Реализация простая, разметка памяти, под каждый номер выделено 20 ячереек еепрома, итого 200. В них пишем номер и признак, потом читаем и сравниваем.
модем Neoway M590
подключил монитор порта какието каракули лезут
Характеристики
Микроконтроллер
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 В)
Характеристики с сайта 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В)
Flash-память 32 КБ
SRAM 2 КБ
EEPROM 1 Кб
Flash-память 32 КБ (из которых 2 КБ используются загрузчиком)
SRAM 2 КБ
EEPROM 1 КБ
Тактовая частота 16 МГц
и неработает
Можно ли както заставить работать 3 волтовую с 8мгц кварцем
тогда отпадает необходимость ставить повышающей шимки
Напряжение питания делаем 4,6в. (5в. через диод Шотки), тогда к модулю через диод D3 придет 4,2в.(когда есть сеть), а когда не будет сети, от батареи напряжение будет идти без потерь.
(Источник: zeroelectronics.ru/practics/neskol-ko-shem-rezervnogo-pitaniya.html )
Первые попавшиеся штук 5 найденых на Али, судя по фото построены точно так же
mysku.club/blog/ebay/43282.html#comment1930875
Через смс команду Думаю этого достаточно, специально в секундах для «гибкости». Явно что 12 часов это чересчур, но больше — не меньше :)
Релейный модуль надо на 5 вольт. Например https://aliexpress.com/item/item/Free-Shipping-1PCS-5V-low-level-trigger-One-1-Channel-Relay-Module-interface-Board-Shield-For/32480128984.html
Сирена от автосигнализации.
Если комутировать 12в., то тогда трансформатор будет включён постоянно. А так он включается только когда тревога.
гадскими китайскими(очень дешевыми и дерьмовыми проводками).
Вы сим800 случайно не от 5 Вольт питаете?Ясно — понятно. :)
Должно быть что-то подобное (в данном случае модем не определён, ардуина загрузилась без модема):
Она принудительно переключит устройство на работу с модемом Сим800. «Modemid=1» принудительное переключение модема на M590.
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
Emulate modem: SIM800L
Current value ModemID = 2
Modemid=2
+CMT: "+79658420796","",«16/12/19,18:46:57+20»
004D006F006E04350079
SMS from: +79658420796
для Beeline: #100#L22. а здесь именно 2 решетки должны быть или впереди звездочка?
Ответ пришёл смс содержала русские символы или на русском языке?Модем не отработал эти команды при инициализации:
AT+CMGF=1 — Режим кодировки СМС — обычный (для англ.)
AT+CSCS=«GSM» — Режим кодировки текста
После этих строк должны быть строки OK.
Перезагрузите устройство, иногда такое бывает.
*100# — ответ на русском
Если не биллайн, узнайте у оператора номер для запроса баланса с ответом на латинице.
ЗЫ Только что проверил, всё ок.
Перезагрузите устройство.
Да и по поводу пир датчика он срабатывает, сначала не заметил (оповещение по смс выключено было), когда включил смску так он гад мне 40 смсок отправил. Может как то за экранировать его можно? Думаю попробовать маленький корпус внутри для пира сделать из фольгированного текстолита, а фольгу на массу посадить или не поможет?
еще на али заказал такой модем кто нибудь сталкивался?
https://aliexpress.com/item/item/Smart-Electronics-GPRS-module-GSM-module-A6-SMS-Speech-board-wireless-data-transmission-adapter-plate/32652807004.html
Скоро приедет, прикручу поддержку этого модема.
Корпус 80х80х25 мм.Питание PIR датчика 3,3 В от ардуино.»
а почему питание PIR датчика всего 3.3 ??? у него по правильному 4-20 вольт… или вы все таки подключили после 7133-1 на плате PIR'а?
Питание 3-9 вольт, у меня прекрасно работает от 3,3В уже несколько месяцев.Подключение к пинам датчика.
Вопрос, а для чего у Вас реле стоит?
Используемые порты Arduino Nano v3
D4 — выход «тревожного» пина, при срабатывании датчика на этом пине устанавливается сигнал высокого уровня
D5 — инверсный выход «тревожного» пина, при срабатывании датчика на этом пине устанавливается сигнал низкого уровня
Блок питания 15 вольт 2 ампера + Мини DC-DC понижающий преобразователь 2А mini 360 (step down), установил 4,2 вольт на модем и от этого же блока через LM7805 5 вольт на Arduino, диод не шунтировал, питание 3,3 В от ардуино на Пир датчик.
Купите уже внешнюю антенку на SMA коннекторе и гнездо с кусочком кабеля RG316 или RG178. И будет нормуль. Типа такого https://aliexpress.com/item/item/ESP8266-serial-WIFI-wireless-transceiver-module-MT7681-3DBI-gain-antenna/32299565188.html
Зачем ждать секунду?
Ну это пример. Просто странно что у Вас к аналоговому входу подключено, когда куча цифровых.
В данном случае аналоговый используется как цифровой.
// pircount — Беремиз EEPROM. Количество срабатываний
Добавил условие на флаг вкл/отл ПИР датчика.
Добавил еще датчик DS18B20 и процедуру мониторинга температуры min< temp < max.
Добавил вывод температуры по запросу «Info».
Да, наверное, 5 это оптимально, но пока память позволяет оставлю 10.
Зачем заносить неактивные номера? У меня это тоже присутствует, но практического применения не нашёл. Зачем «местный-обычный» если есть полный федеральный?
Как быть с украинскими номерами?
Осталось понять как всетаки вытащить номер. Понятно что он в кавычках, но как его достать…
А если BalanceNumber = "#10201#" — как быть в таком случае?
А если BalanceNumber = "#10201#" — как быть в таком случае?
Вот это аналогично этому только во втором случае используется Flash память для хранения константы «TempOn=false», что очень экономит ОЗУ.
На сколько мне известно — константы хранятся не в ОЗУ.
«TempOn=false» хранится в динамической памяти
«TempOn=false» хранится в памяти устройства
Некоторые пины надо править. Ну и прошить я думаю хексом не получится. Либо по SPI цепляться прогером.
ЗЫ. Не получается шиться хексом, берите старую прошивку, только не забудьте после этого тщательно обработать напильником.
Вот такую схемку можно добавить для контроля зависания и принудительного сброса. www.qrz.ru/schemes/contribute/icenet/SC/sc000060.shtml
Дергать пин по таймеру например 1раз в секунду.
Пробую потихоньку на том что есть отладить.
Геркон — с одной стороны к пину с другой к +5B
Сработает как только пропадёт +5В на пине PCF8574.
Если нужно чтобы сработало после появления на пине +5В, то
P.S.Понятно что например переменную хранящую количество номеров придется оставить.
Если бы скинул последний скетч в ЛС было бы проще.
Считаем количество переменных, их 7. Следовательно высвободим 7 байт, это спасёт ситуацию?
Не понятно, переменной хранящей количество номеров не существует.
решить эту проблему:
Извините, но не вижу смысла скидывать скетч.
Ардуина мониторит низкий логический уровень на D6. В нормальном состоянии, когда дверь закрыта(геркон замкнут) на D6 должно быть +5В. Как только +5В пропадёт на этом пине ардуина отправляет смс.
ЗЫ «Много текста» убирайте под спойлер :)
Геркон поставить после R1.
R14.18
OK
AT+CLIP=1
OK
AT+CMGF=1
ERROR
AT+CSCS=«GSM»
ERROR
AT+CNMI=2,2
ERROR
Собственно звонки не принимает, смс не принимает. Может ему тоже требуется первоначальная настройка?
Попробую выяснить., позже отпишусь.
Спрашиваю:
AT
OK
ATI
SIM800 R14.18;
AT+CLIP=1
OK
Спрашиваю нужен ли пинкод:
AT+CPIN?
ERROR
Спрашиваю, как там с регистрацией в сети:
AT+CREG?
+CREG: 0,0 (Говорит, что не зарегистрировался)
Спрашиваю оператора:
AT+CSPN?
ERROR
Спрашиваю уровень сигнала:
AT+CSQ
+CSQ: 31,0 (Максимальный)
Запрашиваю список операторов в сети:
AT+COPS=?
+COPS: (2,«Bee Line GSM»,«BeeLine»,«25099»),(1,«MOTIV»,«MOTIV»,«25020»),(1,«MegaFon»,«MegaFon»,«25002»),(1,«MTS»,«MTS»,«25001»),,(0-4),(0-2)
(Теле 2 почему-то нету)
Воткните симку в телефон и проверьте её работоспособность, а симка случаем не 4G?
Попробуйте модем подцепить на сом-порт и выполните команды:
После каждой должно появиться
И ещё, покажите мне пожалуйста вывод в консоль при входящем звонке, должно быть что-то подобное:
100% причина кроется в операторах.
Видимо сейчас операторы выпускают сим карты без поддержки 2G. А сам модуль SIM800L работает в 2G и не поддерживает 3G. Вот и сим карта не регистрируется в сети и при звонке на нее говорит, что «аппарат вызываемого абонента выключен». Может сим карты могут работать в 2G, но скорее всего этот режим нужно как-то активировать. Видимо придется искать 3G модем.
Теперь я обнаружил баги в hex прошивке.
Во первых: При запросе Money присылает билиберду типа (004А0043005400). Пробовал менять длину обрезки, не помогло. (не понял с какой стороны обрезает?)
Во вторых светодиодная индикация, до сих пор не понял, как она работает. LedOff включает красный светодиод, LedOn выключает.
Синий вообще горит постоянно. TestOn начинает мигать синий, TestOff опять загорается. При постановке на охрану перестает светить зеленый, загорается красный, тут все верно вроде. При снятии наоборот. Синий так и должен всегда гореть?
«004А0043005400» это вам оператор возвращает ответ русскими символами, уточните у оператора какой номер запроса баланса на латинице. Обрезает от начала строки.
Рассказываю как должно работать, у меня всё работает как надо:
Зелёный светодиод светится в том случае если сигнализация снята с охраны и LedOn=1.
Зелёный светодиод не светится в том случае если сигнализация снята с охраны и LedOn=0.
Красный светодиод светится в том случае если сигнализация поставлена на охрану значение LedOn игнорируется, т.е. светится всегда если поставлено на охрану.
Синий светодиод используется командами:
TestOn — быстро мигает;
Pause — горит всё время пока активна команда паузы;
Мигает после выполнения консольных и смс команд которые в ответ не отправляют смс сообщения.
Проверяйте почему на пине к которому подключен синий
светодиод постоянно присутствует уровень GND, такого быть не должно.
А зачем вам аж две платы источников питания?
У меня пока вопрос какой модем заказывать.
А если не делали питание от аккумулятора — то 3,9 В прекрасно хватит что ардуине, что модему :). Только заводить питание на Ардуину после стабилизатора, а не перед ним (а то он еще напряжение скушает).
Мне посоветовали подождать пока доедет А6 и потом уже решится 800 или А6. 590-й не советуют.
У меня модем не запустился даже от зарядки 5В 1А, заработал только от БП 15В 2А
новый;
работает с симкатрой от юсб порта, нет капризов с питанием;
поддерживает 4G симкарты;
пины соответствуют расстоянию на макетных платах, огромный плюс при отладке;
шустрый.
минусы:
раза в полтора больше чем sim800l;
много спама в консоль, пришлось значительно оптимизировать код.
В промежуточной прошивке Test-20170114 уже реализована его поддержка.
Резюмирую, однозначно брать, если размеры не критичны.
или будет обрезать последнюю цифру номера?
Где бы схему найти…
Изначально реализовано.
Питание мониторится только если сигнализация поставлена на охрану т.е. Guard = 1. Прошивка будет очень скоро.
Может быть ситуация что электрика клацается часто — для таких случаев было бы полезно выключать отправку СМС пока не устаканится не снимая сигналку с охраны.
Это в теории или на практике?
В таком случае номинал резисторов должны быть одинаковым, например по 200К. Напряжение будет 2,6 В, в любом случае меньше чем питающее ардуину.Ардуина за логическую единицу принимает напряжение выше 3 В, по крайней мере так пишут в «интернетах», значит R1 = 220 К, R2 = 360 К, напряжение будет 3,1 В.
Так и есть.
Очепятка?Смысл понял.Это в теории или на практике?bsvi.ru/pp1150117d399d4
bsvi.ru/pp1150117404506
Т.е. логическая единица от 0,6–0,7 В, а ноль до 0,3 В.
Считаем для 4,2 В:
Максимальный уровень LOW 4.2*0.3=1.26 В
Минимальный уровень HIGH 4.2*0.6=2.52 В
Считаем для 3 В:
Максимальный уровень LOW 3*0.3=0.9 В
Минимальный уровень HIGH 3*0.6=1.8 В
Таким образом 3В на пине вполне достаточно для уверенного мониторинга, и превышения +0,5В на пине не будет.
Если есть возможность, попробуйте другой модем.
Guard Off.
Через 15сек.
Обонент снова в сети.
Через 5 мин.
Guard On.
Абонент снова в сети
и через 5 мин. инверсия состояния.Для статистики сделал это со вторым модемом.Результат одинаков.Не поленился, снял с гаража сигнализацию с тем же м590, но без датчика движения и без возможности управлять по СМС, только звонками.Отработала она минимум 1 год без проблем.Снял модем, пристегнул его к Nano и Вуаля! Результат тот же.Через 5 мин. ложный Ring и как следствие инверсия состояния сигнализации.Причём во всех описанных случаях если ставишь или снимаешь через СМС проблем нет.Помогите разобраться с проблемой.
Какая ревизия 590го модема? У меня 590й квартиру охраняет, каждый день снимаю и ставлю на охрану. Такой ерунды нет.
Попробуйте промежуточную прошивку Test-20170114.hex, в ней вызов завершается командой
Может быть дело в этом.
Версия прошивки
1103_C6C30000_V0130C -1шт.
1103_С6С30000_V0130d — 2шт.
mysku.club/blog/ebay/43282.html#comment1958227
Сигнализация работает уже больше 6 месяцев, но проблема появилась только пару недель назад.
Есть ещё какая-нибудь информация по этому поводу?
Тем самым можно контролировать и сеть и аккумулятор
Что ещё пустить «под нож» для включения в прошивку на «постоянной основе» датчика Ds18b20?
Модуль расширителя до 8 портов. По большому счету чаще всего нужно только 2 входа: 1вход -это датчики на размыкание и 2й-вход(отключаемый) для датчика дыма или горения с круглосуточной охраной независимо от состояния сигнализации.
В итоге, предположительно, будет 2 прошивки, одна для датчика BME280, другая для датчика BPM280.
Последствия от смены загрузчика:
После перепрошивки в «Uno» Arduino IDE не сможет в штатном режиме перепрошить устройство. То есть если появится необходимость использовать эту ардуину для чего-то другого, нужно будет вернуть стандартный загрузчик при помощи «XLoader». Прошивка со стандартным загрузчиком для восстановления, так же будет выложена.
Несущественно, всего 512 байт, примерно 1,5%.
Одновременное использование двух датчиков BME280 и BMP280 мне кажется бессмысленным, и потерять USB порт для прошивки устройства ценой одновременной поддержки этих двух датчиков…
При наличии такой опции сигнализацию легко можно встроить в штатную автосигнализацию. Выход автосигнализации может легко «нажимать» на эту кнопку ))))
Если вам это необходимо, берите открытую прошивку, переделывайте под свои нужды.
Чем вам не угодил 64-битный ключ?
Цена — 1,75 бакса. Не так чтобы прям уж дорого. Хотя, конечно, и не так чтобы дешево. Ну так и не всем же надо :).
NFC reader https://aliexpress.com/item/item/MFRC-522-RC522-RFID-RF-card-sensor-module-to-send-S50-Fudan-card-keychain-watch-nmd/32787390700.html
Впрочем насколько я понял места все-равно нет и спорим зря. У нас в домофонах уже даже этот анахронизм не ставят — все на rfid.
После обновления делали сброс конфигурации ResetConfig?
Если у вас работает что-либо не так, опишите пожалуйста подробнее, покажите свою конфигурацию (ListConfig), какой модем используете?
2. Установил Balancenum:*111#L22
SMS from: +11111111111111
Request number balance modified: *111#
Length of characters to return: 22
The number of balance inquiry: *111#
Length of characters to return: 22
Сообщение на запрос Money в ответ не приходит, в терминале +CME ERROR:500
При сработке сигнализации я звоню на нее и снимаю с охраны, красный светодиод гаснет, а тревожный выход остается включенным. При снятии он должен выключатся тоже
При отключенном 1-м номере или если человек не ответил сигнализация должна дозваниваться на 2номер в списке.
После звонка сигнализации на выключенный номер, перестала звонить на него после включения телефона, модуль А6. (выну карточку проверю баланс может деньги кончились)
При разрыве контакта D4 сигналка отзванивается, включает тревогу, после вышедшего времени работы тревожного выхода сигналка его отключает и не проверяет разрыв контакта D4 и не запускает тревогу заново.
При установке на охрану нет проверки на нормально замкнутый контакт D4. Нет контроля цепи.
Еще одна «дырка». Сигналка стоит на охране, отключил питание, разомкнул геркон, включил питание, тревоги нет!
После звонка сигнализации на выключенный номер, перестала звонить на него после включения телефона, модуль А6. (выну карточку проверю баланс может деньги кончились)деньги кончилисьГлобальный параметр, отвечает за «все» смс.
Проверьте с симкартой другого оператора.
Согласен, проверю.
Согласен, это было бы правильнее, но пока ждём. Сначала датчики, потом все остальные «хотелки».
Это фантастика, D4 — output pin. Может быть D6?
Это логично, иначе зачем было вводить время «тревожнго пина»?
Так и есть, возможно будет реализовано, опять же пока ждём :)
Приведите пример эксплуатации этой «дырки», желательно с последовательностью действий.
… не запускает тревогу заново.
Это логично, иначе зачем было вводить время «тревожнго пина»?
Такая ситуация: У Вас выключен телефон (№1) или на счету сигналки кончились деньги, произошла сработка, сигналка начинает набирать номер и не дозванивается, в это время сработал тревожный пин (например сирена орет ) на 10минут. при этом дверь открыта и D6 разомкнут. Сирена поорет 10 минут и заткнется, дальше делай что хочешь.
По «дырке», почти не реально, особенно если стоит упс.
Ну как бы это не «хотелки», а алгоритм работы заводских сигнализаций. Датчики и прочие навороты это уже хотелки. Обычно для контроля хватает одного входа на который можно посадить магнитные датчики и датчики движения в одну цепь. (там уже не важно проникли через окно дверь или крышу). Одного тревожного выхода (подключение сирены), выход на индикацию светодиодом и вход для альтернативной постановки/отключения охраны.
Надеюсь на будущую реализацию в Вашем устройстве. Ждем...)))
->
и
Поставьте 20 минут чтобы орала, 1 час или 10 часов. Соседи будут рады если у Вас :)
Но все равно жду, жду, жду…
Библиотека для датчика BME280 менее прожорлива, и оставляет примерно 150 байт, скорее всего получится прикрутить.
fullreset
! Слетят все настройки.
Поддержки датчика ds18b20 не будет, из-за того что библиотека «OneWire» сжирает почти 3КБ Flash Memory, это непозволительная роскошь.
С ней:
Без неё:
Прошить загрузчик от УНО и высвободить ещё 1,5 КБ памяти без второй ардуины не получилось, изначально не обращал внимания на то, что прошивка с бутлоадером от УНО через Xloader завешалась неудачей. А прошивать ардуину через ардуину, для большинства пользователей, очень сложно.
Библиотека для датчика BME280 менее прожорлива, и оставляет примерно 150 байт, скорее всего получится прикрутить.
"#include <OneWire.h>" + 3КБ памяти (10%).
«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.»
может стоит отказаться от «модуля и ему подобных расширителей портов ввода/вывода на чипе PCF8574»? фиг бы с этими резисторами на каждый геркон. кстати а внутренний подтягивающий резистор включен?
79635431264@yandex.ru Скидывай скетч. Нужна серьезная чистка.
В обзоре бери.
P.S. Так что с прерыванием дальше делать будем?
Странный вопрос, анализируйте работу модема и адаптируйте под него прошивку.
Куда сюда? Покажите мне это «вчера»! Не нашёл :(
Напомнило старый анекдот :)
Не вижу смысла в сотрудничестве с Вами.
Ссу :) Был прецедент, тут подробнее.
Init params.
…
Read configuration eepromconfig:
SendSms: 1
AlarmRing: 1
LedTestOn: 0
LedOn: 1
Guard: 0
PauseTime: 15
AlarmInterval: 60
PIRGuard: 0
ExtPowerWatch: 1
Read array phone:
1 -> (здесь номер первого позвонившего) -> 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: #101#
Length of characters to return: 27
No I2C devices found
Start working.
System -> Guard off
AT+CLIP=1
OK
AT+CMGF=1
ERROR
AT+CSCS=«GSM»
ERROR
AT+CNMI=2,2
ERROR
ATE0
OK
вроде такого, у меня симка не стоит вот и ошибки
С ардуино вызовы и приходят и уходят, проблема только с смс.
По температуре — действительно, особой необходимости в нем нету. Если малой кровью не прикручивается — ну так и бог с ним, не самое важное.
А если серьёзно, в обзоре есть открытый скетч, берите его и «допиливайте» под Ваши нужды.
Датчики бывают разные, охранные и «не очень», и иногда полезно знать какой датчик сработал, будь это геркон или датчик влажности.
Чтобы знать температуру. Например если она ниже 5 градусов ехать на/в дачу/гараж включать отопление.
Сообщите пожалуйста хотя бы об одной, я буду очень Вам признателен.
Вам сюда.
Заказал, уже модули приехали.
Версия на АрдуиноНано будет допилена до своего логического завершения и актуальный скетч в ближайшее время (месяц, два, три...) будет адаптирован под ESP.
87354769"
> Srabotal datchik dveri!
+CMGS: 148
нехватает команды и куска номера ListConfig у меня пишет ошибка на эту команду
SMS sended! Phone: +79087354769; Message: Srabotal datchik dveri!
MGS="+79087354769"
> Srabotal datchik dveri!
+CMGS: 149
1. Вышли из помещения.
2. Закрыли дверь.
3. Позвонили (поставили на охрану)
4. Сигнализация на охрану не поставилась.
Кому было видно? Сигнализация в помещении, там никого нет.
Тогда логичнее сделать обратный звонок на основной номер после того как геркон замкнётся.
Во-вторых, повторюсь, светодиод наружу нельзя, один удар электрошокером в него и сигналка отойдёт в мир иной.
опторазвязка или полевой транзистор.
Он же не будет у вас на проводах с двери висеть вы его закрепите
Кому не нужна функция можно и не подключать, а так если у Вас в прошивке заложено почему бы его и не использовать
1.Закрыли дверь
2.Поставили на сигналку, если цепь замкнута зажегся красный светодиод.
3.Если цепь нарушена красный светодиод начинает моргать и приходит смс (кому нужно) о том что цепь нарушена.
4. Если в течении 1 минуты после постановки цепь замкнута. сигналка переходит в режим охраны.
По сути тоже самое.
на команду ListConfig пишит — Read eepromconfig:
SendSms: 1
AlarmRing: 1
LedTestOn: 0
LedOn: 1
Guard: 1
PauseTime: 255
AlarmInterval: 65535
PIRGuard: -1
ExtPowerWatch: -1
Number of balance inquiry: #100#
Length of characters to return: 22
ERROR
1. Memtest
2. Перезагрузите ардуину
3. FullReset (на всякий случай)
4. Перезагрузите ардуину
5. Заново настройте.
ЗЫ
В прошивке GSM_2017_02_04-20-23.hex по умолчанию выключена отправка смс :(. Если не отправляются смс включите командой SMSOn. В следующей прошивке верну как было.
На платформе Arduino Nano в дальнейшем возможны какие-либо незначительные изменения и исправления выявленных ошибок. Существенных изменений дополнений производиться не будет.
Дальнейшее развитие проекта будет на модулях ESP-12.
И хотелось бы еще «время на выход», чтобы ставить на охрану можно было не выходя с квартиры, так безопаснее.
Т.е. например, позвонил, сигналка отсчитала 10сек, закрыл дверь, красный диод поморгал и зажегся (проверил цепь, стал на охрану)
Но если ставить на охрану по СМС то можно просто в ответной СМС добавить инфу о целостности охранного контура.
Пример.: Вы ставите на охрану, сигналка начинает отсчитывать время через которое она включит охрану. За это время Вы закрываете все двери и выходите. После вышедшего времени сигналка проверяет (1-2сек.), целостность контура, если контур целый загорается красный диод, если нет моргает красным диодом и шлет смс. Как то так )))
Будем ждать эту функцию.
И еще один вопрос. Если 1 телефон в списке выключен и сигналка не дозвонилась на него, можно сделать, чтобы она звонила на 2й номер в списке если он там присутствует
Возможно, но не обещаю.
Лично мне кажется сомнительным применять в устройстве, в котором главное надежность, на порядок более сложное устройство с ненужным в сигнализации вайфаем, да еще с небезглючной репутацией. Народ то не от хорошей жизни к ним внешние ребуталки на тех же AVRках и таймерах городит.
Уверен, что можно значительно съэкономить память и в Nano, пооптимизировав прошивку. Например, заменив digitalWrite() на PORTB |= (1<<PIN) и повыкидывав математику с плавающей запятой из кода и библиотек.
Ватчдог есть там встроенный, наверное велосипед хотят изобрести.
Ну высвободим пол-килобайта или даже целый килобайт и наживём себе большой «геморрой» с отладкой кода.
С таким же успехом можно закомментировать все строки вывода информации в консоль и «утонуть» в отладке.
Именно это и необходимо для развития.
Куча отзывов что не всегда избавляет от зависаний и 100% гарантия только вырубание питания.
Ну например «digitalWrite() на PORTB |= (1<<PIN)» отладки не требуют, а только однократной проверки. Держать в прошивке МК кучу "проверок на трезвость программиста" хорошо для обучения и глупо для рабочего проекта, особенно когда дефицит ресурсов. Можно даже самому не переписывать, а подключить альтенативную библиотеку. А в той же OneWire для DS18B20 можно штатными средствами 256 байт съэкономить на ровном месте, просто переключив вычисление CRC на программное вместо табличного.
Вот этого делать нельзя, разве что подсократить тексты. Все же ситуации что юзер что-то не так сконфигурировал, у него что-то отвалилось или оператор симку заблокировал, это не то же самое, что в самой программе назначение портов перепутать.
Если блок питания завышает, то режем дорожку и ставим последовательно ещё один диод (на фото он есть). Иначе SIM800L уходит в защиту и выключается.
ЗЫ На «калькулятор» фотографировал :)
Ну а по новой схеме аккумулятор будет заряжаться только когда разрядится или саморазрядом, или из-за обесточивания будет резервным питанием. Саморазряд же у лития маленький, поэтому подзарядка может быть раз-два в неделю или даже реже. В общем аккумулятору это однозначно на пользу! Кроме того! Можно не насиловать ни аккумулятор ни плату зарядки (которая при токе в 1 А очень неплохо греется), уменьшив зарядный ток заменой резистора R3 на плате. При номинале 2,2 К я получил зарядный ток 600 мА — вполне достаточно.
Простейшее зарядное
Автономность. Час точно сирена сможет орать!
Берите сразу версию GSM_2017_02_14-00-03.hex. Последующие версии прошивок включают в себя изменения предыдущих версий.
Загружаем прошивку через XLoader, запускаем Arduino IDE, заходим в монитор порта. Находим в обзоре раздел «Команды управления для hex — прошивки», в конце списка есть консольные команды — их и используем. Так же номера телефонов можно добавить/изменить/удалить через смс-сообщения, смс-команды находятся в том же разделе обзора.
ЗЫ. Там же и примеры команд.
Памяти уже совсем не осталось?
Да. Сейчас занято: 66% SRAM, 95% Flash Memory.
Предел:
74% SRAM, 100% Flash Memory.
1. Используем тексты через структуру, длина строк ограничена, но это не критично.
2. Придётся использовать два скетча, первый бы заливал данные во внешнюю еепром, второй — основная прошивка.
Для этого не надо много кода и скетч будет один. При первом включении чтоб входила в режим заливки. Там достаточно напрямую пересылать байты с порта во флешь. Ну это как бы на размышление. Еще можно заменить в скетче дуиновские функции на конструкции С-шные-это освободит приличное пространство под программу. Так что буду ждать окончательного скетча под эту платформу в открытом виде, чтобы потом оптимизировать. Ну или если сами сподобитесь. :)
Не ждите, в планах этого нет.
Мне пока не совсем ясно как лучше реализовать это.
ЗЫ. В споре рождается истина.
Естественно каждый раз запрос инфо никто отправлять не будет. А вот автоматическая информационная СМС с задержкой о том что охранный контур нарушен — была бы полезной. Но только о нарушении контура — если все ОК то ничего отправлять не надо.
Есть еще один вариант — ставить на охрану только когда все двери закрыты по СМС, чтобы без целостности охранного контура сигналка не становилась на охрану.
А добавить контроль цепи по сопротивлению, походу, уже не получится? Места нету?
А если используется только датчик движения?
Нет.
Для чего по сопротивлению?
Про ставить на охрану — я имел ввиду что отправлять СМС гуард ОН только когда все закрыл. Или вышел из зоны действия датчика движения. А не самостоятельную постановку сигналки. Хотя идея интересная — становиться на охрану при наличии герконов после замыкания цепи и отправлять СМС что встали на охрану (а не сразу при получении команды на включение охраны). Если только датчик движения — отправлять СМС сразу после получения команды на постановку охраны.
Контроль сопротивления чтобы злоумышленники не замкнули проводки к геркону. Но все-равно вряд ли на это есть ресурсы, хотя функция, конечно, полезная.
255 я думаю с головой, достаточно и 120 максимум
Параметр требует ещё дополнительные параметры:
Задержка времени перед постановкой на охрану 75 сек.
Задержка времени перед отправкой смс и включения тревожных пинов 30 сек.
Или просто ввести два последних «доппараметра» если они не равны 0 значит их выполнять. — (мне кажется этот вариант проще и правильнее.)
Такой вариант подойдёт?
DelayBeforeGuard =0
DelayBeforeAlarm=0
работает по умолчанию если не выставили время
ПЫ.СЫ. Не получается прикрутить звонок на 2-й номер, если 1 не активен?
BUSY
NO CARRIER
NO ANSWER
может на основании этих ответов модема сделать обработку? Я могу ошибаться
Надо проверить что будет в консоли если баба-робот говорит что абонент не доступен. Если будет ноукарриер, то это «провал».
Ещё одна неприятность, на переделку «механики» осталось менее 2% памяти:
Не будет реализовано.
В общем надо как-то информировать что цепь не замкнута, если это так, через некоторое время посля постановки на охрану. Можно как была выше предложена задержка перед отправкой СМС и при её отправке сообщать целый ли контур охраны или нет (т.е. уровни с датчиков все правильные или какой-то светится как «сработка»).
ЗЫ Контороль цепи работает только на основном герконе.
Зачем через время, если надо сразу, и это реализовано через светодиод. Так если он сломан — ничего не будет отправлено.
Бессмыслица какая-то.
Как только на основном герконе? Аяяй, это большой недостаток :(. Надо все герконы контролировать.
Т.е. если цепь не замкнута — то СМС о постановке на охрану не будет отправлено? Это тоже нормальный метод :). Если перед отправкой СМС производится контроль замыкания герконов (а одновременно и целостности цепи).
Да что же не ясного-то, всё что касается смс информирования — это не надёжно, именно по этой причине выполняется прозвон при срабатывании датчиков, смс может прийти через 10, 20,50 минут.
мне уже заебалосьизвините, я уже устал Вам разъяснять что и как работает, считаете что это не правильно, берите открытый скетч и сделайте то, что вам нужно.Зачем придумывать себе какие-то сложности?
Переход на платформу ESP будет начат примерно месяца через 2-3, за это время отловятся возможные баги текущего проекта. Так же в ближайшее время будет печатная плата в спринт лайоте, со всем возможным обвесом, модем будет использован SIM800L и PCF8574P для дополнительных 8 датчиков.
ЗЫ. Спасибо за проект! Ввод доп. пина постановки/снятия существенно расширяет возможности системы.
Подтягивать не нужно, тупо цепляем датчик на ногу и командой меняем название датчика и выставляем уровень по которому он будет срабатывать.
Если остались вопросы, задавайте.
Алгоритм: «геркон» разомкнут, ставлю кнопкой на охрану, светодиод красный мигает, замыкаю геркон, цепь замкнута светодиод загорелся. Размыкаю геркон и начинает сыпать в терминале. фулресет делал. Модем А6
пы сы. проверка баланса *111# тоже не приходит ответ
Ещё вопрос. Если модуль позвонит абоненту, а абонент не сбросит, то как долго будет проходить вызов?
Например: Геркон с задержкой на открытие/закрытие стоит на входной двери если в эту цепь поставить герконы на другие окна двери то появляется уязвимость, есть время открыть то же окно и сигналка включится не сразу. А вот если добавить 2-й вход то можно разделить 2 контура, входную дверь и все остальные открывающиеся «дырки». Опять же с контролем цепи. Если вход остается не задействованный то его просто можно закоротить перемычкой.
Для высвобождения памяти может стоит выкинуть в последующих вариантах прошивки расширитель портов. Ведь у него нет контроля цепи. Да и Вы сами сказали, что он многим не нужен.
— не всегда, часто они массивные из толстой арматуры
У меня из десятки и окна небольшие — 70*100 см.
Можно высвободить немного памяти убрав команду i2cscan и всё что с ней связано. Но тогда принудительно придётся ПЦФке выставлять перемычками нужный адрес.
Мне кажется лучше оставить этого «монстра» как есть, взять небольшой перерыв для тестирования и уже потом переезжать на другую платформу.
Считаю, что для бюджетной сигнализации в этом устройстве функционала достаточно, работает стабильно уже больше 6 месяцев, если не учитывать кривизну некоторых прошивок :)
DelayBeforeAlarm
эти функции будут?
Ну если сюда не влезет то идея на следующий проект ))
У кого ещё такой баг? или это мой модем…
Power supply disconnected!
Power supply restored!
Power supply disconnected!
Power supply restored!
Power supply disconnected!
Power supply restored!
Power supply disconnected!
Power supply restored!
Power supply disconnected!
Power supply restored!
Power supply disconnected!
Power supply restored!
Power supply disconnected!
Power supply restored!
Power supply disconnected!
Power supply restored!
Power supply disconnected!
Power supply restored!
Power supply disconnected!
Power supply restored!
Power supply disconnected!
Power supply restored!
Power supply disconnected!
Power supply restored!
Power supply disconnected!
Это где-то в течении секунды. Т.е. похоже «дребезг» определения состояния пина. Предлагаю как-то с ним бороться. Скажем задержкой или еще как. Может этот дребезг связан с конденсатором в 1000 мкФ на входе Ардуины. Но он в любом случае будет на модеме стоять, так что проблема останется. Я еще к этой чистовой сборке не подключил модем и не знаю будет ли оно только один раз отсылать состояние, или на каждую строчку в логе выше. Хм. Или при наличии модема не будет этого дребезга? Подключу — проверю.
Power supply disconnected!
NOT Sent! +какой-то_телефон -> Power supply disconnected!
Power supply restored!
NOT Sent! +какой-то_телефон -> Power supply restored!
Power supply disconnected!
NOT Sent! +какой-то_телефон -> Power supply disconnected!
Надо все же с ним как-то бороться.
И еще по сработке — сигналка только один раз звонит? Если не было ответа/сброса она второй раз не перезванивает? Причем звонит не долго — можно легко не услышать :(. Об СМС вообще молчу — там что-то пикнуло и все. Может есть смысл чтобы она еще пару-тройку раз набрала если NO ANSWER?
Еще была какая-то непонятка с PCF8574, но еще внимательно не разбирался — если разрыв геркона (он же между +питания и портом подключается?) то сработки нету. Но если порт подключить к земле — срабатывает. Может таки нужна подтяжка к земле — еще не пробовал. С ПИР-сенсором работает норм (правда подключал всего 1 штуку пока).
Power supply restored!
NOT Sent!
Power supply disconnected!
NOT Sent!
Power supply restored!
NOT Sent!
Power supply disconnected!
NOT Sent!
Alarm! Main sensor!
NOT Sent!
OK
BUSY
Не пишет куда нот сент и не отобразило звонок по тревоге, хотя сам звонок был. Т.е. работать работает, а в порт шлет не всё.
Команда WatchPowerOn1 в мониторе возвращает эррор, по СМС работает как положено. В принципе не критично, но нужно мануал подправить.
Теперь вопросы:
1) Какие номиналы резисторов делителя напряжения установлены?
2) Какой блок питания используется?
3) Какое напряжение на выходе блока питания?
4) Куда подключен делитель напряжения, напрямую к блоку питания?
Дребезга быть не должно, проверяйте источник питания.
Да
Нет, если вы не услышали первый вызов, то вероятно и последующие тоже вы не услышите.
Там всё очень просто, прочтите описание и пример команды EditSensor
Разберитесь сначала с питанием, возможно эта проблема тоже исчезнет.
Это норма, все консольные команды передаются модему, модем такой команды не знает, о чём вам и говорит сообщением ERROR.
Сейчас — лабораторник DPS5005
20 В. А после блока питания стоит понижайка MP1584en настроенная на 4,7 В (соответственно после диодов имеем на выходе 4,20 В).
К выходу понижайки.
Питание в течении секунды не может 10 раз подаваться и исчезать :(. Но может и снижается плавно, а не резко пропадает. Причем количество зарегистрированных «передергиваний» изменяется от 13 при отсутствии модема в схеме до двух передергиваний при «тихом режиме». Ну а если отправляется СМС — то лишние передергивания не фиксируются — ардуина занята отправкой СМС.
Через пару часов проверю на 2 устройствах, при SmsOff.
На выходе понижайки может быть «полный высокочастотный хаос», который «сводит с ума» ардуину. Именно по этой причине отказался от них при работе с модемом.
Сама Ардуина чувствует себя хорошо :). На выходе понижайки уже суммарно 3 тыс. мкФ емкостей навешано, просто раньше было 2 тыс. и после выхода платы переключения питания, теперь добавил еще 1 тыс. на входе.
Похоже без конденсатора понижайка на выходе какие-то импульсы выдавала еще, конденсатор это все сгладил.
Проблема в питании. Ищите, анализируйте.
Отправка смс отключена, ардуина после реального вызова мигает LedTest'ом, и через пол минуты приходит ложный вызов, причём не важно какой модем, 590 или 800. Картина везде одна и та же.
Однозначно могу сказать что этот баг появился совсем недавно, иначе я бы его заметил сразу, так как сигнализация установлена дома, включается и выключается каждый день.
Есть предположение что это оператор посылает фиктивный вызов, так как «баг» присутствует во всех выложенных прошивках.
Есть идеи?
ЗЫ Для тех у кого ситуация аналогичная, используем смс команды GuardOn и GuardOff, это неудобно, но пока не разберёмся используем эти альтернативные команды.
Всё дело в задержке, нельзя модемом сразу отбивать, оборудование оператора «не понимает» мгновенный сброс линии, и через некоторое время прилетает «ложный вызов».
У меня подобная сигнализация, но не такой богатый функционал. Только самое необходимое. Подключено 7 датчиков: геркон, PIR-датчик, радар, DHT11, MQ-2, два датчика огня. Полный фарш. Есть функция определения координат по базовым станциям.
Накатал универсальный класс для датчиков (все кроме DHT11), который отслеживает изменение уровня сигнала на цифровом пине. Так же возвращает показания аналогового пина.
файл sensor.h
файл sensor.cpp
Инициализация:
В итоге оперативки мало ест. Вместе с отладочным выводом информации память программ 63%, оперативная 44,3%. Поэтому меня удивляет, что у вас всё в притык с памятью. Конечно у вас функционала поболе. Может поэтому. Я храню номер админа в симкарте. EEPROM для этого не использую. В EEPROM записывается текст смс перед отправкой. Если смс по какой-то причине не ушла, то через минуту происходит повторная отправка. Даже если МК перезагрузится, он всё равно будет знать что есть неотправленная смс, и будет пытаться её отослать, пока не придёт сообщение +CMGS о том, что смс ушла. Так же я отказался от переменных типа String, они едят много памяти. Всё кладу в обычный байтовый массив. Для поиска подстроки в массиве есть стандартные сишные функци, например strstr(). За место переменных для флагов стараюсь использовать биты. В байт помещается 8 флагов.
Сейчас перевожу код под SIM800L. Буду использовать DTMF. Попробую отказаться от смс полностью. Постараюсь сделать голосовой ответ. Ведь SIM800L может воспроизводить заранее записанные аудиоданные. Сообщит голосом что сработало. Так можно звонить бесплатно в одной сети.
Может мои идеи чем помогут.
Пользуюсь недавно, пока сдвоенных рингов не было. Без неё были. Сам механизм мне не ясен, как уровни могут влиять на это. Сейчас уже перехожу на SIM800l. С ним такого не замечал ещё.
СИМка ТЕЛЕ2. В телефоне ведёт себя нормально.
Работает только на скорости 19200. Переключаю на 9600, кратковременно переключается, идут крякозябры секунды 2, потом снова на 19200 переключается сам.
И модуль не сгорел. Работает.
Такое возбуждение модуля, как описывал выше, пропало. Но после второго или третьего перезапуска питания снова появилось. Убрал дополнительный конденсатор на 3300,0 по питанию, и прекратилось. Несколько раз перезапускал, всё нормально.
А что, скорость надо после каждого включения выставлять? Включается всегда 19200. И АОН снова приходится включать…
Или можно ли сделать так: Если напряжение >=3в — сетевое напряжение есть, если <=2.75-сетевое напряжение пропало.
Нужно для контроля напряжения УПС 12В там подается на выход 13,6 при отключении сети на выходе с заряженным аккумулятором 12,5.
Если измеряет 3в тогда можно так: >= 3в сетевое напряжение есть, <= 2.7 сетевое напряжение пропало, <=2 критический разряд аккумулятора
Расчёт тут.
Если выше 2.52 В — высокий уровень.
Если ниже 1.26 В — низкий уровень.
Если от 1,27 до 2,51 — «неопределённое» состояние.
Увы. Измерять надо аналоговым пином. Пример.
Измеряет криво, значения не точные.
Кварц должен быть рядом с контроллером.
Ну и конвертер уровней для rx-tx лучше нормальный добавить. У Sim800 3,3v уровни
GuardButtonOn1 будет только ставить под охрану — нажал на кнопку перед выходом с помещения, отработала задержка пока закрыл и все, снять той же кнопкой уже нельзя, только звонок или смс.
GuardButtonOn2 пусть работает как есть на данный момент — и ставит под охрану и снимает.
Ну и GuardButtonOff тоже как обычно отключение данной опции.
Согласен. Будет в ближайшей прошивке.
Прошивка последняя
без охраны — Д4 включился на секунду
на охране -Д4 включился как при нарушении геркона
глюк проявляется в момент возврата основного питания
Там всё функции что отправляют «тревожные» сообщения тоже запускают этот баг. Поправлю.
Помогите пожалуйста! Собрал плату все работает, но есть проблема! Монитор порта в Arduino IDE работает через внешний TTL FTDI 232 все видит команды принимает. А вот прошиться с него XLoader-ом не получается. Светодиоды rx tx даже не моргают. Мегу прошил через ардуину и перепаял в плату, но это не выход. Припаивал даже с ардуины проводками 30 и 31 ногу всеравно не прошивается
Прошивалка переустанавливает соединение — конвертер ребутает МК — стартует бутлоадер и несколько миллисекунд ждет прошивку.
SmsOn-включает режим оповещения о постановке на охрану, снятие и тревога.
SmsOn1-оповещает только тревога.
Всетаки какая ни какая, а экономия денежных средств))))
Каким то образом AlarmInterval установился в 0. Еще бывает после «сработки» геркона (несколько раз подряд его дергать) контроллер зависает, а модем продолжает работать. Глюк не постоянный пока не могу понять зависимость, может не хватает питания 3,9-3,7в. Когда подключен к терминалу глюк ни разу не проявился. Питание внешнее +аккумулятор
Не замечал. Ваша модификация устройства сильно отличается от оригинала, возможно в этом причина?
Так?
Наводки от модема не ловит? Или нужно выносить подальше?
yadi.sk/a/2n7QU1Ru3GpueH
Ctrl+Alt+S
И в папке со скетчем забираем HEX-файл.
Подтяжка на неиспользуемых пинах тоже включена?
А по поводу пустых пинов, решил сначала попробовать без подтяжки пустых пинов, получилось и не фонит решил так оставить, но если плату буду делать конкретную то обязательно кондеров натыкаю везде.
D2, D3, D5 — я чего-то не знаю? :)
Для подключения дополнительных герконовых датчиков используем свободные цифровые пины D2,D3,D5 или D7. Схема подключения с дополнительным датчиком на D7.
Прошу прощения, но это ваши слова!!!
Я только повторил.
Возможно это просто уже не актуально
yadi.sk/a/kg5tCCj33GuXmr
Если реализовано не то, опишите пожалуйста подробнее необходимое изменение.
Все хвастаются своими поделками, решил и я похвастаться своей платой )). Снятие и постановка на охрану внешним контроллером IButton.
+CIEV: «MESSAGE», 1
+CMT: "+79220000000", ,«2017/04/18,19:55:30+05»
Info
SMS from: +79220000000 — на это ответ приходит
+CIEV: «MESSAGE», 1
+CMT: "+79220000000", ,«2017/04/18,19:57:43+05»
Money
SMS from: +79220000000 — а на этот запрос не приходит и с симкой теле 2 пробовал и с симкой билайна не приходит хоть ты тресни не могу понять почему и в чем причина
Включите режим TestOn и посмотрите что в консоль выводится при получении этих сообщений.
Init params.
…
Read eepromconfig:
SendSms: 1
AlarmRing: 1
LedTestOn: 0
LedOn: 1
Guard: 1
PauseTime: 15
AlarmInterval: 60
PIRGuard: 1
WatchExtPower: 1
GuardButtonEnable: 1
Read array phone:
1 -> 79220000000 -> 1 -> 1
2 -> 79050000000 -> 1 -> 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
Number: #100#
Length to return: 22
I2C devices not found
Start working.
System -> Guard on
+CIEV: «MESSAGE»,1
+CMT: "+79220000000",,«2017/04/19,17:49:08+05»
Money
SMS from: +79220000000
Вот а в ответ тишина
Хотя уже на транслит переключил запрос USSD
+cmt:"+79220000000",,«2017/04/19,18:09:44+05»
money
+CME ERROR:50
Init params.
…
Read eepromconfig:
SendSms: 1
AlarmRing: 1
LedTestOn: 0
LedOn: 1
Guard: 1
PauseTime: 15
AlarmInterval: 60
PIRGuard: 1
WatchExtPower: 1
GuardButtonEnable: 1
Read array phone:
1 -> 79226950000 -> 1 -> 1
2 -> 79058390000 -> 1 -> 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
Number: #100#
Length to return: 22
I2C devices not found
Start working.
System -> Guard on
+CIEV: «MESSAGE»,1
+CMT:"+79226950000",,«2017/04/19,17:49:08+05»
Money
SMS from: +79226950000
+CIEV: «MESSAGE»,1
+CMT:"+79226950000",,«2017/04/19,18:09:14+05»
TestOn
SMS from: +79226950000
+ciev: «message»,1
+cmt:"+79226950000",,«2017/04/19,18:09:14+05»
teston
+CIEV: «MESSAGE»,1
+CMT:"+79226950000",,«2017/04/19,18:09:44+05»
Money
SMS from: +79226950000
+ciev: «message»,1
+cmt:"+79226950000",,«2017/04/19,18:09:44+05»
money
+CME ERROR:50
а6 мини.
И сработку сирены (пинов на реле) как раз можно было бы сделать только от основного геркона, а то мало ли эти ПИР датчики дадут ложное срабатывание и будет сирена визжать почем зря.
Последнее обновление существенно изменило логику работы устройства. Возможны ошибки в работе.
+CMT: "+79226950000",,«2017/04/23,09:10:03+05»
Money
SMS from: +79226950000
+ciev: «message»,1
+cmt: "+79226950000",,«2017/04/23,09:10:03+05»
money
AT+CUSD=1,"#100#"
+CME ERROR:50
Это на мегафоне
+ciev: «message»,1
+cmt: "+79226950000",,«2017/04/23,09:12:32+05»
money
AT+CUSD=1,"#105#"
+CME ERROR:50
Это на теле 2 ошибка та же №50
+CIEV: «MESSAGE»,1
+CMT: "+79226950000",,«2017/04/23,09:52:48+05»
Money
SMS from: +79226950000
+ciev: «message»,1
+cmt: "+79226950000",,«2017/04/23,09:52:48+05»
money
AT+CUSD=1,"#100#",15
USSD query:
OK
+CUSD: 2, «102.93r.Na balanse 0? Popolni schet Obeshhanny`m platezhom: *282#» ,68
Sent! +79226950000 -> 102.93r.Na balanse 0?
OK
+CUSD: 2, «102.93r.Na balanse 0? Popolni schet Obeshhanny`m platezhom: *282#» ,68
AT+CMGS="+79226950000"
> 102.93r.Na balanse 0?
+CMGS: 61
OK
AT+CUSD=0
И команда инфо заработала
только ,15 добавлено.
Не могу отловить баг с кнопкой, при GuardButtonOn2 в некоторых случаях устройство позволяет снимать с охраны.
1 -> 79226950000 -> 1 -> 1
2 -> -> 0 -> 0
3 -> -> 0 -> 0
4 -> -> 0 -> 0
5 -> -> 0 -> 0
6 -> Ч]% -> 93 -> 26
7 -> % -> 0 -> 0
8 -> -> 0 -> 0
9 -> -> 0 -> 0
10 -> -> 0 -> 0
А еще у меня вопрос по 6 и 7 строчке что это?
НЕ убирается никак
EEPROM: 1024B
Test passed.
MemTest
+CME ERR
Потом после команды FullReset
Deleting eepromconfig data.
Load default eepromconfig data.
AlarmInterval is: 60
Read eepromconfig:
SendSms: 1
AlarmRing: 1
TestOn: 0
LedOn: 1
Guard: 1
PauseTime: 15
AlarmInterval: 60
PIRGuard: 0
WatchExtPower: 1
GuardButtonEnable: 0
DelayBeforeGuard: 0
DelayBeforeAlarm: 0
Deleting phone data.
Load 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.
Load default balance data.
Number: #100#
Length to return: 22
И после перезагрузки все офигенно стало чисто
GSM Alarm 17.04.22
Init params…
Read eepromconfig:
SendSms: 1
AlarmRing: 1
TestOn: 0
LedOn: 1
Guard: 1
PauseTime: 15
AlarmInterval: 60
PIRGuard: 0
WatchExtPower: 1
GuardButtonEnable: 0
DelayBeforeGuard: 0
DelayBeforeAlarm: 0
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
Number: #100#
Length to return: 22
Deleting sensor data.
Load default sensor data.
I2C devices not found
Go!
System -> Guard on
только ,15 добавлено.))) Таким образом получиться стабильная прошивка с работающим запросом баланса для модемов A6 mini. Если не очень трудно может попробуем. Уж сильно мне та версия нравиться ни одного глюка пока не было.
Я тоже ловил сегодня пустые смс после info причём постоянно, сейчас проверил на 590-ом:
Видимо нужно собирать ещё одну сингалку на а6 для полноценного тестирования :)
КАк то так пока
+CMT: "+79226950000",,«2017/04/24,19:03:07+05»
Info
SMS from: +79226950000
Sent! +79226950000 ->
Пустая строка
+CMT: "+79226950000",,«2017/04/24,20:15:58+05»
Info
SMS from: +79226950000
Sent! +79226950000 ->
И спустя час та же самая история
Прошивка GSM_2017_03_12-20-04.hex работала с 12 марта без нареканий. И сейчас работает. Думаю, что ардуина вела бы себя странно и на ней, но нет.
Попробую newtest.hex — отпишусь.
Датчика движения нет. Использую только геркон и делитель для контроля питания.
money, watchpoweron1 — выполняются.
info — присылает пустое сообщение.
есть подозрение что при загрузке/скачивании хекса с ним происходит что-то не то.Не подтвердилось, файлы одинаковые.также обратил внимание на то что текст ответа на info бывает «разным»
System -> Guard ON — Поставлено на охрану до перезагрузки устройства, говорит о том, что устройство выключалось и после включения никто им не управлял.
Guard ON. Phone +xxxxxxxx — Поставлено на охрану по звонку или смс с номера +xxxxxxxx
Guard ON. Button — Поставлено на охрану внешним устройством
Guard ON. Console — Поставлено на охрану с помощью консольной команды.
Аналогично OFF.
//Исправлен баг при котором команда ListConfig меняла значение последнего события.
//Теперь при вводе команд через косоль не отправляются ненужные смс сообщения.
потом через 15 секунд
В ответ получите что-то вроде этого:
После вывода можно выполнить TestOff для выхода из тестового режима.
Покажите что у Вас будет в ответе.
скриншоты делал с newtest-extended.zip
GSM_2017_04_25-20-54.hex все равно пустой ответ на info
gsm20170426102958.zip
Init params…
Read eepromconfig:
SendSms: 1
AlarmRing: 1
TestOn: 0
LedOn: 1
Guard: 0
PauseTime: 15
AlarmInterval: 60
PIRGuard: 0
WatchExtPower: 1
GuardButtonEnable: 0
DelayBeforeGuard: 0
DelayBeforeAlarm: 0
Read array phone:
1 -> (номер затерт) -> 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
Number: *100#
Length to return: 16
I2C devices not found
Go!
System -> Guard OFF.
+CMT: "+(номер затерт)","",«17/04/26,11:08:31+12»
Info
SMS from: +(номер затерт)
----TEST----
1 LastEvent:
System -> Guard OFF.
2 SMSText:
Info: PIR
3 SMSText:
Info: PIR OFF.
4 LastEvent:
System -> Guard OFF.
5 SMSText:
Info: PIR OFF. System -> Guard OFF.
----TEST----
AT+CMGS="+(номер затерт)"
Info: PIR OFF. System -> Guard OFF.
Sent! +(номер затерт) -> Info: PIR OFF. System -> Guard OFF.
Ring from: +(номер затерт)
Guard ON. Phone +(номер затерт)
AT+CMGS="+(номер затерт)"
Guard ON. Phone +(номер затерт)
Sent! +(номер затерт) -> Guard ON. Phone +(номер затерт)
+CMT: "+(номер затерт)","",«17/04/26,11:09:37+12»
Info
SMS from: +(номер затерт)
----TEST----
1 LastEvent:
Guard ON. Phone +(номер затерт)
2 SMSText:
Info: PIR
3 SMSText:
Info: PIR OFF.
4 LastEvent:
Guard ON. Phone +(номер затерт)
5 SMSText:
Info: PIR OFF. Guard ON. Phone +(номер затерт)
----TEST----
AT+CMGS="+(номер затерт)"
Info: PIR OFF. Guard ON. Phone +(номер затерт)
Sent! +(номер затерт) -> Info: PIR OFF. Guard ON. Phone +(номер затерт)
Alarm! Main sensor!
AT+CMGS="+(номер затерт)"
Alarm! Main sensor!
Sent! +(номер затерт) -> Alarm! Main sensor!
+CMT: "+(номер затерт)","",«17/04/26,11:11:21+12»
Info
SMS from: +(номер затерт)
----TEST----
1 LastEvent:
Guard ON. Phone +(номер затерт)
2 SMSText:
Info: PIR
3 SMSText:
Info: PIR OFF.
4 LastEvent:
Guard ON. Phone +(номер затерт)
5 SMSText:
Info: PIR OFF. Guard ON. Phone +(номер затерт)
----TEST----
AT+CMGS="+(номер затерт)"
Info: PIR OFF. Guard ON. Phone +(номер затерт)
Sent! +(номер затерт) -> Info: PIR OFF. Guard ON. Phone +(номер затерт)
+CMT: "+(номер затерт)","",«17/04/26,11:11:55+12»
Money
SMS from: +(номер затерт)
USSD query:
+CUSD: 1,«Balans **.* rub; LP 0; Info o MB, min *105#; Znakomstva i muzyka! Zvon i 2222 besplatno
1.Dalee
», 15
AT+CMGS="+(номер затерт)"
Balans **.* rub
Sent! +(номер затерт) -> Balans 1.60 rub
+CMT: "+(номер затерт)","",«17/04/26,11:12:28+12»
Info
SMS from: +(номер затерт)
----TEST----
1 LastEvent:
Guard ON. Phone +(номер затерт)
2 SMSText:
Info: PIR
3 SMSText:
Info: PIR OFF.
4 LastEvent:
Guard ON. Phone +(номер затерт)
5 SMSText:
----TEST----
AT+CMGS="+(номер затерт)"
Sent! +(номер затерт) ->
**Пришло пустое SMS
USSD query:
+CUSD: 2
+CMT: "+(номер затерт)","",«17/04/26,11:17:00+12»
Info
SMS from: +(номер затерт)
----TEST----
1 LastEvent:
Guard ON. Phone +(номер затерт)
2 SMSText:
Info: PIR
3 SMSText:
Info: PIR OFF.
4 LastEvent:
Guard ON. Phone +(номер затерт)
5 SMSText:
----TEST----
AT+CMGS="+(номер затерт)"
Sent! +(номер затерт) ->
**Пришло пустое SMS
вывод консоли. info через смс
+CMT: "+(номер затерт)","",«17/04/26,17:20:04+12»
Info
SMS from: +(номер затерт)
----TEST----
1 LastEvent:
System -> Guard ON.
2 SMSText:
Info: PIR
3 SMSText:
Info: PIR OFF.
4 LastEvent:
System -> Guard ON.
Info: PIR OFF.
5 InfoSMSText:
6 SMSText:
----TEST----
AT+CMGS="+(номер затерт)"
Info: PIR OFF. System -> Guard ON.
Sent! +(номер затерт) -> Info: PIR OFF. System -> Guard ON.
Ring from: +(номер затерт)
Guard OFF. Phone +(номер затерт)
AT+CMGS="+(номер затерт)"
Guard OFF. Phone +(номер затерт)
Sent! +(номер затерт) -> Guard OFF. Phone +(номер затерт)
+CMT: "+(номер затерт)","",«17/04/26,17:20:51+12»
Info
SMS from: +(номер затерт)
----TEST----
1 LastEvent:
Guard OFF. Phone +(номер затерт)
2 SMSText:
Info: PIR
3 SMSText:
Info: PIR OFF.
4 LastEvent:
Guard OFF. Phone +(номер затерт)
Info: PIR OFF.
5 InfoSMSText:
6 SMSText:
----TEST----
AT+CMGS="+(номер затерт)"
Info: PIR OFF. Guard OFF. Phone +(номер затерт)
Sent! +(номер затерт) -> Info: PIR OFF. Guard OFF. Phone +(номер затерт)
Ring from: +(номер затерт)
Guard ON. Phone +(номер затерт)
AT+CMGS="+(номер затерт)"
Guard ON. Phone +(номер затерт)
Sent! +(номер затерт) -> Guard ON. Phone +(номер затерт)
+CMT: "+(номер затерт)","",«17/04/26,17:21:54+12»
Info
SMS from: +(номер затерт)
----TEST----
1 LastEvent:
Guard ON. Phone +(номер затерт)
2 SMSText:
Info: PIR
3 SMSText:
Info: PIR OFF.
4 LastEvent:
Guard ON. Phone +(номер затерт)
Info: PIR OFF.
5 InfoSMSText:
6 SMSText:
----TEST----
AT+CMGS="+(номер затерт)"
Info: PIR OFF. Guard ON. Phone +(номер затерт)
Sent! +(номер затерт) -> Info: PIR OFF. Guard ON. Phone +(номер затерт)
Alarm! Main sensor!
AT+CMGS="+(номер затерт)"
Alarm! Main sensor!
Sent! +(номер затерт) -> Alarm! Main sensor!
+CMT: "+(номер затерт)","",«17/04/26,17:22:42+12»
Info
SMS from: +(номер затерт)
----TEST----
1 LastEvent:
Guard ON. Phone +(номер затерт)
2 SMSText:
Info: PIR
3 SMSText:
Info: PIR OFF.
4 LastEvent:
Guard ON. Phone +(номер затерт)
Info: PIR OFF.
5 InfoSMSText:
6 SMSText:
----TEST----
AT+CMGS="+(номер затерт)"
Info: PIR OFF. Guard ON. Phone +(номер затерт)
Sent! +(номер затерт) -> Info: PIR OFF. Guard ON. Phone +(номер затерт)
+CMT: "+(номер затерт)","",«17/04/26,17:23:03+12»
Money
SMS from: +(номер затерт)
USSD query:
+CUSD: 1,«Balans **.* rub; LP 0; Info o MB, min *105#; Znakomstva i muzyka! Zvoni 2222 besplatno
1.Dalee
», 15
AT+CMGS="+(номер затерт)"
Balans **.* rub
Sent! +(номер затерт) -> Balans **.* rub
+CMT: "+(номер затерт)","",«17/04/26,17:23:35+12»
Info
SMS from: +(номер затерт)
----TEST----
1 LastEvent:
Guard ON. Phone +(номер затерт)
2 SMSText:
Info: PIR
3 SMSText:
Info: PIR OFF.
4 LastEvent:
Guard ON. Phone +(номер затерт)
Info: PIR OFF.
5 InfoSMSText:
6 SMSText:
----TEST----
AT+CMGS="+(номер затерт)"
Sent! +(номер затерт) ->
**пришло пустое смс
info выполнена из консоли
info
----TEST----
1 LastEvent:
System -> Guard OFF.
2 SMSText:
Info: PIR
3 SMSText:
Info: PIR OFF.
4 LastEvent:
System -> Guard OFF.
Info: PIR OFF.
5 InfoSMSText:
6 SMSText:
----TEST----
Info: PIR OFF. System -> Guard OFF.
guardon
Guard ON. Console
AT+CMGS="+(номер затерт)"
Guard ON. Console
Sent! +(номер затерт) -> Guard ON. Console
info
----TEST----
1 LastEvent:
Guard ON. Console
2 SMSText:
Info: PIR
3 SMSText:
Info: PIR OFF.
4 LastEvent:
Guard ON. Console
Info: PIR OFF.
5 InfoSMSText:
6 SMSText:
----TEST----
Info: PIR OFF. Guard ON. Console
Вот мой лог с sim800l, всё отлично:
два дня полет нормальный. info тоже отвечает.
команда info работала-работала и вдруг ответила:
после многократных постановок на охрану и снятия продолжает присылать только Info:PIR OFF.
Телефонный номер добавлен только один.
+CMT: "+79226950000",,«2017/04/26,00:32:32+05»
Money
SMS from: +79226950000
USSD query:
OK
+CUSD: 2, «60.43r.Poluchi 1000r k balansu! Viktorina za 5r/d. Zhmi: *242#» ,68
AT+CMGS="+79226950000"
60.43r.Poluchi 1000r
Sent! +79226950000 -> 60.43r.Poluchi 1000r
Alarm! PIR sensor!
AT+CMGS="+79226950000"
Alarm! PIR sensor!
Sent! +79226950000 -> Alarm! PIR sensor!
Ring from: +79525000000
Ring from: +
RING
RING
+CIEV: «MESSAGE»,1
+CMT: "+79525000000",,«2017/04/26,06:32:13+05»
§ї§д§а§д §С§Т§а§Я§Ц§Я§д §б§н§д§С§Э§г§с §Ј§С§Ю §б§а§Щ§У§а§Я§Ъ§д§о
SMS from: +79525000000
А это смс:
Это скорее всего пришла смс что «абонент снова в сети».
ЗЫ. Там же и примеры команд.
А теперь все команды можно и даже смс вводить через консоль, за что большое спасибо говорим уважаемому kvolk.
arduino.ru/forum/programmirovanie/zapis-i-chtenie-eeprom#comment-184527
radioprog.ru/post/117
Пока не планирую выкладывать это открытый доступ.
gsm20170427134411.zip я конечно попробую но хотелось бы знать чего ожидать от неё.
Guard: 1
PauseTime: 15
AlarmInterval: 60
PIRGuard: 0
WatchExtPower: 1
GuardButtonEnable: 1
DelayBeforeGuard: 10
DelayBeforeAlarm: 10
Read array phone:
1 -> 000000000000 -> 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
Number: *101#
Length to return: 26
I2C devices not found
Go!
System -> Guard ON.
С открытием как раз все нормально. Я говорю про закрытие DelayBeforeGuard. Собрано все на столе я просто моделирую ситуацию.
Вы находитесь в квартире дверь закрыта(геркон замкнут), ставите на охрану кнопкой/звонком, выходите из квартиры открываете дверь (размыкая геркон) и закрываете дверь (замкнули геркон) по истечении 10 секунд сигналка должна стать на охрану(если не нарушена цепь геркона) но она по истечении этого времени включает тревогу и звонит.
Функция DelayBeforeGuard работает в том случае если перед постановкой на охрану геркон разомкнут
починю в ближайшее время
GSM_2017_05_06-11-52.hex
Но вот плату расширения портов прикрутить так и не смог.
Прописываю EditSensor:1+Datchik1#h
Перегружаю ардуину, подаю на вывод Р0 + питания и ничего.
Прописываю EditSensor:2+Datchik2
Подаю на порт Р1 землю и снова ничего.
В консоль ничего не пишет, i2cscan говорит по какому адресу находится устройство, сигнализация стоит под охраной когда проверяю.
И еще: я командой EditSensor выставил половину портов срабатывать от низкого уровня, а вторую половину от высокого. На порты подавал землю и +питания при поставленой под охрану сигнализацией — результат нулевой. На всех пинах расширителя портов присутствует напряжение ~+4,4В (как и напряжение питания).
Была мысль что недостаточно напряжение, откинул модем и поднял до 5В, ничего не изменилось.
Я не совсем понимаю как работает этот расширитель портов, и как сигнализация ищет датчики в вашей реализации, возможно поэтому я просто туплю в какой-то мелочи?
Не надо :)
Если найдено устройство по адресу от 0x20 до 0x27 то устройство считается расширителем портов и в работу берётся устройство с максимальным адресом (если вдруг подключили несколько расширителей), после чего читается из памяти запрограммированное состояние датчиков и постоянно сверяется с текущим, если какой-то из пинов расширителя находится «не в том» состоянии, срабатывает тревога.
ЗЫ На выходных проверю.
А когда сжег, то игрался с этими https://aliexpress.com/item/item/1pcs-Serial-Board-Module-Port-IIC-I2C-TWI-SPI-Interface-Module-for-Arduino-1602-LCD-Display/32262710755.html
Именно последняя выдавала адрес 0x3f
Используйте устройства по назначению.
Как удалось сжечь первый модуль? Он то как раз должен работать «из коробки».
Сжег его уже после нескольких неудачных попыток. Он так же имел адрес больше чем 0x27
у меня кстати на последней прошивке (не сегодняшней) от 06.05 в ответ на команду info все время теперь приходят пустые смс. Вот вывод лога в консоль
+CMT: "+38073204хххх",,«17/05/07,11:08:18+18»
Info
SMS from: +38073204хххх
----TEST----
1 LastEvent: Guard ON. Phone +38073204хххх
2 SMSText: Info: PIR
3 SMSText: Info: PIR ON.
4 LastEvent: Guard ON. Phone +38073204хххх
5 SMSText: Info: PIR ON. Guard ON. Phone +38073204хххх
----TEST----
AT+CMGS="+38073204хххх"
Sent! +38073204хххх ->
+cmt: "+38073204хххх",,«17/05/07,11:08:18+18»info
AT+CMGS="+38073204хххх"
>
+CMGS: 66
OK
команду посылал смской. На предыдущей от 30.04 такого не было.
И еще одно победить ложные сработки датчика движения удалось заменой провода на экранированый. Экран с обеих сторон посадил на землю
команды. Зато моней работает на ура.
По умолчанию сигналка звонит всегда на 1-й номер, а если ей задать параметр r, чтобы после того как она отзвонилась на 1й номер в списке (неважно был ответ или нет) начинала звонить на следующий номер с параметром r
1) Сработал датчик
2) Отправляет смс по всем номерам
3) Звонит на первый номер в фоновом режиме до тех пор пока не отобьёт абонент или «опсос».
4) Продолжает своё функционирование.
Как вариант добавить обзвон по таймауту, например 30 сек на первый номер, потом 30 сек на второй, и так далее и
похерувсё равно ответят там или нет, увидят ли звонок…команда AddPhone будет иметь параметры:
s — sms уведомление (sms)
r — уведомление голосовым вызовом (ring)
p — уведомлять об отключении питания (power)
Если ещё есть идеи, пишите, лучше заранее продумать логику работы.
Логически несовместимо.
В любом случае оператор отобьёт вызов.
Как вариант ввести параметр "RingTime" со значением от 10 и до 255 секунд, влияющий на продолжительность вызова, то есть:
listconfig
Read eepromconfig:
SendSms: 0
AlarmRing: 1
TestOn: 0
LedOn: 1
Guard: 0
PauseTime: 15
AlarmInterval: 60
PIRGuard: 0
WatchExtPower: 1
GuardButtonEnable: 1
DelayBeforeGuard: 10
DelayBeforeAlarm: 10
Number: *101#
Length to return: 26
listphone
Read array phone:
1 -> 380670000000 -> 1 -> 1
2 -> 380950000000 -> 1 -> 1
3 -> -> 0 -> 0
4 -> -> 0 -> 0
5 -> -> 0 -> 0
6 -> -> 0 -> 0
7 -> -> 0 -> 0
8 -> -> 0 -> 0
9 -> -> 0 -> 0
10 -> -> 0 -> 0
PS: При тревоге модем не звонит на телефон.
ЗЫ Проверяйте модемы и цепи питания модемов.
С ардуино начинаю только знакомиться. До этого потихоньку научился программировать микроконтроллеры AVR и PIC.
Суть вопроса такова. Подключил и залил Hex файл в Ардуино Нано. Программа зашилась и работает. Для визуализации работы программы подключил светодиод на порт D4 и GND. Подключил модуль М590Е, согласно приведенной схемы. Открываю программу для Ардуино. Посылаю команду Guard On или Guard Off. Сигнализация становится, либо снимается с охраны. При размыкании геркона, сигнализация срабатывает. Контроль по наличию питания тоже работает.
Так вот, перечитал несколько раз комментарии и так и не понял, как добавить свой главный и второстепенные телефоны?
Посылал команды ResetPhone и FullReset через программу Ардуины. Модуль ни как не хочет звонить. Питание 4,2В подаётся через преобразователь на LM2596. Конденсатор по питанию 2200мкФ. До этого модуль М590Е стоял и прекрасно работать вместе с сигнализацией, собранной мною на PIC16F628A. После танцев с бубном, подключил модуль обратно к своей сигнализации и он не работает!!! Подключил к М590Е USB TTL преобразователь. Скорость на модуле изменилась. Выставил обратно 9600. АТ команды модуль принимает. На телефон жены звонит. На мой номер, с какого я звонил после команд ResetPhone и FullReset, упорно не хочет звонить из ячейки, сохраненной на симке ни в первой, ни второй, ни в какой. Если набираю команду ATD+38050ХХХХХХХ; то звонит.
Помогите, пожалуйста разобраться.
По порядку:
1) ResetPhone или FullReset
2) Звоним на устройство — добавляется главный номер
3) Добавляем остальные номера через команду AddPhone.
Я делал так. С программы Arduino посылал команды ResetPhone или FullReset. Далее звонил на сим карту, вставленную в М590Е. Вызов идёт. Пробовал, через программу Ардуино, через команду AddPhone добавлять остальные номера. Ничего не происходит.
Команды ResetPhone или FullReset и AddPhone я правильно шлю из программы Ардуино. Т.е. открываю программу, далее «Инструменты», далее «Монитор порта» и вот, что у меня в итоге (см. скриншот, правда сейчас без подключенного М590е). Если нужно, вечером подключу и выложу другой скриншот.
И ещё вопрос. Я свой модуль М590Е подключал напрямую к портам Ардуино. Теперь вот думаю, что возможно, нужно было подключать через резисторы или преобразователь логического уровня (теперь заказал в Китае).
Зачем?
Подключите, выполните команду teston и смотрите в консоль, там будет больше информации для отладки.
ЗЫ
Подключите usb-uart к модему и посмотрите что в консоли, при пайке соплей не навешали на модеме? В конце концов паяльник с заземлением? А то я как — то паял светодиоды, жалом касаюсь платы — они загораются, так и сжег всю сборку.
Только что подключил М590 к usb-uart. Карту СИМ не вставлял, т.к. она стоит в другом телефоне, а его сейчас нет под рукой. Вот выкладываю скриншот работы М590Е от нескольких команд. Мне кажется, если бы модуль был не рабочий, то команды бы не проходили. При вставленной СИМ карте, модуль регистрируется и на него можно позвонить.
Извините, что так подробно. Просто сам не пойму, что могло случиться с работавшим модулем, после соединения с ардуино.
угу, и посмотреть результат проверки памяти.
Перезагрузить устройство, после чего оно будет сброшено на заводские настройки.
Позвонить на устройство с того номера который должен стать главным.
После этого добавлять дополнительные номера через команду AddPhone.
Огромнейшее Вам Человеческое Спасибо за помощь в настройке.
Всё получилось. Прошивку залил pcf-extendet.
Модем звонит и принимает СМС.
Теперь, есть ещё пару вопросиков.
1. Перечитал форум. Данную функцию то просили добавить, то просьбу снимали. Я так понял, что командой SmsOff, можно только выключить sms-уведомление при срабатывании датчика. А нельзя ли добавить команду, которая бы при постановке или снятии с охраны не отсылала бы СМС. Позвонил на сигналку-стала на охрану, позвонил ещё раз-снялась с охраны. И всё это без СМС.
2. Сегодня подключил на пин А1 резистор 10кОм+конденсатор 0,1мкФ (для исключения дребезга) и кнопку, что бы ставить-снимать сигналку с охраны. Но реакции никакой. Смотрел через монитор порта. Ничего не меняется. Возможно, не на тот порт я подключил?
3. Можно ли подключать кабель с USB компьютера к USB Ардуины, если на пин VIN и GND подано внешнее питание 5В? Не будет ли К.З. и не сгорит ли USB компьютера?
Где в обзоре написано про конденсатор, цитата ниже из обзора:
Описание этих команд в обзоре.
Можно. Но модему с выпаянным диодом может не понравиться напряжение 5В с порта ЮСБ, поэтому я пользуюсь кабелем микроюсб с перерезанным красным проводом, то есть питание с порта на устройство не приходит.
Если на плате нет КЗ, то его и не будет. Не сгорит :)
Вот:
1.Возможно ли и какой командой увеличить задержку отправки СМС при пропадании и включении питания.
2.Можно ли при постановке и снятии с охраны на тревожных выходах D4 и D5 организовать короткий импульс, продолжительностью, например 1сек. Если к одному из этих выводов будет подключена сирена, то раздастся небольшой «пик».
На Ваш взгляд, какой лучше заказать модуль из Китая: SIM800L или А6?
Понимаю, что для SIM800L, нужно питание 3,8-4,2В, а для А6-5В. Что стабильнее в работе?
А если не сирена? Теоретически можно, но на практике не все используют эти пины для управления только лишь сиреной.
А если, как писали выше на форуме, электрики решили «поиграться» с напряжением?
Как решение проблемы читал, что форумчане ставят дополнительный конденсатор.
А как в Вашем регионе обстоят дела с электроснабжением?
Ок, можно сделать так:
Отключили нам свет, ждём определённое количество минут, и если питание не восстановилось отправляем смс.
И снова вопрос, время оставлять фиксированное или вводить параметр WatchPowerTime в минутах, от 0 до, например, 255?
ПЫ.СЫ Info как назло работает )))
у меня тоже :)
Сирену логично запитать от отдельного источника питания — тем более что она в большинстве случаев 12-вольтовая, а включается с помощью реле, которое может коммутировать хоть 220 В. У меня вот есть пожарная сирена, на 12 В, я к ней прикрутил в 2008 году 2 последовательных КРОН-ы. Так она до сих пор от них воет что уши закладывает.
Нет.
Вопрос к kvolk, как к создателю этой сигнализации. Не будете ли Вы против, если я приведу схему (или нужно дать ссылку на источник)?
Если будете не против, то у меня есть небольшой вопросик по этой схемке.
Тогда вот схема:
Вопрос по согласованию выходного транзистора Т2 с этой сигнализацией.
У меня сейчас на макетке, стоит резистор 20к между A1 и GND. Кратковременно подавая +5в на А1 включаем/отключаем сигнализацию.
Сейчас с утра развожу печатную плату под этот проект и уже мозги закипают.
Если я правильно мыслю, то резистор нудно подключить между А2 и +5в. Коллектор Т2, подключить к А2. Когда он откроется, то А2 притянется к GND. Правильно?
КЗ?Да, именно так.С Вашего позволения, выложу для общего обозрения схему источника резервного питания от АКБ 12В. Может кому пригодится. Схема 100% рабочая. Собирал её пару лет назад. Всё корректно работает с моей сигналкой на PIC16F628A и датчиками движения на 12В. Есть и печатная плата.
tehnoobzor.com/uploads/posts/2013-03/thumbs/1364465031_shema-ohrannoe-gsm-4.jpg
Не могу включить его. Нет никакой реакции на команды через программу Terminal. Включал по прилагаемой схеме. Может ещё нужно что-то подключить?
Вчера, по Вашему совету, решил почитать и посмотреть видео по считывателям RFID.
Модуль по проще это RDM6300 на 125кГц.
Отсюда вопрос, а нельзя ли как то добавить его поддержку в Ваш проект?
Понимаю, что память у Ардуины не резиновая. Просто я в программировании совсем не очень. Но если возможно…
Вы можете взять Arduino Pro Mini 168, прикрутить к ней считыватель RFID, радиобрелки, другие «свистелки-перделки» и уже этой сборкой управлять основным устройством.
ЗЫЫ Внизу есть строка «комментировать» тыкаете в неё и создаёте свой новый комментарий.
Пробовал подключаться к HTX, HRX. Там выводятся по два-три (типа «пщ», «нщо») знака в ответ на «АТ».
Создал спор на Али, вроде согласились вернуть деньги.
И ток потребления около 0 после включения.
Спасибо всем за помощь в тестировании!
А то получается параметр s стоит и smsof, или оставить его как глобальный параметр выключения вообще всех смс (тогда надо описание команды в шапке поменять), а то народ запутается…
Заранее благодарен.
Могу предложить носить телефон с собой.
Пробовали менять значение этого параметра? Например 255 секунд, это уже больше 4 минут. По личному опыту: оператор отбивает вызов уже примерно через минуту — полторы, чтобы не нагружать сеть.
Это довольно проблематично, можно попробовать убрать ограничение на ввод одинаковых номеров, тогда можно будет добавить один и тот-же номер только с параметром «r», и в случае срабатывания датчика сигнализация будет несколько раз подряд звонить на тревожный (один и тот же) номер.
Защиту можно отключить, но если в памяти будет два и более одинаковых номера с признаком «m», то устройство будет ставить, снимать, снова ставить и снимать с охраны.
То есть у всех повторяющихся номеров может присутствовать только признак «r», хотя если высвободится память проверкой на задвоение, то можно будет добавить проверку на присутствие номера и если он есть — записывать его в память только с признаком «r».
Т.е.
1) Подключаем к компу
2) Открываем диспетчер порта
3) Загружаем устройство
4) Шлём смс с добавлением номера (AddPhone)
5) Выполняем в консоли ListPhone
На последних 2 пунктах у меня кривой вывод, как у вас? Не могу понять это связано с перепрошивкой моего телефона или косяк в коде.
Не добавляет номер!
через консоль добавляет телефон
И в последней прошивке есть один момент, пока модем звонит на тревожные номера снять с сигнализации невозможно, так же невозможно отключить тревожные пины.
Раньше дозвон на основной номер осуществлялся в фоновом режиме, в новой прошивке фоновый режим не может быть реализован.
Если нужно, могу выслать на электронку.
Поделитесь ссылкой на плату ардуинка + модем, когда-то видел пару вариантов, а сейчас ссылки не работают.
Теперь вновь при замыкании контактов основного герконового датчика (закрытии двери) устройство мигает синим светодиодом в течение 2 секунд, сигнализируя о нормальной работе датчика, при этом не учитывается поставлено или снято устройство с охраны.
Так же на гугл диске будет всегда лежать прошивка под названием current.hex, в которую будут вноситься срочные изменения. Прошивка current.hex уже выложена и в ней исправлен баг с миганием светодиода при срабатывании датчика.
Занято 100% флэш памяти :) Видимо финальная, если не найдутся ещё баги.
Может кто то из пользователей приделал уже к этой сигналке RFID считыватель?
А то, порывшись в интернете и ютюбе, нашёл проекты, но все на Arduino UNO. Но мне кажется, что только для постановки/снятия с охраны это как то слишком роскошно.
Если у кого есть, поделитесь пожалуйста.
ЗЫ Это единственно что осталось в планах.
Не судите строго, я еще только начинаю разбираться с Arduino. Собрал одну такую сигнализацию в минимальной комплектации, только оповещение по SMS о пропадании напряжения сети. Все прекрасно работает, но после долгой работы от аккумулятора при появлении сетевого напряжения SMS не приходят. Я так понимаю включается плата зарядки аккумулятора, которая заряжает акк одним ампером и на работу SIM800L тока блока питания уже не хватает (БП 9В 1А). Подскажите пожалуйста номинал резистора R3 на плате заряда, чтобы ток заряда был в районе 250mA. Аккумулятор использую от телефона Samsung.
Пришли запчасти для второй сигнализации, она уже будет в полной комплектации. Пока развожу печатную плату, возникли попутно небольшие вопросики, а именно в каком положении должна быть перемычка на датчике движения (H или L), как правильно подключить датчики к расширителю портов (интересует именно схема подключения, хотя бы от руки), можно ли к тревожному пину напрямую подключить активный зуммер из набора Arduino.
Заранее благодарен за ответы…
250 мА — 5К
Перемычку я ставил в L
в догонку www.kosmodrom.com.ua/pic/TP4056-MOD-1.jpg
У меня запаяны 3,9к — примерно 350мА
Какая схема? Если это датчик движения, то +5В, GND берём с ардуины и цифровой выход цепляем на любой из восьми входов платы расширителя. Если это геркон, то одним концом к +5В другим на вход платы расширителя. Настраиваем датчики на нужный уровень срабатывания.
Понятия не имею.
По истечению времени AlarmInterval * 1000 переключает пины AlarmPin и InverseAlarmPin штатный режим. Простыми словами отключает тревожные пины.
В текущей актуальной прошивке код выглядит вот так:
Вот такую штуку набросал, для ленивых ))) (на андроид)
my-files.ru/gjzjxp
100% из-за рекламы в приложении бан.
Антивирусы Fortinet и WhiteArmor (мне малоизвестные) заподозрили там вируса, а вот остальные не нашли, аваст не нашел, АВГ не нашел, Кламав, каспер и дохтурвеб тоже ничего не нашли.
Так что я бы не переживал, это моё личное мнение, я не могу гарантировать что там нет вируса, но 99% уверено что файл забанили из-за рекламы, которую оставляет после себя конструктор приложений.
Вот статистика по Вашему файлу.
каждая кнопка-отправка смс, и все
хотя сгенерированный апк файл-пустой, без лишней грязи…
(это отправка смс, а что будет с приложухой посерьезней...)
ps не разбирались сами с этой задачей? (отключение охраны при тревоге)
ЗЫ Ведь всегда можно узнать состояние через «адовую» команду info :)
А вот и сама Инфо
Совершенно не понятна причина пустых смс.
Кому интересно чуть позже выложу схему.
все понятно. СПАСИБО!!!
иногда при запросе Info
прилетает пустая смс
Причина этого бага не известна, я этой ошибки у себя уже не видел больше двух месяцев.
еще вопрос. микрофон работать не должен при дозвоне?
(просто интересно :) )
В ближайшей прошивке добавлю возможность отключения герконового датчика.
Нет, там отбивает сразу. Можно попробовать добавить смс параметр при включении которого будет меняться режим работы:
1) Постановка/снятие по звонку
2) Соединение с абонентом и включение микрофона.
Я не об этом. Модем когда звонит, есть время послушать. Но это уже бзыки…
Постараюсь на этой неделе выложить прошивку, там кое что «выпилено» и высвобождено чуть больше ОЗУ.
Guard ON. Button
Sent! +38050327,,,, ->
Alarm! Main sensor!
Sent! +38050327,,,, ->
Также пустые смс на все события.
я хочу запитать модем от зарядника ТР4056, так там на выходе больше 5 вольт…
https://aliexpress.com/item/store/product/For-Arduino-PCF8574-PCF8574T-I-O-for-I2C-Port-Interface-Support-Cascading-Extended-Module/1022067_32814463608.html
UPD. Считаю, что работу основных датчиков следует оставить «как есть», а работу датчиков на плате расширения изменить в соответствии с Вашим предложением.
Жесть…
Сейчас подключу плату, буду проверять.
Странно что этого никто не заметил.
PCFForceOn — постоянный мониторинг группы всех датчиков модуля, с последующим уведомлением.
PCFForceOff — мониторинг группы всех датчиков модуля только при постановке устройства на охрану, с последующим уведомлением.
Другой перспективы я не вижу.
в принципе тоже не плохо.
Сработал датчик -> Оправились смс по указанным номерам -> отзвонилась по указанным номерам.
Просто будет выбор: мониторить только при постановке на охрану или мониторить всегда.
kvolk, а переход на платформу ESP еще не начали? )
ru.aliexpress.com/wholesale?catId=0&initiative_id=SB_20170709114124&SearchText=STM32F103C8T6?
ресурсов многим больше, стоимость как и arduino nano ;)
на прошивке GSM_2017_07_04-21-52.hex заметил, что пустые смс в ответ на info приходят полсле срабатывания датчика.
В ближайшее время будет новая прошивка.
ps кто каким оператором пользуется? (почему то мега и теле2 не хотят регаться в сим800)
специально для этих целей. 1 грн в сутки абонплата. правда только 20 смс в сутки в пакете.
а дальше каждая смс + бабки. во время отладки жрет как не в себя )))
Можете вкратце описать куда смотреть и допиливать код?
«Вы можете взять Arduino Pro Mini 168, прикрутить к ней считыватель RFID, радиобрелки, другие «свистелки-перделки» и уже этой сборкой управлять основным устройством.»
сторожевая собака там в общим не нужна. (осталась от плодов войны с приемником )) )
открываем сериал и читаем код своего датчика.
затем вписываем его в код.
в данном случае нога 13 Arduino Pro Mini (она же LED) подключается вместо PIR датчика, кстати будет видно есть сработка или нет.
приемник типа такого (сам поставил и оказалось г… редкое) от него были все траблы по началу. часто тупо не принимал сигнал через какое то время. не надежная система получалась.
надо ставить такой:
работает без нареканий. кварцевая стабилизация. экран. ну в общим пойдет из доступных и не дорогих.
Ну в заключении. надо учесть, что частота 433мГц достаточно забита. На ней сидят все сигналки + сигналки авто, брелки и прочая лобуда. 315мГц конечно лучше. и дальше ))
В общим у меня работает на 433 потому что пришел такой датчик из китая :)
Пока без нареканий.
надо заменить этот кусок
должно быть так:
психанул и подключил на прямую и без резисторов.
ни разу не зависал. модем sim800L
Не смогли-бы вы поправить последний открытый скетч, лежащий на этом сайте для нормального получения ответа на запрос баланса maney?
модуль стоит А6
В терминале Arduino ответ такой
Event: +38066*******
AT+CUSD=1,"#101#",15
38066*******
OK
+CUSD: 2, "⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:(6s⸮`⸮⸮⸮⸮Q⸮⸮t⸮⸮⸮a⸮⸮]1⸮g4}ur⸮⸮⸮vY"⸮⸮sw>
"⸮A1⸮vs⸮`1⸮⸮,⸮⸮iz⸮~⸮⸮⸮w⸮⸮⸮⸮0}⸮n⸮⸮y⸮⸮M⸮⸮⸮2⸮~⸮⸮⸮or⸮⸮v⸮]⸮0" ,15
SMS sended! Phone: +38066*******; Message: ⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:(6s⸮`
AT+CMGS="+38066*******"
> ⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:(6s⸮`
+CMGS: 48
OK
AT+CUSD=0
+CME ERROR:58
на телефон пришла ОЕ
На телефон приходит сообщение латинскими буквами но смысл Украинский.
Оператор может поменять сообщения на ангийский но все сообщения будут на англицком, что меня в принципе устраивает. Для этой сигалки это не повредит?
и *101# и #101# ответ абсолютно одинаков
На латинице это выглядело бы так:
Какой номер запроса баланса используете на телефоне?
В программе #101#
Откомпилировать прошивку под Uno?Прошивка для Уны в папке Uno на гугл-диске.
Он у меня A6 mini?
при старте в терминале вижу таблицу состоятия
есть такая строка Number: #100# перед масивом номеров
Если это запрос баланса то нужно поменять: #101#
Команду Инфо только что победил, в ближайшей прошивке будет исправлено.
Вот посчитал у меня длина ответа 26 символов, включая пробелы
Если не трудно поправь запрос баланса в прошивке на УНО
Что поправлять — то? Вы сами можете изменять номер запроса баланса и длину ответа, прочтите внимательно пост выше или сходите в раздел «Команды для HEX-прошивки».
Команда:
BalanceNum — Изменение номера запроса баланса и обработка длины ответа запроса.
Пришлите на сигналку смску с содержанием BalanceNum:#101#L26
или выполните такую же команду в консоли.
Что касается задвоения Ринга, эта проблемы была решена ранее. Давайте сначала с плюсом разберёмся.
Версия модема
ATI
SIM800 R14.18
После ввода команды Modemid=2 эти проблемы уходят, но до очередной перезагрузки ардуины.
Возможно ли перенести команду modemid в энергонезависимую область, к командам конфигурации устройства?
Очень странно, устройство должно само определять модем.
Включите тестовый режим и перезагрузите устройство, введите команду
ModemID, затем
ATI
Покажите вывод этих команд.
Previous ID = 2
Emulate: SIM800L
Current ID = 2
MODEMID
ATI
ATI
SIM800 R14.18
OK
AT+CLIP=1
OK
AT+CMGF=1
OK
AT+CSCS=«GSM»
OK
AT+CNMI=2,2
OK
ATE1
OK
Ring from: ++3805032
RING
+CLIP: "+38050327",145,"",0,"",0
AT+CHUP
OK
Команда modemid=2
ListConfig
modemid=2
Previous ID = 0
Emulate: SIM800L
Current ID = 2
modemid=2
И звонок на сигналку
Ring from: +38050327
RING
+CLIP: "+38050327",145,"",0,"",0
AT+CHUP
OK
Guard ON. Phone +38050327
Sent! +38050327 -> Guard ON. Phone +38050327
AT+CMGS="+38050327"
> Guard ON. Phone +3805032
ERROR
modemid
Previous ID = 0
Emulate: No modem.
Current ID = 0
modemid
ati
ati
SIM800 R14.18
OK
Первый раз перезагрузил командой Reboot
У меня нет 14 ревизии этого модема, так бы проверил в чём дело :(
PS мне кажется модем тупит, или глючный от этого и второй ринг проходит. +5В не подавали на этот модем?
После отправки команды modemid=2 вызов завершался нормально. По крайней мере в течении нескольких десятков пробных вызовов на протяжении суток.
UPD. Теперь прошивки будут выкладываться не только для Nano, но и для Uno.
UPD. На одном из устройств был замечен баг, после перезагрузки не восстанавливались настройки из энергонезависимой памяти. Явным признаком этого бага являлось то, что после физической перезагрузки (именно отключение питания, а не команда Reboot) в консоль при загрузке выводилось значение параметра Guard: -1. При этом Memtes проходил успешно. Возможно это проблема именно этого устройства.
mysku.club/blog/ebay/43282.html#comment2064322 аналогично, только для пиновUPD! Всё в голове уже спуталось, увы не выйдет ничего. Нет никакого инверсного входа для герконового датчика. Возьмите плату расширения. Ведь с неё намного удобнее.
Можно попробовать притянуть этот вход к земле и через резистор подать туда +5В. Как только отключится земля через геркон на этом входе и появится 5В сработает сигналка.
Может быть тогда так:Alarm! Main sensor! — для основного
и
Alarm! Secondary sensor! — для вторичного?
Этой фразы не понял :(.
Alarm! Main sensor! — для основного
и
Alarm! Secondary sensor! — для вторичного.
Пы.Сы. Если еще в режиме геркона проверять целостность цепи, как в первом датчике, вообще будет супер.
В таком случае будет логично исключить команды ReedSwitchOn, ReedSwitchOff, PIROn, PIROff и всё что с ними связано, так как их можно будет отключать/включать через изменение логического уровня срабатывания датчика командой MainSensorHigh/MainSensorLow (или вовсе отключать обработку датчика, например через команду MainSensorOff).
Глобальные изменения, возможно я что-то не учел?...
Будет предположительно так:
И команды соответственно:
Частичное удаление ReedSwitchOn, ReedSwitchOff, PIROn, PIROff уже высвободило чуть более 2% памяти, с учётом того что обработчики новых команд уже в коде реализованы, и присутствует тестовый режим и ручная установка модема, которые также можно безболезненно «выпилить» из прошивки.
На этой неделе попробую «допилить» прошивку под этот функционал.
A0 — Second sensor.
Возможно изменение своего текста путем консольной команды, например, D6-Achtung Dver, A0-Achtung Okno?
На А0 будет реализована моментальная сработка?
В жертву принесён тестовый режим :( Прошивка будет в ближайшее время.
Есть возможность получать сообщения в транслите, на русском и англицком
Стоит пробовать? Может кто собирал на модуле A6 Mikro?
Ссылку на модем дайте.
Вывод команды ListConfig в консоль покажите.
На A6_Mini всё прекрасно работает, проверял лично.
listconfig
Read eepromconfig:
SendSms: 1
RingTime: 255
Led: 1
Guard: 0
SleepTime: 255
AlarmPinTime: 65535
ReedSwitchGuard: 1
PIRGuard: -1
WatchPower: -1
WatchPowerTime: 255
GuardButton: -1
DelayBeforeGuard: 255
DelayBeforeAlarm: 255
Number: #101#
Length to return: 26
Выполните MemTest потом FullReset для верности и заново настройте устройство, 99% всё будет работать как и должно.
И прошейтесь на последнюю прошивку.
Вот сейчас listconfig
Read eepromconfig:
SendSms: 1
RingTime: 40
Led: 1
Guard: 1
SleepTime: 15
AlarmPinTime: 60
ReedSwitchGuard: 1
PIRGuard: 0
WatchPower: 1
WatchPowerTime: 0
GuardButton: 0
DelayBeforeGuard: 0
DelayBeforeAlarm: 0
Number: #101#
Length to return: 26
при запросе в терминале вижу
money
USSD query:
OK
+CUSD: 2, "⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:⸮⸮⸮@g⸮⸮⸮⸮⸮y3⸮d}⸮⸮添b⸮⸮h⸮⸮⸮9⸮⸮DN⸮⸮⸮|D~⸮b8⸮⸮⸮b8H+⸮⸮⸮iz$~⸮⸮⸮<⸮A⸮Ġ⸮⸮\fC⸮⸮⸮6⸮ w⸮⸮⸮@(-w⸮" ,15
и никак даже sms не отсылает.Мой номер в первой ячейке
Вам прилетает в ответ не балнс, а какое-то сервисное сообщение от оператора.
Вчера заказал услугу английского
*120*93# пришло сообщение о подтверждении…
Сегодня ответ на запрос баланса — Na vashomu rahunku 11.11grn
И как это победить?
Если эта симкарта в телефоне какой командой запрашиваете баланс чтобы пришел ответ
«Na vashomu rahunku 11.11grn»?
#101#
Ответ приходит на телефон абсолютно одинаковый…
Перезагрузите устройство. Выполните команду Money из консоли.
Ответ выложите сюда.
www.2150692.ru/files/a6_at_commands.pdf
может поможет;)
Модем конфигурируется при загрузке.
+CME ERROR:58
AT+CUSD=1,"#101#",15
USSD query:
OK
+CUSD: 2, "⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:⸮⸮⸮@g⸮⸮⸮⸮⸮y3⸮d}⸮⸮添b⸮⸮h⸮⸮⸮9⸮⸮DN⸮⸮⸮|D~⸮b8⸮⸮⸮b8H+⸮⸮⸮iz$~⸮⸮⸮<⸮A⸮Ġ⸮⸮\fC⸮⸮⸮6⸮ w⸮⸮⸮@(-w⸮" ,15
OK
+CUSD: 2, "⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:⸮⸮⸮@g⸮⸮⸮⸮⸮y3⸮d}⸮⸮添b⸮⸮h⸮⸮⸮9⸮⸮DN⸮⸮⸮|D~⸮b8⸮⸮⸮b8H+⸮⸮⸮iz$~⸮⸮⸮<⸮A⸮Ġ⸮⸮\fC⸮⸮⸮6⸮ w⸮⸮⸮@(-w⸮" ,15
AT+CUSD=0
OK
AT+CUSD=1
ATD*100#;
Тестовый режим должен быть включен.
Ответ сюда выложите.
AT+CUSD=1
OK
ATD*100#
ATD*100#
+CME ERROR:500
На ATD*101# ответ
atd*101#
atd*101#
+CME ERROR:500
AT+CUSD=1
AT+CUSD=1,"#100#",15
Ссылку на модем дайте, что за модем у Вас.
AT+CUSD=1
OK
Я так понимаю для моего оператора должно быть AT+CUSD=1,"#101#",15
AT+CUSD=1,"#101#",15
AT+CUSD=1,"#101#",15
USSD query:
OK
+CUSD: 2, "⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:⸮⸮⸮@g⸮⸮⸮⸮⸮y3⸮d}⸮⸮添b⸮⸮h⸮⸮⸮9⸮⸮DN⸮⸮⸮|D~⸮b8⸮⸮⸮b8H+⸮⸮⸮iz$~⸮⸮⸮<⸮A⸮Ġ⸮⸮\fC⸮⸮⸮6⸮ w⸮⸮⸮@(-w⸮" ,15
Sent! + -> ⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:⸮⸮⸮@g⸮⸮
OK
+CUSD: 2, "⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:⸮⸮⸮@g⸮⸮⸮⸮⸮y3⸮d}⸮⸮添b⸮⸮h⸮⸮⸮9⸮⸮DN⸮⸮⸮|D~⸮b8⸮⸮⸮b8H+⸮⸮⸮iz$~⸮⸮⸮<⸮A⸮Ġ⸮⸮\fC⸮⸮⸮6⸮ w⸮⸮⸮@(-w⸮" ,15
AT+CMGS="+"
> ⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:⸮⸮⸮@g⸮⸮
+CMS ERROR:518
AT+CUSD=0
+CME ERROR:58
вот такой брал
uamper.com/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D0%B8/%D0%91%D0%B5%D1%81%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%BE%D0%B9-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B0-GSM-GPRS-%D1%87%D0%B5%D1%82%D1%8B%D1%80%D0%B5%D1%85-%D0%B4%D0%B8%D0%B0%D0%BF%D0%B0%D0%B7%D0%BE%D0%BD%D0%BE%D0%B2-shield-arduino
Попробуйте с симкой другого оператора.
Выполните команды:
И ответы сюда выложите.
AT+CSCS=«USC2»
+CME ERROR:53
AT+⸮SCS=«USC2»
А первый символ квадратиком не в той кодировке?
AT+CSCS=«HEX»
AT+CSCS=«HEX»
OK
AT+CUSD=1
AT+CUSD=1
OK
AT+CUSD=1,"#101#",15
AT+CUSD=1,"#101#",15
USSD query:
OK
+CUSD: 2, «CE30C81A9EA3DFED3A481E46D7DDEB3AE8E682C14067B9DB05A286E57933E8647D93C3E6B7BB0C62A6CF68FAEAE40239DFEDB21C444EE7E7EE7C1A447E83623817ECE692C1623817482BCECBC3697A19247EBBEBF33CC81D06419FC4A0B4EA5C6E12A
Sent! + -> CE30C81A9EA3DFED3A481E46D
OK
+CUSD: 2, „CE30C81A9EA3DFED3A481E46D7DDEB3AE8E682C14067B9DB05A286E57933E8647D93C3E6B7BB0C62A6CF68FAEAE40239DFEDB21C444EE7E7EE7C1A447E83623817ECE692C1623817482BCECBC3697A19247EBBEBF33CC81D06419FC4A0B4EA5C6E12A
AT+CMGS=“+»
> CE30C81A9EA3DFED3A481E46D
+CMS ERROR:518
AT+CUSD=0
OK
AT+CSCS=«PCCP936»
AT+CSCS=«PCCP936»
OK
AT+CUSD=1
AT+CUSD=1
OK
AT+CUSD=1,"#101#",15
AT+CUSD=1,"#101#",15
USSD query:
OK
+CUSD: 2, "⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:⸮⸮⸮@g⸮⸮⸮⸮⸮y3⸮d}⸮⸮添b⸮⸮h⸮⸮⸮9⸮⸮DN⸮⸮⸮|D~⸮b8⸮⸮⸮b8H+⸮⸮⸮iz$~⸮⸮⸮<⸮A⸮Ġ⸮⸮\fC⸮⸮⸮6⸮ w⸮⸮⸮@(-w⸮" ,15
Sent! + -> ⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:⸮⸮⸮@g⸮⸮
OK
+CUSD: 2, "⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:⸮⸮⸮@g⸮⸮⸮⸮⸮y3⸮d}⸮⸮添b⸮⸮h⸮⸮⸮9⸮⸮DN⸮⸮⸮|D~⸮b8⸮⸮⸮b8H+⸮⸮⸮iz$~⸮⸮⸮<⸮A⸮Ġ⸮⸮\fC⸮⸮⸮6⸮ w⸮⸮⸮@(-w⸮" ,15
AT+CMGS="+"
> ⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:⸮⸮⸮@g⸮⸮
+CMS ERROR:518
AT+CUSD=0
+CME ERROR:58
AT+CSCS=«USC2»
+CME ERROR:53
AT+CUSD=1
AT+CUSD=1
OK
AT+CUSD=1,"#100#",15
AT+CUSD=1,"#100#",15
USSD query:
OK
+CUSD: 2, «Dv>⸮⸮⸮o⸮⸮⸮v⸮⸮ y]w⸮⸮ w⸮⸮⸮⸮⸮t⸮*⸮⸮⸮嵼Lw⸮A⸮7d⸮⸮⸮<<⸮⸮o⸮.⸮⸮jz⸮⸮vw⸮^⸮⸮ ⸮⸮]⸮⸮۠⸮M&⸮⸮e⸮⸮=G⸮⸮v⸮;» ,1
Sent! + -> Dv>⸮⸮⸮o⸮⸮⸮v⸮⸮ y]w⸮⸮ w⸮⸮
OK
+CUSD: 2, «Dv>⸮⸮⸮o⸮⸮⸮v⸮⸮ y]w⸮⸮ w⸮⸮⸮⸮⸮t⸮*⸮⸮⸮嵼Lw⸮A⸮7d⸮⸮⸮<<⸮⸮o⸮.⸮⸮jz⸮⸮vw⸮^⸮⸮ ⸮⸮]⸮⸮۠⸮M&⸮⸮e⸮⸮=G⸮⸮v⸮;» ,1
AT+CMGS="+"
> Dv>⸮⸮⸮o⸮⸮⸮v⸮⸮ y]w⸮⸮ w⸮⸮
+CMS ERROR:518
AT+CUSD=0
OK
там все хорошо расписано.
можете выложить код по сработке датчика движения, смс после 3й сработки датчика?
И вообще было бы познавательно взглянуть хотя бы на промежуточные коды hex прошивок, поделитесь?
В устройстве нет обработки количества срабатываний датчика движения, владелец уведомляется при каждом срабатывании.
Если Вам это поможет:
Извините, но пока нет.
Можно-ли сделать такое:
На дверь поставить концевик.
При закрытой двери питание отсутствует.
При открытии двери концевик подключает к схеме акб.
GSM модуль устанавливает соединение и звонит.
Все. Больше ничего не нужно.
Если вскроют дверь, то для того чтобы войти в помещение потребуется 2-3 секунды. За это время модем даже в сети не успеет зарегистрироваться, не говорю уже о вызове или отправке смс.
Даже если дверь и закроется, то легко можно предусмотреть задержку отключения питания на пару минут.
if (gsm.find("+COPS: 0")) break;
чтоб при включении в цикле
спрашивал к какой сети подключен и про ответе +cops 0 зажечь светодиод.
Есть просьба к автору: если есть возможность (и хватает памяти в дуине) прикрутить релейный модуль с привязкой к соответствующей команде, например для электрического замка (импульс 1,5-2с) или включения таймера света. Команду можно сделать изменяемую, время импульса или переключение реле тоже изменяемое для разных задач.
mysku.club/blog/ebay/43282.html#comment2134666
mysku.club/blog/ebay/43282.html#comment2158624
mysku.club/blog/ebay/43282.html#comment2161017
Реализовать довольно сложно, так как Flash памяти осталось менее 1%, а оперативной памяти осталось около 5%. Если с флэш памятью всё немного проще, можно выкинуть некоторые команды, например тестовый режим и ручной выбор модели модема, то с оперативной памятью такой метод не пройдёт.
UPD. Полагаю что сразу возникнут вопросы по поводу:
Рассказываю:
Было так:
Стало так:
Как следствие, команда "TESTOuiourewjrkldk" будет отработана и выключит тестовый режим, включить тестовый режим сможет и команда "TESTOhjfkdssdpNgdfgd".
Команды GuardOn и GuardOff эти изменения не затронули, и срабатывают только по полному совпадению.
Эти изменения позволили высвободить дополнительно около 3% флэш памяти, и без урезания функционала добавить управление внешними устройствами.
Банально из-за невнимательности. Такая же проблема с «GuardButtonOn1/2/Off».Починил, но есть одна трудность, уже начал процесс «глобального» изменения прошивки, и теперь только два пути:
1) Допилить глобальные изменения в прошивке и в неё уже внести эти исправления — требуется время.
2) Если допилить не получается — откат на последнюю (текущую), в неё вношу исправления и выкладываю — так же, необходимо время.
Выложу сейчас исправленную прошивку.
Nano_GSM_2017_08_03-22-03-fix.hex
или
Uno_GSM_2017_08_03-22-03-fix.hex
Возникла проблема с управлением устройством. Пользую открытый скетч переделанный под свои хотелки…
Устройство не принимает SMS/ Модем A6 MINI
При старте модем на команду mySerial.println(«AT+CNMI=2,2»);
отвечает OK
AT+CNMI=K
В HEX прошивке все ОК.
Где моя ошибка?
Даже в Вашем чистом скетче(без моих переделок) скомпиликованом то-же самое
Сейчас отловил в консоли крякозябры, причем может стабильно работать несколько часов, потом опять проблемы.
Alarm Ring: +3805032
Ring from: +3805032"
>
⸮⸮%⸮I5
PING
+1%A⸮ "+3⸮⸮⸮⸮⸮⸮⸮
50
AT+CMGS="+3805032"
>
⸮⸮%⸮I5
PING
+1%A⸮ "+3⸮⸮⸮⸮⸮⸮⸮
50",145,",0,"",0
Alar
? PIR sesor!
RING
Ревизия модуля 1418B04SIM800L24 Понизить версию прошивки не получится, на офсайте только 1308B04SIM800L16, которая не подходит.
Наверное придется заказывать другой модуль.
Кракозябры возможны в тестовом режиме — буфера может не хватать для всего того что сыпется от модема. Почти неделя — полёт нормальный на 590 модеме, сегодня забыл снять с охраны — ночью отключали свет на полтора часа :)
с 5в до 2.8в необходимых модему. Попробую подключить напрямую. Ещё хотел раздельно запитать модем и ардуину.
Если плату не использовать происходит примерно тоже самое, только по несколько раз в сутки (насилие над аккумулятором). Аккумулятор в любом случае должен заряжаться до 4,2 В, загорелся фиолетовый светодиод — пол часа (час, может чуть больше) светится и потом снова на дозаряд (красный светодиод).
Попробуйте подключить этот аккумулятор просто к контроллеру заряда, сможет ли он его зарядить до 4,2 В? Может быть тухлый аккумулятор, греется ли он во время заряда?
Спасибо за ответ.
На этом и закончим, новый функционал вноситься в прошивки не будет, только исправления выявленных ошибок.
В дальнейшем будут выкладываться прошивки с суффиксом -fix- и порядковым номером исправления.
Test: 0
Led: 1
Guard: 1
SleepTime: 15
AlarmPinTime: 60
WatchPower
Mode: 1
Time: 0
GuardButton: 0
DelayBeforeGuard: 0
ExtDevice
Level: 1
Time: 1
SensorLevel
Main: 0
Second: 1
DelayBeforeAlarm
Main: 0
Second: 0
PCF: 0
PCFForce: 0
ModemID: Autodetect
Balance number: *101#
Length to return: 26
Не работает команда MainDelayBeforeAlarm, сработка начинается сразу после размыкания геркона.
RingTime: 40
Test: 0
Led: 1
Guard: 0
SleepTime: 15
AlarmPinTime: 60
WatchPower
Mode: 1
Time: 1
GuardButton: 1
DelayBeforeGuard: 10
ExtDevice
Level: 1
Time: 1
SensorLevel
Main: 0
Second: 1
DelayBeforeAlarm
Main: 10
Second: 0
PCF: 0
PCFForce: 0
ModemID: Autodetect
Balance number: *101#
Length to return: 26
https://www.banggood.com/ESP32-Development-Board-WiFiBluetooth-Ultra-Low-Power-Consumption-Dual-Cores-ESP-32-ESP-32S-Board-p-1109512.html
210 это я понимаю счетчик успешно отправленных смс. Его нужно обнулять?
Вот ответ на команду INFO
+CMT: "+38066ххххххх",,«2017/08/29,10:54:16+03»
Info
SMS from: +
Sent! + -> Guard ON at boot
вВ открытой прошивке на команду AT+CNMI=2,2 ответAT+CNMI=
Буфер стоит 192
Что я мог в модеме накрутить? Модем А6mini
это после старта скетча
OK
AT+CNMI=
Потом АТ команды…
AT+CNMI=?
+CNMI: (0-3),(0-3),(0,2),(0-1),(0,1)
OK
AT+CNMI= 2,2
OK
AT+CNMI=?
+CNMI: (0-3),(0-3),(0,2),(0-1),(0,1)
OK
Что я сделел не так?
Команда teston светодиод синий помигает несколько раз и гаснет, через приблизительно минуту повтор В терминале на команду teston 5 раз ОК Так должно быть?
Спасибо, проверю.
Да, это инициализация модема. Ответы модема на пришедшие ему комнады с настройками.
Наверное что-то не так с вашей ардуиной.
Или ищите другую тему для дипломной )
Kак использую sketch_02_12_2016.ino, после команды «money» отображается на мониторе порта — Evenet: +48xxxxxxxx OK ABORTED. SMS не отправляется. Почему — я не знаю.
Kак использую Nano_GSM_2017_08_10-12-17-fix-01.hex , все работает нормально, но SMS слишком короткий, хотя в мониторе порта гораздо больше.
Если это не тайна, напишите, что вы изменили, что SMS отправляется правильно
Покажите лог из монитора порта и то. что приходит в смс. Текст должен быть одинаковый.
С длиной SMS уже устранил проблему. Я использовал команду BalanceNum: * 101 # L60 и все в порядке.
и
Меня интересуют кавычки.
Правильно:
Да, я знаю, для вас это «хлеб с маслом», но для меня, в чужой программе, трудно вносить исправления.
После команды «Money» в мониторе порта получаю:
SMS не отправляется. Как это понимать?
Это сделали?
В файл SoftwareSerial.h (C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.h) необходимо внести изменения
было так:
стало так:
Сделал это изменение. Теперь я получаю:
SMS не отправляется.
Все команды выполняются правильно, смс отправляются,
кроме команды «money»
PS сюда загляните, если есть преобразователь уровней — убрать.
mysku.club/blog/ebay/43282.html#comment2163376
Я удалил этот разделитель, но это ничего не изменило.
После команды «money» продолжает появляться «мусор»
Попробуйте увеличить буфер до 256
#define _SS_MAX_RX_BUFF 256
Сколько оперативной памяти занимает проект?
Скиньте сюда полный лог после компиляции, и в какой версии Arduino IDE вы компилируете проект?
Я увеличил буфер до 256, но это ничего не меняет.
Это полный лог после компиляции:
В эскизе используется 12132 байт (39%) программной памяти. Максимум 30720 байт.
Глобальные переменные используют 1119 байт (54%) динамической памяти, оставляя 929 байтов для локальных переменных. Максимум 2048 байт.
Arduino IDE — 1.8.4
mysku.club/blog/ebay/43282.html#comment2163376
Если я включу устройство и в первую очередь пошлю другую команду, например, «Info», — все в порядке, смс приходит.
И затем посылаю команду «money», я получаю:
По телефону приходит SMS с действительным балансом.
И как вы сейчас это понимаете?
Большое вам спасибо за вашу помощь и терпение.
Ситуация выглядит так: Собираю проэкт заливаю в плату все работает…
Потом скачиваю библиотеку от Даласа похоже все работает но при заливке скетча в плату
в терминале порта вижу
AT+CMGF=1
OK
AT+CSCS=«GSM»
OK
AT+CNMI=
и смс устройство не отправляет.
В скетче ссылок на далас нет
Удаляю ардуину, чишчу реестр ставлю по новому ардуину результат тот-же.
Переставил операционку поставил ардуину пробую все ОК ставлю библиотеку от дадаса и все опять.
Кто может сталкивался с таким?
Тот же скетч на другой машине, без даласовской библы все ОК
Изменения внес сразу после установки
Даже пробовал 256
Тот же скетч на другой машине, без даласовской библы все ОК
Используем библиотеку SoftwareSerial версии 1.0 из папки: C:\Users\Администратор\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\libraries\SoftwareSerial
Поправил там и все стало на место…
Исходники последних прошивок забираем на гуглдиске.
Чтобы эта собака раз и навсегда перешла на баундрейт 9600, нужно ввести команду
команда AT+IPR=9600 меняет баундрейт до перезагрузки.
ОК! Модем нормально коннектится через ардуино, при звонке выдает
Прошиваю последнюю НЕХ прошивку, пробую звонить на модем — нифига! Мастер-номер не принимается, вообще ничего не происходит. Перебираю все, от 0 до 3 ModemID, звоню и… снова нифига!
Да что-же это такое?! Уже мозг кипит!
SoftwareSerial mySerial(9, 8); // RX, TX
нужно писать так
SoftwareSerial mySerial(8, 9); // RX, TX
Все типа заработало, сожрало все деньги на всех телефонах в доме (дорого в Испании СМС-ить) но появилась другая проблема:
Оператор сына, а его номер должен быть основным, при звонке не передает код страны (+34 Испания), мой и тестя передает, жены не передает. То есть, при звонке номер жены и сына определяются как
+693ХХХХХХ
а мой и тестя +34642ХХХХХХ.
При отправке СМС на номер сына и жены, происходит набор номера +693ХХХХХХ, соответственно оборудования оператора этого не понимает, но приняло бы без + спереди.
Пробую отдельно внести номер сына в формате +34693ХХХХХХ, программа матерится, что номер уже присутствует.
Как быть?
Имхо, номер нужно разделять на две переменные (international_cod+(nomer(long)), где
international_cod = код страны
nomer = номер по АОНу
long = фактическая, действующая в стране, длинна номера без кода оператора, в Испании 9 и в Украине 9 (реально десять, но тут первый 0 номера, это часть кода +380, используется для выхода в междугородку, действительно же таки 9).
Эти параметры нужно задавать при сетапе оборудования, консольной командой.
Есть еще несколько багов, если стереть номер, и тут же его снова добавить с другими опциями, программа заявляет что он присутствует уже во всех ячейках, с первой по последнюю, после ребута вносится нормально.
При добавлении не выводится список номеров, приходится вбивать в консоль ListPhone, не совсем баг, скорее недоработка.
а вот, что с моего номера
Отключите проверку на задвоение номеров (eepromaddphone).
При всём желании я не смог бы проветрить эту реализацию, у нас нет таких заморочек с кодами.
Ребут.
Было удалено из-за нехватки ОЗУ.
Добавил проверку «свободен ли модем» после звонка. Иначе СМС часто не отправлялись, потому как голосовой вызов вроде завершён, но линия подвисает (робот удерживает или ещё что-то), теперь работает корректно.
Исходя из всего, что я поменял, пришлось полностью прибить все, что относится к экспандера портов, иначе места во флеш просто не осталось. Мне столько не нужно, два охранных шлейфа достаточно. Зато я теперь смогу добавить датчик температуры и влажности DHT22, что мне более важно.
Пришел к выводу, что СМСить дорого, особенно тут в ЕС. Хочу задействовать функционал GPRS модема. Есть такой бесплатный сервис www.pushingbox.com, у него есть API и даже примеры для ардуино. Но не могу сформировать http get запрос. Не могу понять как сформировать пакет для отправки. Там все похоже на отправку СМС, но на ctrl-z в конце пакета модем отвечает ошибкой. Был бы sim900, там все проще по командам, к тому же с ним можно было бы отправлять емайлу вообще без промежуточных сайтов, он сам емайлить умеет.
Ещё хотелка — жду DFPlayer. Хочу чтобы при звонке, сигнала брала трубку и сообщала своё состояние Guard On/Off, также добавить обзвон по кругу в случае алярма, с сообщением о срабатывании, вместо смс. Если удастся запустить pushingbox по GPRS, смс уйдут в прошлое, будут обрабатываться только входные.
Если не хватает памяти весь массив в 1 смс засунуть, может каждый телефон отдельным смс пусть присылает, подряд
Так же, моим скетчем можно управлять теми же СМС. Он слушает УАРТ и если находит свои комманды, выполняет их.
Нашел прикольную фишку. Если в вашей сигнализации выставить флаг teston. То мой скетч получает доступ к модему, и может делать свои фишки, к примеру: отсылать СМС-ки со списком прошитых карт. Так же хочу добавить push уведомления по GPRS, о том, кто вошел, с какой картой, когда — pushingbox.com рулит.
Ещё жду кое какие модули. Главный модуль DHT22. Он обязательно должен быть в кардридере. Мне важно влажность и температура в доме.
Если выложу, то на 4pda.ru или у себя в блоге. Тут система комментариев совершенно неадекватна, особенно с мобильного.
Многие стандартные библиотеки на ней работают не так, как ожидалось. Долго не мог понять, почему она номер телефона с модема не ловит, оказывается функции индексирования строки отдают индекс от начала искомой фразы, а не от конца, как у Ардуино. Зато софтверных сериальных портов объявляйте сколько хотите, пока ног хватает. Короче, это модуль для одного датчика. Что-то более серьезное на нем не слепишь, заказал и жду esp32 и Ардуино Мега, посмотрим что с ними.
В данный момент играюсь с программой для кардридере.
Ваш вариант адаптировать не буду. Он классный, но…
Не вижу смысла хранить номера в ОЗУ контроллера, для этого есть SIM.
СМС дорого и не надёжно. Сейчас у всех операторов во всем мире есть дешёвый или совершенно бесплатный голосовой безлим, как минимум в сети оператора.
Оказалось что sim800 отлично понимает DTMF, к тому же есть софтовая библиотека для распознавания DTMF, используя голосовой выход модема и аналоговый вход ардуино. Тот же sim800 прекрасно емейлит и шлёт GET HTTP запросы.
У моего оператора, к примеру, на трафик gprs вообще бесплатно. СМС прошлое. Датчики должны быть на LoRA, какая-то часть как минимум.
Порты лучше расширять с помощью ведомого ардуино Нано, проще и дешевле, плюс предобработка. Там больше простора для фантазии и маневров, система гибче и многозадачность появляется.
ПС. Проект не спешный, я пока только изучаю Ардуино.
А вот картридер, для вашей сигнализации, выложу скоро.
Можете закупаться деталями )).
Нужны MFRC-522, OLED 0.96" SD1306, Arduino Nano, если нужны температура и влажность — DHT22, если кому дверь открывать — servo по вкусу, и если хотите чтобы картридер вам попискивает чтобы вы не забыли карточку приложить при выходе — микрорадар. ну и у кого кардридер должен бить далеко от блока (больше пати метров), нужны два модуля RS422. Все эти модули будут отключаемыми, так что минимум ридер, экран, нано.
Только там, вашем коде, нужна минимальная поправка, при выводе списка номеров в сериал, внесите delay(10), в цикле, после строки. Иначе ридер читает список номеров корректно через раз.
при установке
MainSensorLevelLow
SecondSensorLevelLow
герконовые датчики посаженные на GND сигналка не видит
Так же по пинам А0 и D6. В таком положении срабатывает если геркон подключен на +5в.
SensorLevel
Main: 0
Second: 0
В таком положении
SensorLevel
Main: 1
Second: 1
при подключении геркона на gnd и размыкание ничего не происходит
А чтобы хватило памяти можно убрать обработку команды FullReset в терминале и смс
Можно использовать для этого пин D2. Понимаю что тут, что то нужно вставить, а вот что не знаю ))))
Возможно кто то подключал обычный инфракрасный датчик движения, что бы красиво в корпусе было, или может HC-SR501 можно переставить в обычный?
Хочу попробовать реализовать на две зоны. Зона открытия геркон и движение, датчик от обычной сигнализации.
От старой GSM (на фирме стояла) осталась коробка с б.п. 12V и аккум резервного питания 12V. Нашел плату TC43200, с ее помощью понизел напряжение до 5.5V. Жду теперь пока все остальное доедет. Все нашел кроме gsm модуля(
Sim800l в приоритете.
По идее, мне теперь не нужен MT3608, в цепи имеется TC43200.
Его ток:
Выходной ток – до 8 А, при токе выше 5 А требуются меры по дополнительному охлаждению
Правильно мыслю?
По феншую любой из этих трёх модемов поддерживается в прошивках.
Без модема данная схема должна запуститься? Собрал все кроме модема, скачал драйвера, залил hex, отключил от пк, подключил к питанию, на плате один светодиод светится, второй моргает, выносной признаков не подает
Всё должно работать без модема, прошивайте, подключайте к компу и смотрите логи в мониторе порта.
2) питайте всю схему от модуля tp4056
3) диод с платы модема уберите и зашунтируйте.
В начале обзора есть ссылка на «работу над ошибками», собирайте сигналку по схеме из того обзора.
mysku.club/blog/ebay/44545.html
Собрал все в кучу, геркон не замкнут на ответную часть. Включил напряжение, контакты на BOOT на GSM разомкнуты. Диод синий один раз подал сигнал. На GSM модуле BOOT реакции нет, звоню абонент отключен.
Включаю с замкнутыми контактами BOOT, на GSM моргает BOOT, сисний сразу один раз подал свет, через 5 секунд, моргнул 3-4 раза и потух. Абонено отключен
Подключился чезер putty
d.radikal.ru/d31/1802/32/07c457f96ea9.jpg
Может подскажите что то, собрал gsm плату по com на ATI ответы идут на ATE1 не идут, пишет ошибка. Сам модуль то в сети, то в поиске, как то запустил что смог на него позвонить, а как так и не понял( На плате нужно замкнуть контакты BOOT что бы через COM можно было достучаться, и мигает диод BOOT.
Собрал все в кучу, геркон не замкнут на ответную часть. Включил напряжение, контакты на BOOT на GSM разомкнуты. Диод синий один раз подал сигнал. На GSM модуле BOOT реакции нет, звоню абонент отключен.
Включаю с замкнутыми контактами BOOT, на GSM моргает BOOT, сисний сразу один раз подал свет, через 5 секунд, моргнул 3-4 раза и потух. Абонено отключен
Вроде разобрался, подергал модуль и в мониторе порта пошли входящие смс. Попробую хорошо пропаять плату GSM, кажется где то плохой контакт.
Подскажите пожалуйста, как быть с дублированием команд в Arduino IDE?
money
money
ERROR
AT+CUSD=1,"#101#",15
USSD query:
+CUSD: 0,«Na Vashomu rahunku 0.00 grn. Taryf 'Vodafone UNLIM 3G Plus'. Nomer diysnyi do 27.04.2018. Chytaite razom z Vodafone Books! Pidkl-1 u SMS na 50010»,15
OK
+CUSD: 0,«Na Vashomu rahunku 0.00 grn. Taryf 'Vodafone UNLIM 3G Plus'. Nomer diysnyi do 27.04.2018. Chytaite razom z Vodafone Books! Pidkl-1 u SMS na 50010»,15
OK
AT+CUSD=0
OK
GuadrOff
GuadrOff
ERROR
И после редактирования сенсеров
ditSensor:2+Gerkon na okne
Sensor data saved.
Sensor data:
1 -> Sensor 1 -> 0
2 -> gerkon na okne -> 0
3 -> Sensor 3 -> 0
4 -> Sensor 4 -> 0
5 -> Sensor 5 -> 0
6 -> Sensor 6 -> 0
7 -> Sensor 7 -> 0
8 -> Sensor 8 -> 0
⸮di⸮ensor:2+Gerkon na okne
ERROR
AT+CHUP
ERROR
AT+CHUP
ERROR
AT+CHUP
ERROR
AT+CHUP
ERROR
AT+CHUP
ERROR
Никакого заводнения смс быть не должно.
Только на LedTest() реагирует
LedTest()
LedTest()
ERROR
В инфе о прошивке не нашел, реализовано подключение пищалки?
Выносную GSM антену не пробовали подключать? Не везде есть стабильный сигнал сети
У sim800l, A6_mini и у некоторых m590e есть разъём для подключения антенны :)
Нашел к комментах постановку и снятие внешними устройствами, но в самом блоге про это инфы нет(
Автоопределение модема не сработает, поэтому вручную методом перебора выставляйте нужный ID модема (1, 2 или 3) и на каждом из них проверяйте работоспособность. Если ID модема выставлен вручную, то после перезагрузки устройства настройки «не слетят».
Подскажите пожалуйста, как реализовать отправку смс при достижении критической температуры, независимо от состояния охраны на основной номер и номера с параметром s
С смс разобрался, работает! НЕ могу понять как сделать теперь, чтобы выводилась критическая температура один раз. Получается шлет смс каждую секунду, пока температура не достигнет нормы
После того как температура вернётся в заданный диапазон необходимо переменной smsonesend снова присвоить значение 0.
ЗЫ непонятно назначение этой конструкции:
Или у темпстейта может быть значение отличное от 0 или 1?
Эта часть кода смысла не имеет.Если темпстейст не равен единице, приравнять его к нулю. Так он и равен нулю.
теперь компилятор выдает такое сообщение
Читать тут.
Смысл в том, что необходимо использовать память очень рационально
Например, если переменная может принимать значение от 0 до 255 то используем тип данных unsigned char (он же uint8_t), но если переменная может принимать значение от 0 до 65535 уже необходимо использовать тип unsigned int (он же uint).
Так что Вы должны чётко понимать какие типы данных использовать.
притянул 10км, перестал реагировать на датчик движения. очистил помять заново настроил, в охрану встает снимается, теперь красный свд мигает равномерно частота примерно 0,25гц. Вроде гореть должен.
Команды которые должны помочь в настройке:
Заливал Xloader-ом.
Подскажите вот это тоже самое только скетч и можно залить в ARDUINO.IDE? GSM сигнализация на Arduino\GSM_Aalarm_Last_Release_src\Last Release\GSM_2017_08_10-12-17\fix\01\GSM_2017_08_10-12-17.ino
Собрал на макетке. Пока изучаю. Вроде все работает. Появилось разночтение в доработке питания. Подключать надо так или все-же по схеме без исправлений (интересует подключение самого аккумулятора на В+- контакты или все-же на OUT+-).
Да, Вы правильно всё отрисовали, собирайте именно так.
Аккум сажается на свои контакты контроллера заряда.
Зы. Тут в коментах выше есть схема на которой добавлен резистор между затвором и gnd 10кОм. Желательно его тоде поставить.
Есть такая проблема, что при отключении внешнего сетевого питания и разрядке лития до отключения устройства, ТР4056 не всегда запускается при появлении сетевого питания (опробованы несколько ТР4056). Запуск получается возможен только при извлечении и постановки обратно аккума. Может мосфет, в предложенной схеме питания решит и эту проблему.
Только с управлением внешней нагрузки так и не смог разобраться. при потключение к ноуту по ЮСБ работает, а при отлюченном шнуре нет.
не могу понять почему так не правильно работает релюха китайская с ардуино? прийдется наверное мудрить схему из оптотранзистора.
Заметил одну непонятную для меня особенность. Если убрать подтяжку к земле, на входе А0 сразу появляется лог 1 (вход висит в воздухе). Возможно в этом режиме включена внутренняя подтяжка к плюсу? Если вход А0 сконфигурировать «SecondSensorLevelLow», подтяжка исчезает, напряжение падает до 0. Если это действительно подтяжка, и так и задумано, то логичнее наверно подтягивать наоборот в сторону неактивного уровня. Или вообще убрать. Когда сам подтягиваешь, понятнее)).
Что то много написал, извините. Надеюсь понятно.
Read eepromconfig:
RingTime: 40
Test: 0
Led: 1
Guard: 1
SleepTime: 15
AlarmPinTime: 60
WatchPower
Mode: 1
Time: 0
GuardButton: 0
DelayBeforeGuard: 0
ExtDevice
Level: 1
Time: 1
SensorLevel
Main: 0
Second: 1
DelayBeforeAlarm
Main: 0
Second: 0
PCF: 0
PCFForce: 0
ModemID: Autodetect
Balance number: #100#
Length to return: 22
Read array phone:
№ -> Phone -> s -> r -> p -> i
1 -> -> 0 -> 0 -> 0 -> 0
2 -> -> 0 -> 0 -> 0 -> 0
3 -> -> 0 -> 0 -> 0 -> 0
4 -> -> 0 -> 0 -> 0 -> 0
5 -> -> 0 -> 0 -> 0 -> 0
6 -> -> 0 -> 0 -> 0 -> 0
7 -> -> 0 -> 0 -> 0 -> 0
8 -> -> 0 -> 0 -> 0 -> 0
9 -> -> 0 -> 0 -> 0 -> 0
10 -> -> 0 -> 0 -> 0 -> 0
I2C devices not found
Detected ModemID: 2
Guard ON at boot
Как часто мигает светодиод на модеме? Модем SIM800L?
TestOn
Detected ModemID: 2
AT+CLIP=1
OK
AT+CMGF=1
OK
AT+CSCS=«GSM»
OK
AT+CNMI=2,2
OK
ATE1 ATE0
OK
AT+CHUP
OK
Call Ready
AT+CHUP
OK
SMS Ready
AT+CHUP
OK
AT+CHUP
OK
AT+CHUP
OK
AT+CHUP
OK
Call Ready
SMS Ready
AT+CHUP
OK
AT+CHUP
OK
AT+CHUP
OK
2) Есть возможность проверить на другом модеме? Возможно с модемом что-то не так.
Модема к сожалению другого нет.
Уже долбаюсь недели 2 не могу никак понять что еще нужно изменить
Есть процедуры
которые в процессе своего выполнения присваивают переменной SendSmsText значение, переменной DelayBeforeAlarm время задержки и запускает процедуру PrepareAlarm.
PrepareAlarm устанавливает значение переменной previousDelayBeforeAlarmMillis и включает задержку активации ActivateDelayBeforeAlarm = 1. Так же устанавливается событие (определяем датчик который сработал) из переменной PrepareAlarmFromEvent
Дальше в цикле loop выполняется процедура DelayAlarm. Смотрит если активирована задержка ActivateDelayBeforeAlarm начинает считать время и при достижении заданной разницы выполняет процедуру SmsAlarm и отключает ActivateDelayBeforeAlarm = 0.
Теперь процедура SmsAlarm(uint8_t from_event) смотрит какое событие её запустило и в зависимости от этого выполняются разные методы оповещения:
Если процедура SmsAlarm получила 1 (значение from_event), то выполняем смс рассылку со значением переменной SendSmsText, после этого запускаем механизм дозвона на номера присваивая эти параметрам единицы:
CallFlag = 1;
Call = 1;
Если процедура SmsAlarm получила 2 отправляем, то запускаем только смс рассылку.
Так же в loop выполняется процедура AlarmCall() и если она видит что переменная Call равна 1, запускает механизм дозвона по всем необходимым номерам, после выполнения присваивает Call = 0;
Если значение времени длительности вызова превышено, косвенно завершаем вызов переходим к следующему номеру в списке, и так далее.
Например так
PS Ком можно оптимизировать, но смысл такой.
DetectFire() крутится в лупе. Все срабатывает, когда сигналка снята с охраны. В терминале пишет
Но на телефон не звонит. Стоит поставить на охрану, звонит нормально. Где еще копать ума не приложу
SmsAlarm(1) — отрабатывает звонок если система на охране. Если нет — выводит в терминал что типа звонит но звонка нет. Похоже что-то рубит звонок если система снята с охраны
Зы завтра проверю этот момент.
Модема к сожалению другого нет.
А еще светодиод моргает всеми цветами.
ЗЫ При включении сигналка один раз перемигивает всеми цветами, потом может мигать красным если поставлена на охрану и разомкнут один из датчиков основной или дополнительный.
Всеми цветами по кругу мигать не должна.
Ардуина живая, в перезагрузку не уходит случайно?
Выполните MemTest из консоли.
Проверьте схему пожалуйста, может где я накасячил.
MemTest
EEPROM: 1024B
Test passed.
GSM Alarm 17.08.10 fix-01
Deleting eepromconfig data.
Load default eepromconfig data.
AlarmInterval is: 60
Read eepromconfig:
RingTime: 40
Test: 0
Led: 1
Guard: 1
SleepTime: 15
AlarmPinTime: 60
WatchPower
Mode: 1
Time: 0
GuardButton: 0
DelayBeforeGuard: 0
ExtDevice
Level: 1
Time: 1
SensorLevel
Main: 0
Second: 1
DelayBeforeAlarm
Main: 0
Second: 0
PCF: 0
PCFForce: 0
ModemID: Autodetect
Delete balance data.
Load default balance data.
Balance number: #100#
Length to return: 22
Deleting phone data.
Load default phone data.
Read array phone:
№ -> Phone -> s -> r -> p -> i
1 -> -> 0 -> 0 -> 0 -> 0
2 -> -> 0 -> 0 -> 0 -> 0
3 -> -> 0 -> 0 -> 0 -> 0
4 -> -> 0 -> 0 -> 0 -> 0
5 -> -> 0 -> 0 -> 0 -> 0
6 -> -> 0 -> 0 -> 0 -> 0
7 -> -> 0 -> 0 -> 0 -> 0
8 -> -> 0 -> 0 -> 0 -> 0
9 -> -> 0 -> 0 -> 0 -> 0
10 -> -> 0 -> 0 -> 0 -> 0
Deleting sensor data.
Load default sensor data.
I2C devices not found
Detected ModemID: 2
Guard ON at boot
#define _SS_MAX_RX_BUFF 64
стало так:
#define _SS_MAX_RX_BUFF 192
Забыл добавить, источник питания «с доработкой».
ЗЫ Попробуйте сменить источник питания.
а нужно питать через 5V. Попробую кинуть перемычку.
AT+CLIP=1
OK
AT+CMGF=1
OK
AT+CSCS=«GSM»
OK
AT+CNMI=2,2
TestOn
Detected ModemID: 0
⸮
А в консоль сыпется вот это.
I2C devices not found
Detected ModemID: 2
Guard ON at boot
TestOn
OK
OK
OK
OK
OK
OK
Циклично валит в консоль? Если нет то это норма. введите команду ATE1 и увидите что это ответы на команды посылаемые ардуиной в модем.
Я попробовал залить в мегу (скетч), отъехал модем и связи с ним нет, хотя на UNO всё работает.
Похоже чего-то не вижу…
По комментариям инфы не нашёл.
Кто-нить с мегой экспериментировал?
Модем SIM 900 (работает как sim800 + 2 пина на включение питания и контроль включения)
Работает только на 19 и 20 пинах. на другие перекинуть не получается.
Ну работает и ладно.
А диоды в схеме с повышающим строго обязательны? Просто вроде и без них все работает, правда питаюсь от micro-USB.
Подключайте по схеме из этого обзора.
Может 5В зарядку поменять? Были с такими пульсациями что сенсоры на телефонах с ума сходили.
AT+CREG?
+CREG: 0,1
OK
А вообще импульсный жор тока в момент передачи лечится конденсаторами на самом модеме. Мне китайцы к каждому модему аж по 2 тантала на 100мкФ положили. Может имеет смысл допаять и электролит для сглаживания потребления.
В целом устройство работает без нареканий на протяжении нескольких месяцев, автору огромный респект!!!
Честно говоря я в программировании не силен, может кто что подскажет?
EditMainPhone:r
Этой командой его можно изменить?
И честно говоря не понял что означают эти атрибуты «s», «r», «p», «i»
Честно говоря, не узрел этот пост. Тяжело все за раз вкурить. :)
EditMainPhone:1+71234567890r наверное так?
Но как быть с этим: >> Т.е. кто первый позвонил на устройство после его сброска на заводские установки тот и и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс. Невозможно добавить два одинаковых номера.<<
Да, телефон в памяти под первым номером, Заносится звонком, т.е. без атрибутов?
Значит должен не использоваться (согласно посту выше), но на него идут смс и звонки.
Номер изменить нельзя, удалить тоже. Но методы оповещения — можно.
Возможно, но тогда у номера дубликата автоматически остаётся только признак «r» — исключительно для повторного голосового вызова.
Все атрибуты у первого номера добавляются автоматически. Вы можете подключить устройство к консоли и посмотреть вывод команды ListPhone.
Как-то так.
Десяток баксов. А не почти 10 тыс руб если брать готовое решение у производителей. Зависть :)
Тащить провода по всей квартире и держать ПК постоянно включенным не с руки — порой возможны непонятные отключения электричества.
Повторил. Работает. После очень длительного чтения этой и второй ветки, посвященной данному девайсу, могу поделиться результатом. По ссылке архив с «окончательной» схемой, платами под Arduino Nano и Pro mini. Платы сделаны «универсальными»: с возможностью использовать тревожный выход, выход управления нагрузкой, вход управления по 1 и по 0, а также возможностью подключния датчика движения, Пояснения смотреть на схеме и в текстовом файле (в архиве ниже).
Схема и прошивка свои. Из базового скетча осталось всего ничего.
В добавок полное управление режимами сна и энергосбережения.
Включение и выключение модема.
В дежурном режиме на АКБ суммарной емкости 4а\ч работает 3 недели.
Если не секрет и не коммерческая тайна — можете поделиться?
А у меня вторая версия платы к прошивке kvolk (первый пост чуть выше).
Используется Arduino Pro Mini 16 MHz 5 V.
Обвязка для управления выходами на плате предусмотрена, но я их не использую.
drive.google.com/file/d/1hZxEc4IUnRd6m9C2PVNj8DqFXzuccjOy/view?usp=sharing
В процессе сборки обнаружил, что неверно развел плату под полевик-ключ 6402 для питания схемы (его необходимо запаять вверх ногами).
плата v2.1 — исправлен на плате полевик VT1 (схема, плата)
drive.google.com/file/d/1fFkVyIvu5wn9cKhEJcb2gOAx2Omhe2_i/view?usp=sharing
Что там за параметр?!Последний ( i )
гугл диск пишет «нет доступа».
Может у кого-нибудь есть модифицированный вариант и он им поделиться?
Я имел виду модификации тов. которые делают для себя с какими-нибудь изменениями. Ну например можно было температуру в вместе с смс получить, режим сна или при обрыве-замыкании контактов с другого датчика звонило на другой номер. Ну типа того.
Я на самом деле просто поинтересовался, ну вдруг кто чего переделывал. Мне к сожалению самому уже не в курить такое изменение в скетче. У меня несколько платок трудиться, одна используется с простым китайским датчиком протечки (с двумя), вся беда еще в том, когда датчик намочен то сигналка звонит до бесконечности. Если ночью в телефоне звук выключен или он не рядом то беда. Было бы включено смс то сразу в минус. Ну в любом случае спасибо за проект!
Поставил такую же сигналку в гараж, геркон и неодимовый магнит. И тут началось… При температуре +5...0 литий не работает совсем, то есть автономности нет. Ложные срабатывания, на день по 5 раз, всё из-за неодимового магнита, с герконом он работать нормально не может. После замены магнита на комплектный с датчиком, проблема ушла. Осталось пересмотреть систему резервного питания для работы в зимнем режиме.
С литиевым акумом на холоде работает, но меньше по времени. Один вариант делал с питанием от 12в, встраивал в блок БПС от пожарной сигнализации. Акум гелевый там. Работает уже 5 лет у человека в гараже.