Авторизация
Регистрация

Напомнить пароль

avatar
RSS блога Подписка

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

Добрый день! Опять мультиобзор китайских электронных компонентов, как обычно обо всём понемногу, постараюсь покороче, но получится ли? Итак, встречайте, GSM сигнализация стоимостью до 700 ₽. Интересно? Прошу под «cut»!

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

1) Оповещать при срабатывании датчиков.
2) В случае отключения питания должна быть предусмотрена некоторая автономность.
3) Управление сигнализацией через sms и звонки.

Из-за того, что процесс создания сигнализации затянулся на несколько месяцев и некоторые продавцы уже не продают те компоненты которые были у них куплены, ссылки будут актуализированы на товары других продавцов у которых максимальное или приближенное к максимальному число продаж товара и лучшая цена. Цены в обзоре актуальны на дату его написания.

Перечень того что понадобится:

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

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





*12 — На фото PowerBank 4 x 18650, если постараться, то можно и в него всё вместить.

Начнём. Все ключевые моменты и возможные «подводные камни» выделены жирным шрифтом.

Мозгами будет Arduino Nano v3 неоднократно рассмотренная на этом ресурсе.

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

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

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

USB-UART <---> Modem m590e
GND <->GND
VCC <-> 5V
TXO <-> RXD
RXI <-> TXD

Подключаем к USB порту компьютера, устанавливается драйвер. В диспетчере устройств должно появиться что-то подобное:

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

Нажимаем кнопку «Open» и отключаем пин GND от модема. Примерно через секунду подключаем обратно и если видим в консоли подобные «каракули»:

закрываем программу, запускаем снова. В поле скорость порта «Speed» меняем значение на следующее (14400) из возможных и повторяем эти операции до тех пор, пока не увидим в консоли строку:

Отлично! Теперь необходимо модему сообщить что в дальнейшем мы с ним будем «общаться» на скорости 9600, для этого в консоли вводим команду:
AT+IPR=9600
и нажимаем «Enter». Видим следующее:

Закрываем программу и подключаемся снова, указываем номер порта и скорость уже 9600.
Если выполнить команду
ATI
то увидим информацию о прошивке и модели модема.

На этом настройка модема завершена.

Для питания от сети используем 5 V 1-2 А зарядное устройство от телефона. Лучше не использовать непонятные дешевые китайские зарядники, а взять что-то понадёжнее. Так же необходимо сделать источник бесперебойного питания на случай отключения сетевого питания. Подключить можно и так (устаревший вариант):


Но лучше подключать как на рисунке ниже, вместе с доработкой источника резервного питания:


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






Источник питания готов.

Подключение к Arduino светодиода и герконового датчика.


Подключение модема.
Модем <---> Arduino
TXD <->D8
RXD <->D9
Модем <---> MT3608
5V <->VOUT+
GND<->VOUT-

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

Подключение герконового датчика.
Герконовый датчик <---> Arduino
Контакт 1 <-> VIN
Контакт 2 <-> D6
Так же D6 надо замкнуть на GND через резистор на 10 кОм.

После МТ3608 стоит выключатель в разрыве плюсового контакта питания, на случай если понадобится перезагрузить Arduino с модемом.

Фото







Готовое устройство в сборе.

* В этом устройстве не использовал разъёмы XT60 и JST SM так как они задержались в пути, заменил их аналогичными :) В принципе можно и без них обойтись, но так удобнее отключать сигнализацию от датчика и сети питания. Да и XT60 не совсем подходит для 220В, уж очень близко контакты, но другого ничего не нашел.
Крепим датчик. Магнит вешаем на дверь, датчик на коробку. На датчике и на магните уже присутствует двухсторонняя липкая лента, держится он хорошо, если есть желание можно прикрутить шурупами, они присутствуют в комплекте. Датчик срабатывает уже на расстоянии 4 — 5 сантиметров, ложных срабатываний не наблюдалось.

Фото




Теперь заливаем скетч, так как периодически вношу изменения в код, буду выкладывать скетчи с датами изменений.

В файл SoftwareSerial.h (C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.h) необходимо внести изменения

было так:

#define _SS_MAX_RX_BUFF 64 

стало так:

#define _SS_MAX_RX_BUFF 192

Неактуальная версия прошивки сигнализации.
Список изменений. Скетч от 02.12.2016 финальный открытый скетч, в дальнейшем изменения в этот скетч вноситься не будут. В дальнейшем все прошивки будут выкладываться в виде бинарного файла.
Скетч от 18.11.2016. Добавлена sms — команда запроса баланса Money и добавлен тревожный пин (описание в скетче). Занято 73% SRAM;

Скетч от 19.11.2016. Теперь sms — команды не чувствительны к регистру (Info=InFo=INFo=infO). Оптимизация памяти — занято 55% SRAM;

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

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

Скетч от 02.12.2016. Исправлен баг SYSTEM:AUTO GUARD ON. Теперь команда SmsOff работает правильно. Команда Clear заменена командой ClearSms. Команда Reset заменена командой ResetConfig. Занято 54% SRAM;

Скетч от 02.12.2016
Исходник sketch_02_12_2016.ino берём тут.

Команды управления для скетча от 02.12.2016
SMS — команды управления не чувствительны к регистру:


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

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

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

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

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

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

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

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

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

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




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

Программное обеспечение для прошивки Arduino Nano берём тут.
Инструкция по прошивке
— подключаем Arduino в USB-порт
— выбираем Hex файл
— выбираем тип Arduino Nano
— выбираем COM порт, который создался при подключении Arduino к USB
— скорость 57600
— нажимаем Upload

Прошивку в виде hex — файла берём тут или на гитхабе.

Список изменений
GSM_03_12_2016-14-38.hex — исправлена работа устройства с модемом M590.
GSM_05_12_2016-13-45.hex — добавлена консольная команда memtest, оптимизация использования оперативной памяти.
GSM_2016_12_06-15-43.hex — добавлен вывод результатов команд в консоль, оптимизация памяти. Занято: 49% SRAM.
GSM_2016_12_07-10-59.hex — теперь телефонные номера добавляются и удаляются правильно. Занято: 49% SRAM, 74% Flash Memory.
GSM_2016_12_07-15-38.hex — добавлена возможность подключения датчика движения HC-SR501, подключается к пину A0 (в данном случае пин A0 используется как цифровой). Добавлены смс — команды PIROn, PIROff. Занято: 48% SRAM, 76% Flash Memory.
GSM_2016_12_08-13-53.hex — Теперь после успешного выполнения команды, которая в ответ не отправляет смс сообщение, устройство однократно мигает синим светодиодом. Теперь после некорректного выполнения команды, которая в ответ не отправляет смс сообщение, устройство дважды мигает синим светодиодом. Теперь после инициализации параметров устройства, если включен «тихий» режим (SendSms = 0), устройство в течение 2 секунд часто мигает синим светодиодом. Исправлена ошибка из-за которой номер не всегда удалялся из памяти командой DeletePhone. Занято: 48% SRAM, 78% Flash Memory.
GSM_2016_12_11-09-12.hex — Добавлены консольные команды AddPhone и DeletePhone, синтаксис аналогичен смс-командам. Оптимизация памяти. Занято: 43% SRAM, 79% Flash Memory.
GSM_2017_01_03-22-51.hex — Реализована поддержка модуля и ему подобных расширителей портов ввода/вывода на чипе PCF8574, для подключения дополнительных 8 датчиков, в том числе герконов. Автоматический поиск адреса и автоматическая настройка модуля. Стандартные названия датчиков и логический уровень их срабатывания изменяется с помощью команды EditSensor. Изменены содержания тревожных смс для основного датчика (пин D0) «Alarm! Main sensor!» и датчика движения (пин A0) «Alarm! PIR sensor!». Добавлены команды EditSensor и I2CScan. Занято: 66% SRAM, 92% Flash Memory.
GSM_2017_01_15-23-26.hex — Поддержка модема A6_Mini. Контроль наличия внешнего питания (пин D7). Добавлены смс команды WatchPowerOn, WatchPowerOff. Добавлены консольные команды ListConfig, ListSensor. Теперь смс команда EditSensor работает правильно. Незначительно «урезан» вывод отладочной информации в монитор порта. Занято: 66% SRAM, 95% Flash Memory.
GSM_2017_01_16-23-54.hex — Теперь в ответном сообщении на смс команду «Info» так же сообщается состояние датчика движения. Исправлена ошибка из-за которой иногда отправлялись пустые ответные смс сообщения. Теперь устройство оповещает не только об отключении, но и о возобновлении внешнего питания. Все модемы стали «меньше болтать», теперь в мониторе порта стало немного чище. Занято: 66% SRAM, 95% Flash Memory.
GSM_2017_02_04-20-23.hex — Исправлена ошибка «Watch the power on». Теперь после снятия с охраны, выключается «тревожный пин». Теперь после удаления номера в консоль выводится правильная информация. Возможно исправлена ошибка из-за которой иногда отправлялись пустые ответные смс сообщения. Занято: 66% SRAM, 90% Flash Memory.
GSM_2017_02_14-00-03.hex — Теперь по умолчанию отправляются смс сообщения, параметр SendSms снова равен 1. Теперь при замыкании контактов основного герконового датчика (закрытии двери) устройство мигает синим светодиодом в течение 2 секунд, сигнализируя о нормальной работе датчика. Занято: 66% SRAM, 90% Flash Memory.
GSM_2017_03_01-23-37.hex — Команда WatchPowerOn удалена. Добавлена консольная команда WatchPowerOff, идентична смс команде. Добавлены команды WatchPowerOn1, WatchPowerOn2. WatchPowerOn1 — мониторинг внешнего питания включен если сигнализация поставлена на охрану, WatchPowerOn2 — мониторинг внешнего питания включен всегда. Реализована функция постановки на охрану и снятия с охраны внешними устройствами, для этого используются выводы A1(D15) и A2(D16). Сигнализация ставит/снимает охрану при появлении на выводе A1(D15) высокого уровня +5В или на выводе A2(D16) низкого уровня GND. Вывод A1(D15) подтягивается к GND, вывод A2(D16) подтягивается к +5V через резисторы 20 (10) кОм. Добавлены команды GuardButtonOn и GuardButtonOff. Теперь после постановки на охрану мигает красный светодиод, пока не будет проверена целостность контура основного герконового датчика. Если контур целый загорается красный светодиод. Занято: 66% SRAM, 95% Flash Memory.
GSM_2017_03_12-20-04.hex — Теперь в консоли стало ещё чище, но если включен тестовый режим «TestOn», то в консоль выводится дополнительная информация. Исправлен баг «Sent!», теперь в консоль правильно выводится информация об отправке сообщений. Исправлен баг «повторного ложного вызова». Теперь запрос баланса должен работать корректно на всех модемах. Занято: 67% SRAM, 95% Flash Memory.
GSM_2017_04_16-12-00.hex — Исправлен баг с тревожным пином. Теперь команды Info и Money всегда будут присылать ответное смс. Команда GuardButtonOn заменена командами GuardButtonOn1 и GuardButtonOn2. Занято: 67% SRAM, 99% Flash Memory.
GSM_2017_04_21-09-43.hex — не рекомендуется к использованию, только в качестве тестирования, спасибо за выявленные ошибки :) — Теперь параметр sendsms не влияет на отправку смс сообщений мониторинга электросети. Добавлена смс команда DelayBeforeGuard отвечающая за задержку при постановке на охрану, значение не может превышать 255 секунд. Добавлена смс команда DelayBeforeAlarm отвечающая за задержку отправки уведомлений и включение «тревожного пина» при срабатывании датчиков, значение не может превышать 255 секунд. Удалены команды ClearSMS, теперь сообщения удаляются автоматически после получения. Занято: 68% SRAM, 100% Flash Memory.
GSM_2017_04_22-20-42.hex — Исправлены множественные ошибки. Команды ClearSMS снова присутствуют в прошивке. Оптимизация памяти. Занято: 68% SRAM, 98% Flash Memory.
GSM_2017_04_23-17-50.hex — Теперь запрос баланса должен работать корректно на всех модемах. Постановка и снятие с охраны внешними устройствами теперь работает правильно. Ответные сообщения смс команды Info не должны быть пустыми. Оптимизация памяти. Занято: 68% SRAM, 98% Flash Memory.
GSM_2017_04_24-13-22.hex — Теперь передача консольных команд в GSM модуль производится только если включен тестовый режим. Теперь нет разделения на смс команды и консольные команды, все существующие команды можно передавать как через смс, так и через консоль. Возможно исправлен баг с командой Info. Оптимизация памяти. Занято: 68% SRAM, 94% Flash Memory.
GSM_2017_04_25-20-54.hex — Исправлен баг при котором команда ListConfig меняла значение последнего события. Теперь при вводе команд через косоль не отправляются ненужные смс сообщения. Возможно исправлен баг с командой Info. Оптимизация памяти. Занято: 66% SRAM, 94% Flash Memory.
GSM_2017_04_30-12-57.hex — Временно включён вывод дополнительной информации в консоль при отправке смс сообщений и формировании ответа на команду Info. Возможно исправлен баг с командой Info. Оптимизация памяти. Занято: 66% SRAM, 92% Flash Memory.
GSM_2017_05_06-11-52.hex — Исправлен баг с функцией DelayBeforeAlarm. Занято: 66% SRAM, 93% Flash Memory.
GSM_2017_05_23-21-27.hex — Незначительно изменён вывод информации в консоль. Добавлена поддержка модулей расширения портов на PCF8574A c адресами от 0x38 до 0x3f включительно. Исправлен баг c AlarmPinTime. Теперь устройство перезагружается автоматически после команд FullReset, ResetConfig, ResetPhone и в случае успешного выполнения команды MemTest. Добавлена команда WatchPowerTime. Теперь возможно установить время, по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Занято: 67% SRAM, 94% Flash Memory.
GSM_2017_05_26-20-22.hex — Исправлена инициализация памяти датчиков платы расширения. Изменён синтаксис команды AddPhone. Добавлена команда EditMainPhone. Изменен принцип работы системы уведомлений, при срабатывании датчика сначала будут отправлены sms сообщения, после чего будут совершены голосовые вызовы. Тревожные sms сообщения будут отправлены на телефонные номера с признаком «S» (SMS). Голосовые вызовы будут совершены на номера с признаком «R» (Ring). Сообщения об отключении/включении внешнего источника питания будут отправлены на телефонные номера с признаком «P» (Power). Добавлена команда RingTime. Теперь возможно установить длительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд. Теперь команда RingOn/RingOff глобально включает/отключает оповещение голосовыми вызовами. Добавлена команда ResetSensor. Занято: 68% SRAM, 99% Flash Memory.
GSM_2017_06_02-17-43.hex — Командам AddPhone и EditMainPhone добавлен параметр «I» (Info), отвечающий за sms уведомление о постановке или снятии устройства с охраны. Теперь после добавления основного номера устройство автоматически перезагружается. Теперь можно вносить в память устройства одинаковые номера. При добавлении второго и последующих дублирующихся номеров с них автоматически будут сняты атрибуты «M», «S», «P» и «I». Эти номера будут использованы для повторного голосового вызова при срабатывании датчиков. Исправлен баг кривого вывода в консоль после выполнения команды AddPhone, теперь информация не выводится автоматически после добавления номера. Добавлена команда Reboot. Занято: 69% SRAM, 99% Flash Memory.
GSM_2017_06_11-00-07.hex — Теперь вновь при замыкании контактов основного герконового датчика (закрытии двери) устройство мигает синим светодиодом в течение 2 секунд, сигнализируя о нормальной работе датчика, при этом не учитывается поставлено или снято устройство с охраны. Команды RingOn/RingOff удалены. Теперь устройство можно снять с охраны во время тревожного вызова, теперь они совершаются в фоновом режиме. Занято: 69% SRAM, 99% Flash Memory.
GSM_2017_07_04-21-52.hex — Теперь команда Pause не присылает ответное смс. Удалены команды TestOn и TestOff. У всех номеров удалён признак Management. Занято: 68% SRAM, 96% Flash Memory.
GSM_2017_07_24-12-02.hex — Добавлены команды ReedSwitchOn/ReedSwitchOff для мониторинга основного герконовго датчика, теперь его можно включать/отключать так же как и датчик движения. Исправлен баг команды Info. Команды TestOn и TestOff снова присутствуют в прошивке. Занято: 68% SRAM, 96% Flash Memory.
GSM_2017_07_26-10-03.hex — Добавлена команда ModemID. Автоматическое определение модема осуществляется только если значение этого параметра равно 0. После установки значения параметра равным 0 производится автоматическая перезагрузка устройства. Занято: 68% SRAM, 98% Flash Memory.
GSM_2017_08_03-22-03.hex — Теперь сигнализация может управлять внешними устройствами. Для управления используется аналоговый выход A3 (D17 — используется как цифровой). Логический уровень выхода (+5В или GND) может быть изменен, после изменения уровня через команду настройки устройство автоматически будет перезагружено. Длительность сигнала управления внешним устройством может быть изменена. Добавлены команды ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Некоторые изменения в логике работы команд управления. Оптимизация памяти. Занято: 68% SRAM, 99% Flash Memory.
GSM_2017_08_10-12-17.hex — Удалены команды SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIROff и всё что с ними связано. Команда DelayBeforeAlarm заменена расширенными командами. Изменён вывод команды Info. Оптимизирован вывод команды ListConfig в консоль. Теперь к пинам D6 и A0 могут быть подключены любые цифровые датчики с высоким или низким уровнем срабатывания, в том числе герконы. Пины D6 и A0 должны быть притянуты к земле (GND) через сопротивление 10 (20) кОм. Если датчик настроен на низкий уровень срабатывания (включен в режиме геркона), то проверяется целостность цепи. Логический уровень срабатывания по входам D6 и A0 (+5В или GND) может быть изменен, после изменения логического уровня устройство автоматически будет перезагружено. Для каждого из датчиков (main, second, PCF-платы расширения) при срабатывании может быть установлено своё время по истечение которого будет осуществлено уведомление (смс и/или голосовой вызов). «PIR Sensor» переименован в «Second sensor». Исправлена работа платы расширения, ошибка из-за которой устройство всегда уведомляло о срабатывании датчиков, вне зависимости от того поставлено устройство на охрану или нет. Теперь можно выбрать режим работы при котором устройство может мониторить датчики платы расширения как во включенном режиме охраны (GuardOn), так и при выключенном режиме (GuardOff). Добавлены команды PCFForceOn/PCFForceOff, MainSensorLevelHigh/MainSensorLevelLow/MainSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeforeAlarm, PCFDelayBeforeAlarm. Занято: 68% SRAM, 99% Flash Memory.

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

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

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



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

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

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

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

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

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

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

SMS — команды управления не чувствительны к регистру:
AddPhone — Добавить номер телефона. Всего может быть добавлено не более 9 номеров + 1 основной номер который автоматически сохраняется в память при первом звонке на устройство после сброса на заводские установки командами ResetPhone или FullReset. Т.е. кто первый позвонил на устройство после его сброска на заводские установки тот и и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс. Возможно добавить два одинаковых номера, но тогда у номера дубликата автоматически остаётся только признак «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» телефон заносится в память, но никак не используется.

DeletePhone — Удалить номер телефона.
Пример команды:
DeletePhone:+71234567891
Синтаксис команды:
DeletePhone — команда
: — разделитель
+71234567891 — номер телефона

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

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

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

SleepTime — Время «засыпания» сигнализации при получении смс — команды «Pause», указывается в минутах. Значение по умолчанию: 15, не может быть менее 1 и более 60.
Пример команды:
SleepTime:20
Синтаксис команды:
SleepTime — команда
: — разделитель
20 — 20 минут «сна».

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

DelayBeforeGuard — Время до постановки устройства на охрану, после получения соответствующей команды.
Пример команды:
DelayBeforeGuard:25
Синтаксис команды:
DelayBeforeGuard — команда
: — разделитель
25 — 25 секунд до постановки на охрану

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

WatchPowerOn1 — аналогична sms-команде WatchPowerOn1
WatchPowerOn2 — аналогична sms-команде WatchPowerOn2
WatchPowerOff — аналогична sms-команде WatchPowerOff

GuardButtonOn — аналогична sms-команде GuardButtonOn . Удалена начиная с версии GSM_2017_04_16-12-00
GuardButtonOn1 — аналогична sms-команде GuardButtonOn1
GuardButtonOn2 — аналогична sms-команде GuardButtonOn2
GuardButtonOff — аналогична sms-команде GuardButtonOff

Memtest — тест энергонезависимой памяти устройства, все настройки устройства будут сброшены, аналогично команде FullReset.

I2CScan — поиск и инициализация поддерживаемых устройств на шине I2C.

ListConfig — вывод в монитор порта текущей конфигурации устройства.

ListSensor — вывод в монитор порта текущей конфигурации датчиков.


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

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

НЕ Актуально!
Подключение 2 и более датчиков для открытых прошивок (касается только этой прошивки sketch_02_12_2016.ino)
Для подключения дополнительных герконовых датчиков используем свободные цифровые пины 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 кОм.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

modem startup 

modem startup 

modem startup 


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


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

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

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

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

В файл SoftwareSerial.h (C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.h) необходимо внести изменения

было так:

#define _SS_MAX_RX_BUFF 64

стало так:

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

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

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

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

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

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

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

^

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

R14.18

OK
AT+CLIP=1

OK
AT+CMGF=1

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

OK
AT+CLIP=1

OK
AT+CMGF=1

OK
AT+CSCS=«GSM»

OK
AT+CNMI=2,2

OK

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

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

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

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

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

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


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

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

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

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

и неработает

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

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


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

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

The system is started, initialization parameters.


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

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

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

Start working.
System -> Guard off

R13.08

OK
AT+CLIP=1

OK
AT+CMGF=1

OK
AT+CSCS=«GSM»

OK
AT+CNMI=2,2

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

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

SMS from: +79658420796

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

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

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




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

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

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

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

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


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

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

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

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

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


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


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

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

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

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

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

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

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


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

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


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


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

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

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


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

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

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

Arduino GSM Alarm 17.01

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

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

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

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

No I2C devices found

Start working.
System -> Guard on


MODEM:STARTUP


+PBREADY

AT+CLIP=1

OK
AT+CMGF=1

OK
AT+CSCS="GSM"

OK
AT+CNMI=2,2

OK
ATE1

OK

Deleting eepromconfig data.
Restore default eepromconfig data.

AlarmInterval is updated: 60

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

Deleting phone data.
Restore default phone data.

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

Deleting balance data.
Restore default balance data.

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

fullreset

ERROR


RING

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

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

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

OK
AT+CMGS="+7923008NNNN"

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

OK


RING

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

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

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

OK
AT+CMGS="+7923008NNNN"

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

OK

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

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

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

R14.18

OK
AT+CLIP=1

OK
AT+CMGF=1

ERROR
AT+CSCS=«GSM»

ERROR
AT+CNMI=2,2

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

OK
AT+CLIP=1

OK
AT+CMGF=1

OK
AT+CSCS=«GSM»

OK
AT+CNMI=2,2

OK
Попробую выяснить., позже отпишусь.
+
avatar
0
  • pixel28
  • 09 января 2017, 14:37
Наверное дело не в версии прошивки модема. Сим карта просто не хочет регистрироваться в сети. Он должен писать при включении: +CPIN: READY, Call Ready, SMS Ready. А у меня такого не пишет((
+
avatar
0
  • pixel28
  • 09 января 2017, 15:16
Попробовал вручную опросить модуль, сим карта у меня теле 2, пробовал и с МТС.
Спрашиваю:

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 почему-то нету)
+
avatar
0
  • kvolk
  • 09 января 2017, 15:59
Что-то похожее.
Воткните симку в телефон и проверьте её работоспособность, а симка случаем не 4G?
+
avatar
0
  • pixel28
  • 09 января 2017, 16:05
Симка обычная, не 4G. В телефоне работает отлично, пин код выключен.
+
avatar
0
  • kvolk
  • 10 января 2017, 22:21
Что нибудь получилось?
Попробуйте модем подцепить на сом-порт и выполните команды:
AT+CLIP=1
AT+CMGF=1
AT+CSCS=GSM
AT+CNMI=2,2
После каждой должно появиться
OK
И ещё, покажите мне пожалуйста вывод в консоль при входящем звонке, должно быть что-то подобное:
RING

+CLIP: «7905XXXXXXX»,145,,,,1

RING

+
avatar
0
  • pixel28
  • 11 января 2017, 11:32

at
OK
at+clip=1
OK
at+cmgf=1
ERROR
at+cscs=gsm
ERROR
at+cnmi=2,2
ERROR


100% причина кроется в операторах.
Видимо сейчас операторы выпускают сим карты без поддержки 2G. А сам модуль SIM800L работает в 2G и не поддерживает 3G. Вот и сим карта не регистрируется в сети и при звонке на нее говорит, что «аппарат вызываемого абонента выключен». Может сим карты могут работать в 2G, но скорее всего этот режим нужно как-то активировать. Видимо придется искать 3G модем.
+
avatar
0
  • kvolk
  • 11 января 2017, 13:06
Зайдите в офис к оператору и скажите что у вас нокиа, жадут симку 2g
+
avatar
0
  • pixel28
  • 13 января 2017, 20:54
У меня заработал модуль! На форуме посоветовали прозвонить пайку сим лотка, тк там может быть кз из-за соплей припоя. Прозвонил-кз. Стал рассматривать через микроскоп, соплей нету, все отлично припаяно. В итоге убрал весь припой оплеткой и пролудил снова, все заработало!
Теперь я обнаружил баги в hex прошивке.
Во первых: При запросе Money присылает билиберду типа (004А0043005400). Пробовал менять длину обрезки, не помогло. (не понял с какой стороны обрезает?)
Во вторых светодиодная индикация, до сих пор не понял, как она работает. LedOff включает красный светодиод, LedOn выключает.
Синий вообще горит постоянно. TestOn начинает мигать синий, TestOff опять загорается. При постановке на охрану перестает светить зеленый, загорается красный, тут все верно вроде. При снятии наоборот. Синий так и должен всегда гореть?
+
avatar
0
  • kvolk
  • 13 января 2017, 21:33
По пунктам:
При запросе Money присылает билиберду типа (004А0043005400)
«004А0043005400» это вам оператор возвращает ответ русскими символами, уточните у оператора какой номер запроса баланса на латинице. Обрезает от начала строки.

Во вторых светодиодная индикация, до сих пор не понял, как она работает.
Рассказываю как должно работать, у меня всё работает как надо:
Зелёный светодиод светится в том случае если сигнализация снята с охраны и LedOn=1.
Зелёный светодиод не светится в том случае если сигнализация снята с охраны и LedOn=0.
Красный светодиод светится в том случае если сигнализация поставлена на охрану значение LedOn игнорируется, т.е. светится всегда если поставлено на охрану.
Синий светодиод используется командами:
TestOn — быстро мигает;
Pause — горит всё время пока активна команда паузы;
Мигает после выполнения консольных и смс команд которые в ответ не отправляют смс сообщения.

Синий вообще горит постоянно.
Проверяйте почему на пине к которому подключен синий
светодиод постоянно присутствует уровень GND, такого быть не должно.
+
avatar
0
  • kvolk
  • 17 января 2017, 15:23
100% причина кроется в операторах....
Решилась проблема?
+
avatar
+1
  • Aduard
  • 09 января 2017, 22:35
Сделал на плате, теперь без проводов.
+
avatar
0
  • Aduard
  • 09 января 2017, 22:36
Сделал на плате, теперь без проводов.
+
avatar
0
  • Aduard
  • 09 января 2017, 22:37
Сделал на плате, теперь без проводов.
+
avatar
0
  • Maksym
  • 09 января 2017, 22:42
Уже можно было и АТмегу на плату запаять и не использовать ардуину вообще :).
А зачем вам аж две платы источников питания?
+
avatar
0
  • Aduard
  • 09 января 2017, 22:47
Блок питания 15в
+
avatar
0
  • Maksym
  • 09 января 2017, 23:03
И? Одной платкой не получалось понизить до нужного напряжения? Двухкаскадное понижение?
+
avatar
0
  • Aduard
  • 09 января 2017, 23:14
А у Вас что нибудь получилось? И? Питание модема номинальное 3,9В, ардуино 5В mysku.club/blog/aliexpress/37745.html
+
avatar
0
  • Maksym
  • 09 января 2017, 23:40
А питание АТмега в 3,3 В прекрасно переносит (по даташиту от 2,7 В на 10 МГц гарантированно). Собственно в самом начале обзора есть секретная ссылочка на питание ардуины от литиевого аккумулятора без всяких 5 В :).
У меня пока вопрос какой модем заказывать.
+
avatar
0
  • Aduard
  • 09 января 2017, 23:55
У меня же не АТмега, а нано… Я не делал питание от аккумулятора.А модем- Вам же Илья посоветовал какой лучше.У меня M590 работает отлично уже несколько месяцев.
+
avatar
0
  • Maksym
  • 10 января 2017, 00:01
Что нано? В нано Атмега328р стоит.
А если не делали питание от аккумулятора — то 3,9 В прекрасно хватит что ардуине, что модему :). Только заводить питание на Ардуину после стабилизатора, а не перед ним (а то он еще напряжение скушает).
Мне посоветовали подождать пока доедет А6 и потом уже решится 800 или А6. 590-й не советуют.
+
avatar
0
  • Aduard
  • 10 января 2017, 00:16
Я понял Ардуино Мега.Вы хотите модем от 3,3 В нано запитать?
У меня модем не запустился даже от зарядки 5В 1А, заработал только от БП 15В 2А
+
avatar
0
  • Maksym
  • 10 января 2017, 00:27
Нет, в вашем случае вы после платки понижайки получаете 3,9 В и заводите их на Ардуину и на модем. И все. Как здесь нарисовано img.mysku-st.ru/uploads/images/03/44/13/2016/09/10/c34baf.jpg. Только вместо ТР4056 у вас понижайка с ваших 15 В до 3,9 В. И батарейки нету. И на выходе не 4,2 В, а 3,9 В.
+
avatar
0
  • Aduard
  • 10 января 2017, 01:08
Зачем 3.9 в, мне не жалко добавить копеечный стабилизатор и подать 5 вольт…
+
avatar
0
  • Maksym
  • 10 января 2017, 01:13
Работать, конечно, будет :). Но можно было сделать проще.
+
avatar
0
  • Aduard
  • 10 января 2017, 01:27
С Вами согласен.В даташите рабочее напряжение 5 вольт, поэтому так и сделал.
+
avatar
0
  • kvolk
  • 10 января 2017, 09:59
Сегодня заберу на почте A6. 590 мне не нравятся лишь по причине их БУшности и, как следствие, огромного количества брака, частого отсутствия на модулях гнезда для антенны, медленностью работы. Но если модуль нормальный, с уровнем сигнала нет «косяков» то и ведёт он себя вполне адекватно.
+
avatar
0
  • Maksym
  • 11 января 2017, 02:22
Мне тут подумалось (уже где-то выше в комментариях было, но тем не менее) — у 800-го и А6 есть выход на микрофон. Если его подцепить то при сработке после дозвона и подъема трубки на драгой стороне будет ли передача звука? Что происходит при подъеме трубки после дозвона сигналкой? Сброс или без микрофона будет молчать в линию?
+
avatar
0
  • kvolk
  • 11 января 2017, 10:08
будет ли передача звука
Будет. При срабатывании датчика отправятся смс и будет совершен голосовой вызов на основной номер, если подключен микрофон, должно быть всё слышно.
+
avatar
0
  • kimber
  • 12 января 2017, 19:43
А возможно организовать режим прослушивания помещения без срабатывания датчика, произвольно, в любой момент?
+
avatar
0
  • kvolk
  • 12 января 2017, 19:56
Нет.
+
avatar
0
  • Maksym
  • 12 января 2017, 19:27
А6 забрали? Пробовали уже прикручивать?
+
avatar
0
  • kvolk
  • 12 января 2017, 19:57
Забрал, никак руки не дойдут, на этой неделе точно проверю.
+
avatar
0
  • kvolk
  • 14 января 2017, 20:34
Да, уже прикрутил, если объективно то плюсы:
новый;
работает с симкатрой от юсб порта, нет капризов с питанием;
поддерживает 4G симкарты;
пины соответствуют расстоянию на макетных платах, огромный плюс при отладке;
шустрый.

минусы:
раза в полтора больше чем sim800l;
много спама в консоль, пришлось значительно оптимизировать код.

В промежуточной прошивке Test-20170114 уже реализована его поддержка.

Резюмирую, однозначно брать, если размеры не критичны.
+
avatar
0
  • Maksym
  • 14 января 2017, 21:31
О! Спасибо! Размеры не критичны (хи-хи, можно подумать он больше пачки сигарет).
+
avatar
0
Здравствуйте! Aduard, А файл печати можно? Заранее спасибо.
+
avatar
0
  • Aduard
  • 10 января 2017, 14:08
Можно, вечером приеду изменения небольшие сделаю(сопротивлени надо добавить на Main Pin и Pir) и выложу.
+
avatar
0
  • Aduard
  • 10 января 2017, 18:51
А как здесь файл выложить? Давайте почту.
+
avatar
0
Отправил в личку.
+
avatar
0
У меня в номере телефона на 1 цифру больше, будет работать такая команда AddPhone:2+380671111111ma
или будет обрезать последнюю цифру номера?
+
avatar
0
  • kvolk
  • 10 января 2017, 12:23
Да, там до 16 символов можно вводить.
+
avatar
0
  • kvolk
  • 10 января 2017, 13:18
*Да, в смысле можно :)
+
avatar
0
  • iwizard
  • 11 января 2017, 06:25
+
avatar
0
  • kvolk
  • 11 января 2017, 10:10
Это 590 с USB-UART «на борту». Уж лучше А6 или SIM800L.
+
avatar
0
  • sotyi67
  • 11 января 2017, 12:13
У меня есть такой модуль. Что-то я не разобрался с ним. По mini-USB не смог подключиться.
Где бы схему найти…
+
avatar
0
  • kvolk
  • 11 января 2017, 13:08
Чего там разбираться-то, подключаете шнуркомминиусб, появится неизвестное устройство, ставим дрова, появится сом-порт, открываем putty, выбираем порт. Всё.
+
avatar
0
Как вы смотрите если добавить такую функцию, при звонке с разрешенного номера на сигналку, сигналка сбрасывает звонок и стает на охрану при повторном звонке снимает с охраны.Возможно такое реализовать?
+
avatar
0
  • Maksym
  • 11 января 2017, 22:48
А подтверждение? Вы ж не удержите в голове предыдущее состояние сигналки. Отсылать в ответ СМС?
+
avatar
+1
  • kvolk
  • 11 января 2017, 22:57
Вы тоже прикалываетесь? Зачем его в голове держать если после каждого изменения состояния вам приходит смс.
Изначально реализовано.
+
avatar
+1
  • kvolk
  • 11 января 2017, 22:56
Вы чего, прикалваетесь, или вобще обзор не читаете? Это реализовано изначально, звонок на сигналку или ставит на охрану или снимает, в зависимости от текущего состояния сигнализации.

Если поступил вызов с разрешенного номера или sms-сообщение с командой GuardOn/GuardOff, то в зависимости от текущего состояния охраны будет отправлено sms-сообщение о постановке или снятии с охраны на номера перечисленные в массиве AlarmPhone[], так же будет отправлено sms-сообщение на номер с которого поступил вызов.
+
avatar
0
Извините не дочитал
+
avatar
0
И 2-й вопрос, если прикрутить на шину i2c датчик bme280 можно ли его опрашивать по смс
+
avatar
0
  • kvolk
  • 11 января 2017, 22:58
Можно
+
avatar
+1
Еще хочу предложить одну хотелку на ваше усмотрение. Контроль сетевого напряжения, при пропадании и появление идет оповещение смс
+
avatar
0
  • Maksym
  • 12 января 2017, 12:45
Поддерживаю. Тоже было бы интересно знать об обесточивании (но с возможностью отключения, если часто клацать будут в деревне электричество — у них бывает).
+
avatar
0
  • kvolk
  • 12 января 2017, 22:21
Можно сигнализировать о низком напряжении с помощью можема сим800л, если у него напряжение питания ниже 3,3В он в консоль начинает писать что-то типа «Low voltage». Т.е. Получили в консоль строку предупреждениео низком напряжении питания и на «последнем вздохе» отправляем смс.
+
avatar
0
  • Maksym
  • 12 января 2017, 22:27
Если успеет отослать. При начале передачи напряжение просядет и может не успеть. Надо тестировать.
+
avatar
0
  • kvolk
  • 12 января 2017, 17:41
Уже давно в планах, если останется на это память. Мне кажется правильнее развязку сделать через оптопару PC817. Хотя так проще.
+
avatar
0
  • Maksym
  • 12 января 2017, 18:07
Оно ж все-равно гальванически связано с этим же блоком питания. Толку там развязку делать? Поставить 200К в верхнее плече и не один импульс не прорвется.
+
avatar
0
  • kvolk
  • 12 января 2017, 18:29
Согласен.
+
avatar
0
  • kvolk
  • 12 января 2017, 22:30
*что-то не согласен я, ставим 200к в верхнем, и что получим?
+
avatar
0
  • Maksym
  • 12 января 2017, 22:34
Ну и в нижнем чего-нибудь ставим, скажем 47К. Получим делитель. На выходе 0,95 В. Напряжение с него подаем на аналоговый вход и меряем что пришло — пришло 0,9-1,0 В — повер гуд :) (конечно диапазон можно расширить, да и номиналы делителя другие взять).
+
avatar
0
  • kvolk
  • 12 января 2017, 23:04
Если верхнее сделать 200к и нижнее 1м, то скорее всего и на цифровом можно отловить будет 4Вольта.
+
avatar
0
  • Maksym
  • 12 января 2017, 23:07
Возможно. Хотя мне кажется таки ЦАП-ом надежнее будет.
+
avatar
0
  • kvolk
  • 14 января 2017, 20:13
Реализовано в тестовой прошивке Test-20170114. R1 200K, R2 1M. Выход мк — пин D7.
Питание мониторится только если сигнализация поставлена на охрану т.е. Guard = 1. Прошивка будет очень скоро.
+
avatar
0
  • Maksym
  • 15 января 2017, 01:15
Хьюстон, ви хэв э проблэм. Максимальное напряжение на порту VCC+0.5V. Когда пропадет электричество и батарейка просядет до 3,4В и напряжение появится — оно сразу не подскочит до 4,2 В, а поднимется до этого уровня через час, когда аккумулятор зарядится. И в это время на порту будет напряжение 4,17 В и разница составит 0,77 В. А это или вылет порта, или вылет контроллера, или зависание…
Может быть ситуация что электрика клацается часто — для таких случаев было бы полезно выключать отправку СМС пока не устаканится не снимая сигналку с охраны.
+
avatar
0
  • kvolk
  • 15 января 2017, 09:24
Максимальное напряжение на порту VCC+0.5V
Очепятка?
разница составит 0,77 В. А это или вылет порта, или вылет контроллера, или зависание…
Это в теории или на практике?В таком случае номинал резисторов должны быть одинаковым, например по 200К. Напряжение будет 2,6 В, в любом случае меньше чем питающее ардуину.
Ардуина за логическую единицу принимает напряжение выше 3 В, по крайней мере так пишут в «интернетах», значит R1 = 220 К, R2 = 360 К, напряжение будет 3,1 В.
было бы полезно выключать отправку СМС пока не устаканится не снимая сигналку с охраны
Так и есть.
+
avatar
0
  • kvolk
  • 15 января 2017, 10:11
Максимальное напряжение на порту VCC+0.5V
Очепятка? Смысл понял.
Это в теории или на практике?
+
avatar
0
  • Maksym
  • 15 января 2017, 13:30
Пока пост на модерации — высокий уровень от 0,6-0,7 В, низкий до 0,2-0,3 В.
+
avatar
0
  • kvolk
  • 15 января 2017, 15:21
Тогда PC817.
+
avatar
0
  • Maksym
  • 15 января 2017, 15:25
А почему не АЦП? Меряем напряжение с делителя, делитель считаем на 1 В или около того. Как я изначально предлагал.
+
avatar
0
  • kvolk
  • 15 января 2017, 16:21
Потому что памяти осталось меньше килобайта, а ещё надо датчики температуры прикрутить. Куда проще и менее затратно это сделать не используя АЦП, да и зачем его использовать в данном случае.
+
avatar
0
  • kvolk
  • 15 января 2017, 16:55
высокий уровень от 0,6-0,7 В, низкий до 0,2-0,3 В.
Неа.
+
avatar
0
  • Maksym
  • 15 января 2017, 17:20
:) согласен.
+
avatar
0
  • Maksym
  • 15 января 2017, 13:21
То что пишут в интернетах об ардуине это одно. А то что пишет Атмел в даташите на Атмегу328 — это и есть первоисточник, на который следует ориентироваться, т.к. ардуина — это голая Атмега с кварцем по сути и удобными выводами от ног контроллера.
bsvi.ru/pp1150117d399d4
bsvi.ru/pp1150117404506
Т.е. логическая единица от 0,6–0,7 В, а ноль до 0,3 В.
+
avatar
0
  • kvolk
  • 15 января 2017, 16:18
У нас питание максимальное 4,2 В, минимальное 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В на пине не будет.
+
avatar
0
  • Neles
  • 12 января 2017, 12:08
Добрый день. Собрал сигнализацию для гаража.Версия с датчиком движения.Модем М590, Arduino Nano. На охрану встает-снимается и по звонку и по смс, на датчики реагирует адекватно. но после снятия звонком ровно через 5 мин. снова встает на охрану сама с отсылкой смс.При этом в мониторе вижу RING, хотя звонка не делаю.Прочитал инструкцю, такой функции не оговорено. Что это может быть, где копать? Заранее спасибо.
+
avatar
0
  • kvolk
  • 12 января 2017, 17:34
Модем дублирует строку вызова через 5 минут, видел один раз подобное только дублировалась строка через 2 секунды.
Если есть возможность, попробуйте другой модем.
+
avatar
+1
  • Neles
  • 13 января 2017, 23:19
Поменял модем.Картина та же.
Guard Off.
Через 15сек.
Обонент снова в сети.
Через 5 мин.
Guard On.
+
avatar
0
  • kvolk
  • 14 января 2017, 08:22
Подключайте модем к сом-порту напрямую и смотрите почему приходит две строчки ринг с разницей в 5 минут.
+
avatar
0
  • Neles
  • 14 января 2017, 20:07
Подключил модем на прямую. Увидел повтор Ring через 5 мин.Порылся в мануалах по АТ командам для м590.Прямой наводки не нашёл.Тупо сделал Reset на заводские.Ring через 5 минут перестал появляется.Собрал в комплекте с прошитой бинарником Nano.После первого звонка — сброс гудка и все по новой: сообщение
Абонент снова в сети
и через 5 мин. инверсия состояния.Для статистики сделал это со вторым модемом.Результат одинаков.Не поленился, снял с гаража сигнализацию с тем же м590, но без датчика движения и без возможности управлять по СМС, только звонками.Отработала она минимум 1 год без проблем.Снял модем, пристегнул его к Nano и Вуаля! Результат тот же.Через 5 мин. ложный Ring и как следствие инверсия состояния сигнализации.Причём во всех описанных случаях если ставишь или снимаешь через СМС проблем нет.Помогите разобраться с проблемой.
+
avatar
0
  • kvolk
  • 14 января 2017, 20:19
Пока разбирался с модемом А6 mini обнаружил одну особенность m590 и sim800l успешно завершали соединение по команде ATH0, а А6 этого делать категорически не хотел. Возможно дело в ATH0?
Какая ревизия 590го модема? У меня 590й квартиру охраняет, каждый день снимаю и ставлю на охрану. Такой ерунды нет.

Попробуйте промежуточную прошивку Test-20170114.hex, в ней вызов завершается командой
AT+CHUP
Может быть дело в этом.
+
avatar
0
  • Neles
  • 14 января 2017, 21:27
Загрузил промежуточную прошивку — изменений нет.Подстегнул другую Nano — изменений нет.
Версия прошивки
1103_C6C30000_V0130C -1шт.
1103_С6С30000_V0130d — 2шт.
+
avatar
0
  • kvolk
  • 14 января 2017, 21:37
Ровно 5 минут? Или это примерное время? Однозначно дело в модеме, 590 бу, непонятно как и где до этого использовались и что там у них в настройках зашито.
+
avatar
0
  • Neles
  • 14 января 2017, 22:11
Время чётко одно и тоже.Плюс- минус только на доставку оператором СМС.Модем который работал в сигнализации тоже ставился и снимался звонком со сбросом после первого Ring.Попробую найти скетч и посмотреть чем заканчивался сеанс вызова.
+
avatar
0
  • kvolk
  • 14 января 2017, 22:21
Возьмите открытый скетч, там нет ключевых изменений в работе с модемом. 99,9% дело в модемах. Ардуина тупо получила от модема команду и отправляет ответ, или сработал датчик — ушла смс.
+
avatar
0
  • kvolk
  • 17 января 2017, 09:57
Прояснилось что-нибудь с модемами?
+
avatar
0
  • Neles
  • 18 января 2017, 00:23
Нашёл скетч, который был загружен в старую сигналку.В ней после обнаружения Ring включался АОН, а после сброса звонка — отключался.И так каждый раз в цикле.Ещё одно наблюдение.Загрузил последнюю Вашу версию для А6. У меня А6 на плате с антенной и кн.включения.в остальном то же самое, что А6 mini.Если после сработки датчика двери трубку не поднять, а сделать сброс звонка, то следующие срабатывания вызывают только отправку СМС.На пятой минуте приходит сообщение, что абонент оставил голосовое сообщение и после этого при сработке вновь появляются звонки.Если трубку снимать, то СМС и звонок.Но время очень похоже на то о котором я писал выше и четкая повторяемость.Не одна ли причина у этих двух событий?
+
avatar
0
  • kvolk
  • 18 января 2017, 09:57
Что за оператор, есть ли возможность проверить на другом операторе? Проверьте в личном кабинете все дополнительные услуги которые подключены на этом номере.
+
avatar
0
  • kvolk
  • 11 марта 2017, 10:09
Модем М590, Arduino Nano.… но после снятия звонком ровно через 5 мин. снова встает на охрану сама с отсылкой смс… хотя звонка не делаю.
Аналогично, только через 20 секунд:
mysku.club/blog/ebay/43282.html#comment1958227

Сигнализация работает уже больше 6 месяцев, но проблема появилась только пару недель назад.

Есть ещё какая-нибудь информация по этому поводу?
+
avatar
0
  • kvolk
  • 12 марта 2017, 13:47
+
avatar
0
Схема бесперебойника на 12в с герметичным гелевым аккумулятором с контролем сетевого напряжения (не моя), кто подскажет будет такая работать? Хочу в последующем ее встроить в сигналку
+
avatar
0
  • kvolk
  • 14 января 2017, 22:24
По ибп лучше на профильных форумах спросить.
+
avatar
0
Я насчет контроля напряжения. При входящих 15в на делителе будет 1,49-1,39вв — 220 есть, при отключении сети там будет 1,19-1,22в -220 нет, а при падении заряда аккумулятора до 10в от 1-0,8в
Тем самым можно контролировать и сеть и аккумулятор
+
avatar
0
  • kvolk
  • 15 января 2017, 10:17
По-моему тут КЗ.
+
avatar
0
нет там КЗ катод диода на + аккумулятора.
+
avatar
0
  • kvolk
  • 15 января 2017, 17:26
Угумс, точно…
+
avatar
+2
  • kvolk
  • 16 января 2017, 00:42
GSM_2017_01_15-23-26.hex — Поддержка модема A6_Mini. Контроль наличия внешнего питания (пин D7). Добавлены смс команды WatchPowerOn, WatchPowerOff. Добавлены консольные команды ListConfig, ListSensor. Теперь смс команда EditSensor работает правильно. Незначительно «урезан» вывод отладочной информации в монитор порта. Занято: 66% SRAM, 95% Flash Memory.
+
avatar
+2
  • kvolk
  • 17 января 2017, 00:13
GSM_2017_01_16-23-54.hex — Теперь в ответном сообщении на смс команду «Info» так же сообщается состояние датчика движения. Исправлена ошибка из-за которой иногда отправлялись пустые ответные смс сообщения. Теперь устройство оповещает не только об отключении, но и о возобновлении внешнего питания. Все модемы стали «меньше болтать», теперь в мониторе порта стало немного чище. Занято: 66% SRAM, 95% Flash Memory.
+
avatar
0
  • kvolk
  • 17 января 2017, 16:18
После обновления сделать ResetConfig.
+
avatar
0
  • Aduard
  • 17 января 2017, 16:40
Обязательно ResetConfig!!!
+
avatar
0
  • kvolk
  • 17 января 2017, 11:21
Подводя итоги: почти все «хотелки» были реализованы за исключением датчиков Ds18b20, BME280 и BMP280. После подключения необходимых для этих датчиков библиотек, выяснилось что памяти не достаточно. Для подключения этих датчиков необходимо «что-то принести в жертву», естественно первой «под нож» пойдёт практически «бесполезная» функция мигания синим светодиодом LedTest() и команды управления ею TestOn и TestOff. Таким образом освободится место для одного из трёх датчиков Ds18b20, BME280 или BMP280. То есть в итоге будет три прошивки для каждого из датчиков.

Что ещё пустить «под нож» для включения в прошивку на «постоянной основе» датчика Ds18b20?
+
avatar
0
Да. DS18B20. И чтобы мониторил температуру, с выставляемыми порогами. Ну и можно было так по СМС запросить.
+
avatar
0
  • iwizard
  • 18 января 2017, 05:04
Мне кажется можно убрать RING ON, OFF
+
avatar
0
А если у Вас закончатся деньги на счете для отправки смс и или у Вас телефон где то лежит и Вы не услышали приход смс. Это очень нужная функция! Может кому то и звонок не нужен, а достаточно смс. Должен быть вариант его отключения. Лучше тогда температурными датчиками пожертововать)))
+
avatar
0
  • iwizard
  • 18 января 2017, 09:39
Ну тогда лучше наверное чтобы он был включен постоянно и по умолчанию, убрать функцию отключения
+
avatar
0
Можно убрать инверсный выход тревожного пина, одного предостаточно.
Модуль расширителя до 8 портов. По большому счету чаще всего нужно только 2 входа: 1вход -это датчики на размыкание и 2й-вход(отключаемый) для датчика дыма или горения с круглосуточной охраной независимо от состояния сигнализации.
+
avatar
+2
  • kvolk
  • 18 января 2017, 10:25
Есть решение. Дополнительно можно выкроить полтора килобайта, это примерно %5 если в ардуино использовать загрузчик от платы Uno. Таким образом, поддержка датчика Ds18b20 будет включена в прошивку на «постоянной основе».
В итоге, предположительно, будет 2 прошивки, одна для датчика BME280, другая для датчика BPM280.

Последствия от смены загрузчика:
После перепрошивки в «Uno» Arduino IDE не сможет в штатном режиме перепрошить устройство. То есть если появится необходимость использовать эту ардуину для чего-то другого, нужно будет вернуть стандартный загрузчик при помощи «XLoader». Прошивка со стандартным загрузчиком для восстановления, так же будет выложена.
+
avatar
+1
  • Maksym
  • 18 января 2017, 12:29
Скажу крамольную вещь — а нельзя ли вообще загрузчик выбросить? А код компилировать из какой-нибудь Atmel Studio сразу под контроллер. Это существенно сэкономит ресурсы, а загрузчик нам по большому счету вроде как и не нужен особо. Шьется АТмега по шести проводам программатором ценой в 2$ (USBASP).
+
avatar
0
  • kvolk
  • 18 января 2017, 13:31
ельзя ли вообще загрузчик выбросить?
Можно, но не у всех есть опыт прошивки через программатор.
Это существенно сэкономит ресурсы
Несущественно, всего 512 байт, примерно 1,5%.

Одновременное использование двух датчиков BME280 и BMP280 мне кажется бессмысленным, и потерять USB порт для прошивки устройства ценой одновременной поддержки этих двух датчиков…
+
avatar
0
  • Maksym
  • 18 января 2017, 13:50
Конечно два этих датчика в одну прошивку пихать не нужно.
+
avatar
0
  • kvolk
  • 02 февраля 2017, 00:09
Последствия от смены загрузчика:
После перепрошивки в «Uno» Arduino IDE не сможет в штатном режиме перепрошить устройство. То есть если появится необходимость использовать эту ардуину для чего-то другого, нужно будет вернуть стандартный загрузчик при помощи «XLoader». Прошивка со стандартным загрузчиком для восстановления, так же будет выложена.
Сам себя поправлю, полный бред, шить загрузчик можно только через программатор или вторую ардуину. Светодиоды мигали, вот и думал что шьётся, а в конце ошибка выводилась, но внимания на неё я не обращал :(
+
avatar
+1
  • Maksym
  • 02 февраля 2017, 03:18
Да выкинуть этот загрузчик и шиться через USBASP — 2 бакса программатор стОит. Или через другую Ардуину.
+
avatar
0
  • kvolk
  • 02 февраля 2017, 13:29
Это «геморрой».
+
avatar
0
  • Maksym
  • 02 февраля 2017, 13:54
По хорошему шиться надо аж один раз :).
+
avatar
0
  • kvolk
  • 02 февраля 2017, 15:25
Perfect World :)
+
avatar
+1
  • Aduard
  • 17 января 2017, 11:59
Я не пользуюсь SMS ON, OFF и RING ON, OFF-эти функции постоянно включены.А Test уменя включен.
+
avatar
+1
  • Maksym
  • 17 января 2017, 16:27
Я бы СМС он/офф в настройках оставил, а вот ринг он/офф можно убрать — пускай всегда звонит. Это совершенно бесплатно :). В отличии от СМС если вдруг случится постоянное ложное срабатывание — может счет опустошить очень быстро.
+
avatar
0
  • Aduard
  • 17 января 2017, 16:39
Может быть, если смс не бесплатные.
+
avatar
0
  • Maksym
  • 17 января 2017, 23:06
Даже если они бесплатные — их бесплатное к-во лимитировано :). И если ложные сработки пойдут то этот лимит быстро выберется. Снимать с охраны не вариант :).
+
avatar
0
  • kvolk
  • 18 января 2017, 10:27
+
avatar
0
А можно будет добавить 2й-вход(отключаемый) для датчика дыма или горения с круглосуточной охраной независимо от состояния сигнализации.
+
avatar
0
  • kvolk
  • 18 января 2017, 11:43
Какой второй вход?
+
avatar
0
герконовый и все остальные порты обрабатываются только если GUARD ON. А пожарный датчик обрабатывается независимо от Guard ON или OFF. И еще нужен один выход который будет работать как кнопка. То есть если телефон сдох или нет возможности позвонить на сигналку ее никак не снять с охраны. Нажатием этой кнопки возможность снять/поставить на охрану. В функциях кнопки нужно будет выставлять время на вход/выход. Чтобы тревога не включалась сразу. Ну как то так ))))
+
avatar
+2
  • kvolk
  • 18 января 2017, 13:37
Вы прикалываетесь? Я тут пишу что места на датчики температуры не хватает, а вы хотите дополнительный функционал. Возможно, в дальнейшем, но уже явно не на ATmega328P.
+
avatar
0
Ну так скажем это основной функционал охранной сигнализации.Вот скажем температуру мерять и отдельно пожарный датчик это не обязательно. А вот снятие и постановка на охрану не используя телефон это важная функция, как я уже писал с выключенным телефоном Вы никак ее с охраны не снимете.
+
avatar
+1
  • kvolk
  • 18 января 2017, 14:44
А вот снятие и постановка на охрану не используя телефон это важная функция
Архиважная, но у меня на корпусе есть кнопка полного отключения устройства. Заходим, сработала сигналка, получили смс и нам пофигу, выключаем устройство, делаем что нам нужно в помещении, включаем, уходим. И снова помещение под охраной.
+
avatar
0
Ну если учесть, что сигнализация ставится подальше от двери и прямой видимости, а если частный дом то вовсе на чердак любят ставить. А ревун ставится так чтобы все соседи слышали ))). То пару десятков таких заходов в помещение без снятия гарантируют «доброе» отношение с соседями. Опять же чтобы не занимать память устройства и немного усложнить его можно поставить пульт и снимать сигналку с пульта.
+
avatar
0
  • kvolk
  • 18 января 2017, 17:49
Опять же чтобы не занимать память устройства и немного усложнить его можно поставить пульт и снимать сигналку с пульта.
Это уже совсем другая история…
+
avatar
0
Я не предлагаю Вам подключать rc-switch, на это точно не хватит места. Еще приведу пример «важности» кнопки.
При наличии такой опции сигнализацию легко можно встроить в штатную автосигнализацию. Выход автосигнализации может легко «нажимать» на эту кнопку ))))
+
avatar
0
  • Maksym
  • 18 января 2017, 17:54
Вот по поводу ревуна — я бы его включал с задержкой. Это полезно по разным причинам.
+
avatar
0
  • kvolk
  • 18 января 2017, 18:25
Можно добавить параметр.
+
avatar
+1
  • Maksym
  • 18 января 2017, 18:29
было бы полезно.
+
avatar
0
Можно вот такую скрытую сенсорную кнопочку прилепить для включения/выключения режима охраны. Тут ее обзор mysku.club/blog/aliexpress/48317.html
+
avatar
0
  • kvolk
  • 23 января 2017, 20:25
Да не планирую я кнопку приделывать, толку от неё? Уже 100 раз просил обосновать для какой цели она нужна, не пойму я.
+
avatar
0
  • Maksym
  • 23 января 2017, 21:18
Чтобы любой взломщик мог не напрягаясь отключить сигналку. Это же очевидно :).
+
avatar
0
  • kvolk
  • 23 января 2017, 22:38
Ну это само собой :)
+
avatar
0
Тогда давайте прикрутим считыватель Ibutton или считыватель NFC меток MFRC-522, его при небольшой переделке можно подключить по I2C
+
avatar
0
  • kvolk
  • 24 января 2017, 12:04
Тогда давайте прикрутим считыватель Ibutton
Ещё раз внимательно прочтите пожалуйста этот пост.
Если вам это необходимо, берите открытую прошивку, переделывайте под свои нужды.
+
avatar
0
  • Maksym
  • 24 января 2017, 12:05
ibutton фу, его уже даже на домофоны не ставят анахронизм этот. Если и делать — то только замаскированный считыватель NFC.
+
avatar
0
  • kvolk
  • 24 января 2017, 12:11
то только замаскированный считыватель NFC
Напомните пожалуйста, что там с ценой на считыватель?
ibutton фу, его...
Чем вам не угодил 64-битный ключ?
+
avatar
0
  • Maksym
  • 24 января 2017, 12:16
Наличием открытых контактов на всеобщее обозрение. Зачем светить? А так считыватель спрятал и все — никто даже не знает куда метку прислонять-то.
Цена — 1,75 бакса. Не так чтобы прям уж дорого. Хотя, конечно, и не так чтобы дешево. Ну так и не всем же надо :).
+
avatar
0
  • kvolk
  • 24 января 2017, 13:08
Цена — 1,75 бакса.
Ссылку можно?
+
avatar
0
Как переделать SPI в I2C RFID RC522 тут zftlab.org/pages/2014110500.html
+
avatar
0
  • kvolk
  • 24 января 2017, 13:44
NFC reader
С какого боку он NFC? NFC считыватели от 8$, вы немного ошибаетесь :)
+
avatar
0
Это rfid но принцип тот же. Ну Вы поняли что я имел ввиду))))
+
avatar
0
ibutton -1.73 бакса. А зачем его ставить так чтобы было видно! Ставишь его внутри помещения. Главное должна быть функция время на вход/выход. Прислонил метку или ключ и у тебя есть 10сек. чтобы выйти/зайти.
+
avatar
0
  • Maksym
  • 24 января 2017, 16:17
Все же rfid мне нравится куда больше! Стоит столько же. Но не нужно чтобы из стены торчала железяка, в которую нужно целиться. Достаточно под штукатурку спрятать считыватель и только хозяин знает где нужно провести меткой.
Впрочем насколько я понял места все-равно нет и спорим зря. У нас в домофонах уже даже этот анахронизм не ставят — все на rfid.
+
avatar
0
  • kvolk
  • 24 января 2017, 16:32
Впрочем насколько я понял места все-равно нет и спорим зря.
Бинго!
+
avatar
0
Ну можно что то порезать, отказаться от температуры например, или все равно не хватит?
+
avatar
+1
  • kvolk
  • 24 января 2017, 17:54
Температуре быть, однозначно. Остальные «хотелки» после.
+
avatar
0
  • Izvorg
  • 19 января 2017, 16:39
Может все таки сделать на меге и не заморачиваться на не хватку памяти, и не достатка портов? Не такая уж и большая разница в цене.
+
avatar
0
  • kvolk
  • 20 января 2017, 10:25
Габариты, цена — это не наш метод :)
+
avatar
0
  • kvolk
  • 18 января 2017, 14:39
А пожарный датчик обрабатывается независимо от Guard ON или OFF.
Согласен. Наверное первоочередное это датчик дыма.
+
avatar
0
Если ориентироватся на заводской датчик дыма, которые устанавлиывют в помещениях, то принцип работы там простой, он «унюхивает» дым и размыкает контакты (принцип герконового датчика).Сбросить его можно только отключив пиание.Поэтому для него нужно 2 выхода один следит за датчиком, а 2й для кратковременного сброса питания для его обнуления. Датчики MQ для arduino вроде расчитаны на утечки газа. Всетаки ручное отключение сигнализации я думаю важнее.
+
avatar
0
  • Aduard
  • 17 января 2017, 14:38
С новой прошивкой приходят пустые сообщения:GUARD OFF и ALARM.
+
avatar
0
  • kvolk
  • 17 января 2017, 15:15
пустые сообщения:GUARD OFF и ALARM.
Это как понимать?
После обновления делали сброс конфигурации ResetConfig?

Если у вас работает что-либо не так, опишите пожалуйста подробнее, покажите свою конфигурацию (ListConfig), какой модем используете?
+
avatar
0
  • Aduard
  • 17 января 2017, 15:47
Понимать-сообщения без текста, после ResetConfig все заработало!!!
+
avatar
0
  • kvolk
  • 17 января 2017, 18:27
Обнаружен баг, если ставить на охрану или снимать с охраны то срабатывает детектор внешнего питания :(
+
avatar
0
  • kvolk
  • 17 января 2017, 21:37
Причина: наводки от модема, и очень слабый ток в цепи делителя напряжения. Лечится изменением номиналов сопротивления делителя напряжения R1 = 2,2 кОм, R2 = 3,3 кОм.
+
avatar
0
  • Maksym
  • 18 января 2017, 02:20
А можно еще и конденсатор повесить на эту же ногу. Заодно не будет отсылать СМС при кратковременном пропадании электричества (типа рубильник передернули — у меня такое часто бывает на 1-2 секунды выключают),
+
avatar
0
  • kvolk
  • 18 января 2017, 10:28
Согласен, только ёмкость побольше.
+
avatar
0
  • kvolk
  • 17 января 2017, 23:16
Ещё один баг, в ответ на команду «WatchPoweroOff» отравляется сообщение «Watch the power on», но при этом сама команда выполняется корректно. Будет исправлен в ближайшей прошивке
+
avatar
0
  • garazii
  • 21 января 2017, 12:33
Здравствуйте! Не силен в программировании. У меня 2 датчика. Один акустический, другой просто микрик. Подскажите, пожалуйста, какие нужны изменения чтобы при срабатывании акустического осуществлялось оповещение только звонком (без смс), а при срабатывании микрика приходило только смс без звонка. За основу беру схему и скетч для 2 датчиков.
+
avatar
+2
Печатная плата yadi.sk/d/avn9dL5P3AqivJ
+
avatar
0
  • Aduard
  • 26 января 2017, 18:34
Классная плата, где Вы раньше были?
+
avatar
0
У меня еще ардуины нет, а плату уже развел )))
+
avatar
0
  • Aduard
  • 26 января 2017, 20:00
А я давно сделал, все работает, но у Вас плата красивше…
+
avatar
0
1.Если стоит SmsOff то не приходят даже сообщения на запрос Money и Info. Это так задумано или баг?
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

При сработке сигнализации я звоню на нее и снимаю с охраны, красный светодиод гаснет, а тревожный выход остается включенным. При снятии он должен выключатся тоже
+
avatar
0
У команды SMSON должен быть параметр на какие номера должны приходить смс, а на какие нет (например smson:1,3,5,10, или в addphone добавит еще один параметр S-прием смс). На запрос info или money должны приходить смс независимо от параметра на любой номер из списка.
При отключенном 1-м номере или если человек не ответил сигнализация должна дозваниваться на 2номер в списке.
После звонка сигнализации на выключенный номер, перестала звонить на него после включения телефона, модуль А6. (выну карточку проверю баланс может деньги кончились)
При разрыве контакта D4 сигналка отзванивается, включает тревогу, после вышедшего времени работы тревожного выхода сигналка его отключает и не проверяет разрыв контакта D4 и не запускает тревогу заново.
При установке на охрану нет проверки на нормально замкнутый контакт D4. Нет контроля цепи.

Еще одна «дырка». Сигналка стоит на охране, отключил питание, разомкнул геркон, включил питание, тревоги нет!
+
avatar
0
После звонка сигнализации на выключенный номер, перестала звонить на него после включения телефона, модуль А6. (выну карточку проверю баланс может деньги кончились) деньги кончились
+
avatar
0
  • kvolk
  • 28 января 2017, 09:54
По пунктам:
Если стоит SmsOff...
Глобальный параметр, отвечает за «все» смс.
… в терминале +CME ERROR:500
Проверьте с симкартой другого оператора.
При снятии он должен выключатся тоже
Согласен, проверю.
У команды SMSON должен быть параметр
На запрос info или money должны...
Согласен, это было бы правильнее, но пока ждём. Сначала датчики, потом все остальные «хотелки».
При разрыве контакта D4...
Это фантастика, D4 — output pin. Может быть D6?
… не запускает тревогу заново.
Это логично, иначе зачем было вводить время «тревожнго пина»?
Нет контроля цепи.
Так и есть, возможно будет реализовано, опять же пока ждём :)
Еще одна «дырка».
Приведите пример эксплуатации этой «дырки», желательно с последовательностью действий.
+
avatar
0
по поводу д4 ошибся, правильно д6!
… не запускает тревогу заново.
Это логично, иначе зачем было вводить время «тревожнго пина»?
Такая ситуация: У Вас выключен телефон (№1) или на счету сигналки кончились деньги, произошла сработка, сигналка начинает набирать номер и не дозванивается, в это время сработал тревожный пин (например сирена орет ) на 10минут. при этом дверь открыта и D6 разомкнут. Сирена поорет 10 минут и заткнется, дальше делай что хочешь.
По «дырке», почти не реально, особенно если стоит упс.
Ну как бы это не «хотелки», а алгоритм работы заводских сигнализаций. Датчики и прочие навороты это уже хотелки. Обычно для контроля хватает одного входа на который можно посадить магнитные датчики и датчики движения в одну цепь. (там уже не важно проникли через окно дверь или крышу). Одного тревожного выхода (подключение сирены), выход на индикацию светодиодом и вход для альтернативной постановки/отключения охраны.
Надеюсь на будущую реализацию в Вашем устройстве. Ждем...)))
+
avatar
0
  • kvolk
  • 01 февраля 2017, 12:08
Попробую ответить Вашими же словами :)
Такая ситуация: У Вас выключен телефон (№1) или на счету сигналки кончились деньги...
->
… делай что хочешь.
и
Сирена поорет 10 минут
Поставьте 20 минут чтобы орала, 1 час или 10 часов. Соседи будут рады если у Вас
… выключен телефон (№1) или на счету сигналки кончились деньги...
:)
+
avatar
+1
Подскажите как зделать чтоб снималась с охраны с кнопки вывести кнопочку хочу и ставилась тоже с кнопки
+
avatar
0
  • iwizard
  • 01 февраля 2017, 03:52
Поправить открытый скетч
+
avatar
0
Я не очень силен в этом я недавно начал осваивать ардуино
+
avatar
+2
  • kvolk
  • 01 февраля 2017, 07:11
Зачем Вам кнопка?
+
avatar
+2
  • Maksym
  • 01 февраля 2017, 15:55
Чтобы поставить и снять с охраны мог любой домушник без особых сложностей — зачем мешать людям работать?
+
avatar
0
  • kvolk
  • 01 февраля 2017, 16:47
В таком случае надо реализовать :)
+
avatar
0
  • iwizard
  • 01 февраля 2017, 16:51
Добрый вечер, подскажите, планируется еще добавить датчик температуры DS18B20?
+
avatar
0
  • kvolk
  • 01 февраля 2017, 18:29
Да, приехал датчик, в ближайшее время прикручу.
+
avatar
0
  • kvolk
  • 02 февраля 2017, 00:12
в ближайшее время прикручу.
Поддержки датчкика DS18B20 не будет, подробнее тут.
+
avatar
0
Ну это как сказать. Если вы сделаете кнопку и напишите крупным шрифтом. «Для снятия сигнализации нажать тут» то тогда конечно ))))А так удобная штука. Это ведь не обязательно «кнопка», а то Вы все буквально понимаете
+
avatar
0
  • Maksym
  • 01 февраля 2017, 19:34
Отключение питания вообще не рассматривается?
+
avatar
0
  • nehalem
  • 01 февраля 2017, 17:39
Доброго Вам времени суток. С arduino только знакомлюсь, решил повторить Ваш проект. С контроллером все нормально, прошился, через мониторинг порта работает, AT команды SIM800l выполняет, а вот в сеть выходить отказывается (абонент не на связи). В чем может быть затыка. Спасибо.
+
avatar
0
  • iwizard
  • 01 февраля 2017, 17:49
Симку попробуйте сменить, кажется у кого-то были проблемы с симками новыми 4г
+
avatar
0
  • nehalem
  • 01 февраля 2017, 18:12
Попробовал симку другого оператора, поведение аналогичное. При наличии симки, индикатор на радиомодуле мигает 6-8 раз с частотой где то 0.8с, пару секунд молчит и все снова повторяется. Без симки мигает без перерывов.
+
avatar
0
он не видит симку, или модуль или симка
+
avatar
0
  • kvolk
  • 01 февраля 2017, 18:28
Отключите пинкод, вставьте симку в телефон, проверьте её работу.
+
avatar
0
  • nehalem
  • 01 февраля 2017, 18:33
Симки исправны, без пинов. Есть ли AT команды работы с симкой (к примеру инфа об установленной сим)?
+
avatar
0
  • nehalem
  • 01 февраля 2017, 18:36
Жду с «алишки» GSM модуль A6, есле не заведется попробую его. И еше, прошивка же не привязана к региону (коду страны)?
+
avatar
0
  • kvolk
  • 01 февраля 2017, 19:35
Прошивка модема или устройства? Прошивка устройства — нет, а на счёт модема — не знаю.
+
avatar
0
  • nehalem
  • 01 февраля 2017, 19:46
Устройства. Спасибо.
+
avatar
0
  • kvolk
  • 01 февраля 2017, 20:00
Скиньте лог загрузки устройства. Какая версия модема? R13 или R14?
+
avatar
0
  • nehalem
  • 01 февраля 2017, 20:48
Прошивка R14.18. Всем спасибо, заработало. Всему причина DC-DC преобразователи. Ставил 2: на 4в и 5в. При подключении напрямую (без DC-DC) к контроллеру зарядки лития, в сеть выходит.
+
avatar
0
  • kvolk
  • 01 февраля 2017, 20:54
Видимо пульсации и наводки от преобразователя.
+
avatar
0
  • Aduard
  • 01 февраля 2017, 19:24
Посмотрите, пожалуйста, прошивку приходят пустые сообщения, очень неудобно…
+
avatar
0
  • kvolk
  • 01 февраля 2017, 19:37
В том то и дело что не могу я отловитт этот момент, у меня работает как часы, никаких пустых, сканьте чёткую последовательность действий перед получением пустой смс.
+
avatar
0
  • Aduard
  • 01 февраля 2017, 20:33
Пока ждал, ждал подключение датчиков сделал такое:

Но все равно жду, жду, жду…
+
avatar
0
  • kvolk
  • 02 февраля 2017, 00:15
Поддержки датчика DS18B20 не будет, подробнее тут.
Библиотека для датчика BME280 менее прожорлива, и оставляет примерно 150 байт, скорее всего получится прикрутить.
+
avatar
0
  • kvolk
  • 02 февраля 2017, 07:35
ВМЕ280?
+
avatar
0
  • Aduard
  • 01 февраля 2017, 20:50
Не могу отследить, как «назло » работает и присылает все СМСки, поймаю пришлю лог порта,
+
avatar
0
  • Aduard
  • 01 февраля 2017, 22:33
Вот смотрите пишет иероглифы какие-то
+
avatar
0
  • kvolk
  • 01 февраля 2017, 23:21
memtest
fullreset
! Слетят все настройки.
+
avatar
0
  • Aduard
  • 01 февраля 2017, 23:44
Уже делал.С прошивкой GSM_2017_01_03-22-51.hex вроде нормально работает.
+
avatar
0
  • kvolk
  • 02 февраля 2017, 07:36
Спасибо, попробую отловить закономерность.
+
avatar
0
  • Aduard
  • 02 февраля 2017, 10:11
И сегодня все нормально, значит в последней прошивке проблема.
+
avatar
0
  • kvolk
  • 04 февраля 2017, 10:41
Скажите количество номеров в памяти устройства, есть подозрение что чем больше активных номеров (аларм), тем чаще появляется этот баг.
+
avatar
0
  • Aduard
  • 04 февраля 2017, 11:20
Всего два номера
+
avatar
0
По поводу кнопки ее можно спрятать и снимать с охраны и ставить пригодиться если мобила села да и так поудобней будет
+
avatar
0
  • kvolk
  • 01 февраля 2017, 19:42
Если сел телефон, помогает павербанк. Это GSM сигнализация, а не сирена с кнопкой.
+
avatar
0
  • kvolk
  • 02 февраля 2017, 00:03
Промежуточный итог, не очень радостный:
Поддержки датчика ds18b20 не будет, из-за того что библиотека «OneWire» сжирает почти 3КБ Flash Memory, это непозволительная роскошь.
С ней:
Скетч использует 32538 байт (105%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1391 байт (67%) динамической памяти, оставляя 657 байт для локальных переменных.
Без неё:
Скетч использует 29336 байт (95%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1378 байт (67%) динамической памяти, оставляя 670 байт для локальных переменных.
Прошить загрузчик от УНО и высвободить ещё 1,5 КБ памяти без второй ардуины не получилось, изначально не обращал внимания на то, что прошивка с бутлоадером от УНО через Xloader завешалась неудачей. А прошивать ардуину через ардуину, для большинства пользователей, очень сложно.

Библиотека для датчика BME280 менее прожорлива, и оставляет примерно 150 байт, скорее всего получится прикрутить.
+
avatar
0
  • iwizard
  • 02 февраля 2017, 06:44
Ну ладно, тогда буду заказывать BME280
+
avatar
0
  • kvolk
  • 02 февраля 2017, 07:33
Не спешите.
+
avatar
0
  • stmidoff
  • 02 февраля 2017, 11:46
а если использовать другую библиотеку для датчика?
+
avatar
0
  • kvolk
  • 02 февраля 2017, 11:56
Датчик DS18B20 – датчик температуры с интерфейсом 1-Wire.
"#include <OneWire.h>" + 3КБ памяти (10%).
+
avatar
+1
  • stmidoff
  • 02 февраля 2017, 11:59
если взять прошивку без а6 мини и туду сунуть ds18b20 тогда места хватит… зачем кстати поддержка аж 3 модемов не избыток ли??? м590 как бюджетное решение и сим 800 как надежное решение вполне хватит?
+
avatar
0
  • kvolk
  • 02 февраля 2017, 13:37
Если убрать поддержку модемов, то это высвободит на максимум байт 300, около 1%, а надо 10%.
+
avatar
0
  • stmidoff
  • 02 февраля 2017, 14:25
«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.»

может стоит отказаться от «модуля и ему подобных расширителей портов ввода/вывода на чипе PCF8574»? фиг бы с этими резисторами на каждый геркон. кстати а внутренний подтягивающий резистор включен?
+
avatar
+1
  • Maksym
  • 02 февраля 2017, 16:01
Не, датчики нужны. Куда ж без них? Я уже так прикинул будет 7 датчиков у меня, например.
+
avatar
0
  • kvolk
  • 02 февраля 2017, 16:07
Высвободим 3,5 КБ, при этом потеряем 8 датчиков и поддержку планируемого BME280, так как придётся выпилить библиотеку <Wire.h>. Не слишком ли высока цена для использования датчика который измеряет только температуру.
фиг бы с этими резисторами на каждый геркон. кстати а внутренний подтягивающий резистор включен?
Не понял.
+
avatar
0
  • Maksym
  • 02 февраля 2017, 16:22
У атмеги на портах стоят подтягивающие резисторы, внутри корпуса. Их можно подключить, а можно и не подключать.
+
avatar
0
  • kvolk
  • 02 февраля 2017, 20:12
Надёжнее будет припаять внешние, и стоимость их копеешная.
+
avatar
0
  • kvolk
  • 02 февраля 2017, 21:42
На PCF модуле резисторы не нужны.
+
avatar
0
  • kvolk
  • 02 февраля 2017, 20:14
Существенно не высвободит, так как для него отдельно обработка не писалась и является комбинированной от 800го и 590го, может быть байт 20-30 высвободит.
+
avatar
0
  • stmidoff
  • 02 февраля 2017, 12:04
у вас последняя версия библиотеки?
+
avatar
0
  • kvolk
  • 02 февраля 2017, 13:35
Да.
+
avatar
0
  • kvolk
  • 02 февраля 2017, 13:39
Например какую? Они есть?
+
avatar
0
  • kvolk
  • 02 февраля 2017, 00:21
Кусок кода для DS18B20, выше в комментариях обещал выложить, взят из «интернетов», короткий и рабочий:

#include <OneWire.h>
OneWire sensDs (15);  // датчик подключен к выводу D15(A1)
byte bufData[9];  // буфер данных
float temperature;  // измеренная температура



void tds18b20() {
  sensDs.reset();  // сброс шины
  sensDs.write(0xCC, 0); // пропуск ROM
  sensDs.write(0x44, 0); // инициализация измерения
  delay(900);  // пауза 0,9 сек
  sensDs.reset();  // сброс шины
  sensDs.write(0xCC, 0); // пропуск ROM
  sensDs.write(0xBE, 0); // команда чтения памяти датчика
  sensDs.read_bytes(bufData, 9);  // чтение памяти датчика, 9 байтов

  if ( OneWire::crc8(bufData, 8) == bufData[8] ) {  // проверка CRC
    // данные правильные
    temperature =  (float)((int)bufData[0] | (((int)bufData[1]) << 8)) * 0.0625 + 0.03125;
    Serial.print( F ("Temperature: "));
    Serial.println (String(temperature));
  }
}
+
avatar
0
Предлагаю еще почикать текстовые константы. Например зачем F(«Temperature:»)? Можно же F(«Temp:») и так далее. Убрать лишнее словоблудие. Консоль для отладки, можно и посокращать.

79635431264@yandex.ru Скидывай скетч. Нужна серьезная чистка.
+
avatar
0
  • kvolk
  • 03 февраля 2017, 09:51
Предлагаю еще почикать текстовые константы.
Закомментировал все константы, высвободилось 1,1КБ памяти, если уж очень постараться и порезать скажем так в 3 раза, получим ущербный вывод логов в консоли и высвободим около 700 Байт.

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

P.S. Так что с прерыванием дальше делать будем?
+
avatar
0
Я не могу реализавать дистанционную запись номеров и запоминание первого номера. Не получается. Что-то делаю неправильно. Но понять что именно не могу. И нужно ли в коде что-то менять под Модем A6?

+
avatar
0
  • kvolk
  • 04 февраля 2017, 10:18
не могу реализавать дистанционную запись номеров и запоминание первого номера.
А, судя по скрину, памяти свободной уже практически нет.
И нужно ли в коде что-то менять под Модем A6?
Странный вопрос, анализируйте работу модема и адаптируйте под него прошивку.
+
avatar
0
А, судя по скрину, памяти свободной уже практически нет.
Вот только реализовано уже все то же самое кроме проверки питания. Я вчера скетч скинул сюда. Так что там видно, что практически тот же функционал реализован. Не работает дистанционная запись номера и редактирование датчиков при наличии кода. Просто он неправильно работаент, но место то он занимает. В итоге имеем практически такой же функционал с отличием только в том, что в моем случае еще и свободное место осталось. А вы не хотите походу вообще сотрудничать. Ссыте что ваш скетч в ком целях будут использовать наверное.
+
avatar
0
  • kvolk
  • 04 февраля 2017, 15:44
Вот только реализовано уже все то же самое кроме проверки питания.
не стыкуется с
Не работает дистанционная запись номера и редактирование датчиков при наличии кода.
а значит и не реализовано.
Я вчера скетч скинул сюда.
Куда сюда? Покажите мне это «вчера»! Не нашёл :(
В итоге имеем практически такой же функционал...
Напомнило старый анекдот :)
А вы не хотите походу вообще сотрудничать.
Не вижу смысла в сотрудничестве с Вами.
Ссыте что ваш скетч...
Ссу :) Был прецедент, тут подробнее.
+
avatar
0
Модерация ссылку почистила. Могу на майл скинуть.
+
avatar
0
  • novaka
  • 02 февраля 2017, 17:55
Не отправляет SMS. Как необходимо вводить номера для отправки SMS для Украины?
+
avatar
0
  • nehalem
  • 02 февраля 2017, 18:16
А вызов на симку идет? Если да, подключаешь к компу, запускаешь IDE, настраиваешь соединение, далее инструменты — монитор порта и смотришь как сигналка сконфигурирована и мониториш события.
+
avatar
0
  • nehalem
  • 02 февраля 2017, 18:21
GSM Alarm 17.01

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

вроде такого, у меня симка не стоит вот и ошибки
+
avatar
0
  • kvolk
  • 02 февраля 2017, 20:07
Почитайте описание команды AddPhone. Вводятся так же как и для России, полный номер. Операвтором не запрещена отправка международных смс?
+
avatar
0
  • novaka
  • 03 февраля 2017, 09:23
С обычного телефона с этой симки всё уходит

С ардуино вызовы и приходят и уходят, проблема только с смс.
+
avatar
0
  • kvolk
  • 03 февраля 2017, 09:29
Лог загрузки устройства, или вывод команды ListConfig покажите.
+
avatar
0
  • kvolk
  • 09 февраля 2017, 14:26
В последней прошивке по умолчанию выключена отправка смс. Включите её командой SMSOn.
+
avatar
0
Может стоит выкинуть весь обвес включая датчик движения и сделать нормальный алгоритм работы gsm сигнализации. Приблизить так сказать ее к заводским параметрам. Можно обрабатывать и 1 или 2 тревожных входа. Все датчики можно включить последовательно, в принципе какая разница какой сработал, главное что сработал и правильно отреагировал. Зачем в сигнализации датчик температуры?
+
avatar
+1
  • Maksym
  • 03 февраля 2017, 00:40
Кому нужен алгоритм без датчиков? Какой сигнал важно — мне нужно знать это сработал датчик в сарае или в доме, это магнит на двери был или датчик движения (с возможным ложным срабатыванием и не нужно срочно полицию вызывать, если датчик в другой комнате не сработает).
По температуре — действительно, особой необходимости в нем нету. Если малой кровью не прикручивается — ну так и бог с ним, не самое важное.
+
avatar
+1
  • kvolk
  • 03 февраля 2017, 09:27
Конечно, это правильный путь, именно им мы и пойдём!

А если серьёзно, в обзоре есть открытый скетч, берите его и «допиливайте» под Ваши нужды.
Датчики бывают разные, охранные и «не очень», и иногда полезно знать какой датчик сработал, будь это геркон или датчик влажности.
Зачем в сигнализации датчик температуры?
Чтобы знать температуру. Например если она ниже 5 градусов ехать на/в дачу/гараж включать отопление.
+
avatar
0
  • kimber
  • 03 февраля 2017, 13:28
Чтобы включать отопление, наверное лучше термостат использовать, как отдельное устройство. Может в данной сигнализации сосредоточиться на исправлении текущих ошибок и рассмотреть вариант перехода на другой «камень», но оставить текущий проект, как версию лайт (нано), а новую версию делать с элементами умного дома, где можно реализоватиь все хотелки пользователей, но уже на другой платформе. Конечно же, как автору, решать вам))
+
avatar
0
  • kvolk
  • 03 февраля 2017, 13:34
Чтобы включать отопление,
Ключевое слово «Например».
Может в данной сигнализации сосредоточиться на исправлении текущих ошибок...
Сообщите пожалуйста хотя бы об одной, я буду очень Вам признателен.
рассмотреть вариант перехода на другой «камень»
Вам сюда.
+
avatar
0
  • kimber
  • 03 февраля 2017, 13:43
Насчет ошибок — проект полностью рабочий и это радует, но переодически возникают сообщения о пустых смс и т.д.
+
avatar
+1
  • Aduard
  • 03 февраля 2017, 15:21
В последней прошивке есть ошибка, приходят пустые СМС. С прошивкой GSM_2017_01_03-22-51.hex работает 4 дня отлично, но BME280 хочется…
+
avatar
0
  • kvolk
  • 03 февраля 2017, 17:23
Об этой ошибке мне известно, отловить пока её не могу, потому что она появляется спонтанно и от версии прошивки она не зависит. БМЕ не приехал ещё, возможно китаец его не отправил, заказал с треком — отправили «безтреком». Сегодня закажу ещё у другого продавца BMP и BME.
+
avatar
0
  • nehalem
  • 03 февраля 2017, 11:58
А не рассматривали вариант реализации этого проекта на ESP8266 (ESP12E или ESP14-имеет дополнительный встроенный контроллер) вместо arduino nano, по цене выгоднее, по аппаратным ресурсам существенно мощнее за исключением количества портов ввода/вывода. При использовании цифровых датчиков и радио модулей (ISP, UART и I2C), портов хватит, плюс можно реализовать веб интерфейс для удобства конфигурирования, связь с клиентом на андроиде — сообщения о событиях, авто поиск сети инет (приоритет GPRS, WI-FI-вторичный) и т.д.?
+
avatar
0
  • Maksym
  • 03 февраля 2017, 12:50
И что будет когда автопоиск сети интернет закончится ничем? Нет сети. Есть в лучшем случае глючащий EDGE. Не у всех подшефная недвижимость в центре мегаполисов находится.
+
avatar
0
  • nehalem
  • 03 февраля 2017, 13:21
Инет, это вспомогательная опция, GSM, как основную, никто не отменял, да и инет через GSM по GPRS протоколе в случае отсутствия выхода в сеть по WI-FI.
+
avatar
0
  • kvolk
  • 03 февраля 2017, 13:27
Именно так.
+
avatar
0
  • kvolk
  • 03 февраля 2017, 13:12
Бинго! :)
Заказал, уже модули приехали.
Версия на АрдуиноНано будет допилена до своего логического завершения и актуальный скетч в ближайшее время (месяц, два, три...) будет адаптирован под ESP.
+
avatar
0
Ждем… Там и памяти хватит под все «хотелки», если что можно и на большую перепаять будет )))
+
avatar
0
  • iwizard
  • 04 февраля 2017, 14:54
На какой ESP будете делать?
+
avatar
0
  • kvolk
  • 04 февраля 2017, 15:02
12F
+
avatar
0
  • iwizard
  • 04 февраля 2017, 15:14
12f + m590 или sim800?
+
avatar
0
  • kvolk
  • 04 февраля 2017, 15:21
Все которые поддерживаются сейчас.
+
avatar
0
Как вариант может сразу на esp32 перейти. Тем более она у китайцев подешевела )))
+
avatar
0
  • kvolk
  • 31 мая 2017, 09:36
450р vs 110р :)
+
avatar
0
  • kvolk
  • 04 февраля 2017, 20:35
GSM_2017_02_04-20-23.hex — Исправлена ошибка «Watch the power on». Теперь после снятия с охраны, выключается «тревожный пин». Теперь после удаления номера в консоль выводится правильная информация. Возможно исправлена ошибка из-за которой иногда отправлялись пустые ответные смс сообщения. Занято: 66% SRAM, 90% Flash Memory.
Ошибка «Watch the power on».
+
avatar
0
  • kvolk
  • 05 февраля 2017, 11:15
Ошибка «Watch the power on».
Поправил ссылку.
+
avatar
0
Добрый день у меня по какойто причине не звонит только смс приходят до этого все работало
+
avatar
0
  • kvolk
  • 09 февраля 2017, 13:11
Покажите вывод команды «ListConfig».
+
avatar
0
Так и не хочет звонить и смс через раз шлет в мониторе порта смотрю то номер телефона не полностью отображает нет 5ти цифор первых както через раз это до этого было все ок 5 дней работал исправно
+
avatar
0
  • kvolk
  • 09 февраля 2017, 14:23
Введите команду ListConfig в мониторе порта, и выложите ответ сюда.
+
avatar
0
  • kvolk
  • 09 февраля 2017, 14:28
В прошивке GSM_2017_02_04-20-23.hex по умолчанию выключена отправка смс :(. Если не отправляются смс включите командой SMSOn. В следующей прошивке верну как было.
+
avatar
0
у меня прошивка открытая от021216
+
avatar
0
  • kvolk
  • 09 февраля 2017, 15:24
ясно.
+
avatar
0
SMS sended! Phone: +79087354769; Message: Srabotal datchik dveri!
87354769"

> Srabotal datchik dveri!
+CMGS: 148

нехватает команды и куска номера ListConfig у меня пишет ошибка на эту команду

SMS sended! Phone: +79087354769; Message: Srabotal datchik dveri!
MGS="+79087354769"

> Srabotal datchik dveri!

+CMGS: 149
+
avatar
0
Можно сделать так, чтобы при разомкнутом контакте D6 сигналка не становилась на охрану и мигала красным светодиодом. Чтобы было видно работает геркон или нет.
+
avatar
0
  • kvolk
  • 10 февраля 2017, 10:50
Смоделируем ситуацию, например сломан геркон.
1. Вышли из помещения.
2. Закрыли дверь.
3. Позвонили (поставили на охрану)
4. Сигнализация на охрану не поставилась.

Чтобы было видно работает геркон или нет.
Кому было видно? Сигнализация в помещении, там никого нет.

Тогда логичнее сделать обратный звонок на основной номер после того как геркон замкнётся.
+
avatar
0
Обычно сигнальный светодиод выводится наружу, чтобы снаружи было видно стало на охрану или нет. Да и домушников он неплохо отпугивает
+
avatar
+1
  • Maksym
  • 10 февраля 2017, 19:08
Мигающим светодиодом домушников уже не испугаешь — они прекрасно знают что так их дурят, устанавливая просто мигающий светодиод. Без никаких сигналок. А там где помещение сдано на пульт никаких светодиодов нет.
+
avatar
0
  • Aduard
  • 10 февраля 2017, 18:00
Отличная сигнализация, все устраивает, работает прекрасно несколько месяцев, не надо никаких глупых изменений…
+
avatar
0
Это у Вас не было случая когда обрывали геркон! А в данном случае при разорванной цепи она станет на охрану как и при целой.
+
avatar
0
  • kvolk
  • 11 февраля 2017, 10:36
Совершенно верно, это недочёт, особенно если сигнализация используется в общественном месте. Можно, к примеру, поставить на сигнализацию, выждать паузу в одну, пять, десять минут, проверять состоние пина D6 и если на нём не появляется +5В, отправлять смс и дозваниваться. Дозваниваться для того чтобы смс не зависли у оператора.
+
avatar
0
Я просто не пойму чего Вы так заморачиваетесь по поводу дозвона!? И зачем ждать 5 -10 минут, а если обрыв или не закрыл окно возвращаться на объект? Сразу поставил посмотрел на сигнальный светодиод, если не стало, ввергнулся и проверил все. На это уйдет меньше времени.
+
avatar
0
  • kvolk
  • 11 февраля 2017, 15:19
чего Вы так заморачиваетесь по поводу дозвона!?
Во-первых это не совсем охранная система, к ключами считывателя, кнопками и т.п.
Во-вторых, повторюсь, светодиод наружу нельзя, один удар электрошокером в него и сигналка отойдёт в мир иной.
+
avatar
0
  • Maksym
  • 11 февраля 2017, 17:37
Таки да. Поэтому не зря я спрашивал как развязать линию датчиков от ардуины — оптрон для этого вполне подойдет :). Правда я заказал БП с двумя выходами независимыми, но они намотаны на одном сердечнике. Если будет воздействие на линию с датчиками то через трансформатор по идее может достаться и линии питания Ардуины. Наверное придется ставить импульсную защиту еще.
+
avatar
0
В заводских сигналках выход светодиода с мк управляется полевым транзистором, можно и через оптопару развязать. Можно спокойно выводить и не боятся за порты.
+
avatar
+1
  • Maksym
  • 11 февраля 2017, 19:32
Полевик прекрасно пробивается. А оптопару надо от чего-то питать. Да и зачем палить наличие сигналки? Пусть развлекаются и думают что за ними никто не следит.
+
avatar
0
  • Maksym
  • 11 февраля 2017, 13:20
Таки да, нужно контролировать встала ли сигналка на охрану. Правда нужно подобрать время проверки. 1-3 минуты где-то, не больше. Если больше — обычно далеко уже возвращаться.
+
avatar
0
Для безопасности, обычно сигнализацию ставят внутри помещения, а потом входят/выходят, для этого дается время на вход/выход. Оповещение на телефон не всегда удобно, особенно зимой или в темное время суток. На светодиод посмотрел, зажегся не моргает значит сигналка стала под охрану. Или подъехал например к гаражу позвонил на сигналку не выходя из машины светодиод потух, можно открывать.
+
avatar
0
  • kvolk
  • 11 февраля 2017, 10:41
Или подъехал например к гаражу позвонил на сигналку не выходя из машины светодиод потух, можно открывать.
Светодиод наружу нельзя, один удар электрошокером в него и сигналка отойдёт в мир иной.
+
avatar
0
Светодиод наружу нельзя, один удар электрошокером в него и сигналка отойдёт в мир иной.

опторазвязка или полевой транзистор.
+
avatar
+1
  • Maksym
  • 11 февраля 2017, 19:33
Полевой транзистор пробивается на раз-два. Опторазвязку нужно чем-то питать.
+
avatar
0
не удержался проверил)) Запитал светодиод на проводах, все заизолировал и бил светодиод шокером прямо в голову. Шокер не пробивает его. Все целое порты живы ))) Так что вряд ли его удастся спалить.
Он же не будет у вас на проводах с двери висеть вы его закрепите
Кому не нужна функция можно и не подключать, а так если у Вас в прошивке заложено почему бы его и не использовать
+
avatar
0
  • Maksym
  • 11 февраля 2017, 22:37
Не обязательно бить шокером. Можно конденсатор разрядить, заряженный до 400 В. Микрофарад на 100.
+
avatar
0
  • kvolk
  • 11 февраля 2017, 22:46
А если голову высверлить до контактов?
+
avatar
0
месье знает толк извpащениях )))) Ну голову высверлить это надо постараться )))
+
avatar
0
  • Maksym
  • 12 февраля 2017, 00:50
Светодиода? Я высверливал — там же обычный акрил, сверлится элементарно.
+
avatar
0
но вряд ли это кто то будет делать из домушников. Ну высверлил, провода вместе кишками светодиода намотались на сверло, все оборвалось. На все это надо время, высверлить, поковырять в замке. Опять же его можно и под потолок вывести, тут уже пользователю решать как это все обезопасить. Но информативность с ним самая удобная и быстрая, не надо ждать. А вот оповещение при постановке звонком нужная функция но должна тоже включатся/выключатся. Не очень комфортно когда при каждом закрытии дверей на лестничной площадке будет звонить телефон. Так и соседи будут знать когда вы уходите.
+
avatar
0
  • kvolk
  • 12 февраля 2017, 11:03
Ок, сделаю.
+
avatar
0
Спасибо
+
avatar
0
  • kvolk
  • 14 февраля 2017, 00:09
Готово. Для проверки геркона достаточно открыть и снова закрыть дверь. Можно даже не выводить светодиод наружу, перед выходом, находясь в помещении, достаточно открыть и снова закрыть дверь, при появлении +5В на пине D6 синий светодиод начнёт мигать вне зависимости от текущего состояния устройства (поставлено или снято с охраны).
+
avatar
0
  • Maksym
  • 14 февраля 2017, 03:04
А что происходит если после постановки на охрану геркон не замкнут? Было бы разумным через 3-5 минут или тревогу поднимать, или звонить-писать что периметр под охрану не взят. Для тех у кого светодиод далеко находится :).
+
avatar
0
  • kvolk
  • 14 февраля 2017, 13:30
А что происходит если после постановки на охрану геркон не замкнут?
Синий светодиод не мигает в течение 2 секунд.
+
avatar
0
  • Maksym
  • 14 февраля 2017, 13:52
Да бог с ним с тем светодиодом — я его при постановке все-равно не вижу. СМС/звонки осуществляются? Или приходит СМС что встало на охрану, а по факту геркон может оставаться разомкнутым и я об этом никак не узнаю, если нахожусь не возле светодиода, который вообще в другой комнате находится и ниоткуда не виден?
+
avatar
0
Спасибо конечно, но я думал вы красный светодиод задействуете))) и примерно такой алгоритм:
1.Закрыли дверь
2.Поставили на сигналку, если цепь замкнута зажегся красный светодиод.
3.Если цепь нарушена красный светодиод начинает моргать и приходит смс (кому нужно) о том что цепь нарушена.
4. Если в течении 1 минуты после постановки цепь замкнута. сигналка переходит в режим охраны.
+
avatar
0
  • kvolk
  • 14 февраля 2017, 13:28
Спасибо конечно
На здоровье!
Можно сделать так, чтобы при разомкнутом контакте D6 сигналка не становилась на охрану и мигала красным светодиодом. Чтобы было видно работает геркон или нет.
По сути тоже самое.
+
avatar
0
По сути да, но выводится один светодиод красный, а остальные остаются внутри и если сигналка вне прямой видимости то тоже не очень удобно. Трехцветный светодиод не выход, будет цветомузыка снаружи )))
+
avatar
0
так и не решил проблему смс приходит а звонка нет прошил последней прошивкой непомогло
на команду 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
+
avatar
0
  • kvolk
  • 10 февраля 2017, 19:14
Выполните в консоли команды:
1. Memtest
2. Перезагрузите ардуину
3. FullReset (на всякий случай)
4. Перезагрузите ардуину
5. Заново настройте.

ЗЫ

В прошивке GSM_2017_02_04-20-23.hex по умолчанию выключена отправка смс :(. Если не отправляются смс включите командой SMSOn. В следующей прошивке верну как было.
+
avatar
0
Спасибо попробую
+
avatar
0
  • kvolk
  • 14 февраля 2017, 00:09
GSM_2017_02_14-00-03.hex — Теперь по умолчанию отправляются смс сообщения, параметр SendSms снова равен 1. Теперь при замыкании контактов основного герконового датчика (закрытии двери) устройство мигает синим светодиодом в течение 2 секунд, сигнализируя о нормальной работе датчика. Занято: 66% SRAM, 90% Flash Memory.
+
avatar
0
  • kvolk
  • 18 февраля 2017, 18:39
Прошивка GSM_2017_02_14-00-03.hexфинальная. Попытки привинтить датчики DS18B20, BME280 и BMP280 безуспешны из-за недостатка памяти. Чтобы «прикрутить» датчики минимально необходимо около 15% свободной Flash Memory.

На платформе Arduino Nano в дальнейшем возможны какие-либо незначительные изменения и исправления выявленных ошибок. Существенных изменений дополнений производиться не будет.

Дальнейшее развитие проекта будет на модулях ESP-12.
+
avatar
0
Оповещение о целостности цепи в смс и контроль цепи красным светодиодом не будет?
+
avatar
0
  • kvolk
  • 19 февраля 2017, 17:46
Будет, на эти мелочи есть ещё около 10% памяти.
+
avatar
0
  • Maksym
  • 19 февраля 2017, 18:35
Наверное каждый раз СМС оповещать о целостности цепи смысла нет. Оповещать только в случае отсутствия целостности! Через некоторое время после постановку на охрану (или сразу в СМС о постановке, если сигналка включается после покидания помещения дистанционно — но, насколько я помню, это не так).
+
avatar
0
Например через 1-3 сек. если нет цепи красный светодиод начинает моргать и приходит сообщение, если цепь есть, светодиод переходит в режим охраны (загорается) и смс не приходит )))
И хотелось бы еще «время на выход», чтобы ставить на охрану можно было не выходя с квартиры, так безопаснее.
Т.е. например, позвонил, сигналка отсчитала 10сек, закрыл дверь, красный диод поморгал и зажегся (проверил цепь, стал на охрану)
+
avatar
0
  • Maksym
  • 19 февраля 2017, 19:27
1-3 сек для СМС слишком мало. Хотя бы минута. Возможно две.
+
avatar
0
а зачем Вам так много? если цепь не замкнута, зачем ждать 2 минуты под дверью? Объясните может и мне такое пригодится)))
+
avatar
0
  • Maksym
  • 19 февраля 2017, 21:34
Дверь не одна :). Их несколько последовательно стоит (и далеко не рядом) и все планируются оснастить датчиками. Поэтому если ставить сигналку на охрану до закрытия первой двери — то закрыть все никак не успеть. Но это если ставить на охрану просто включением сигнализации, а не СМС. По СМС можно поставить и после закрытия последней двери.
Но если ставить на охрану по СМС то можно просто в ответной СМС добавить инфу о целостности охранного контура.
+
avatar
0
Ну так я и прошу время на выход, где каждый укажет интервал который ему нужен.
Пример.: Вы ставите на охрану, сигналка начинает отсчитывать время через которое она включит охрану. За это время Вы закрываете все двери и выходите. После вышедшего времени сигналка проверяет (1-2сек.), целостность контура, если контур целый загорается красный диод, если нет моргает красным диодом и шлет смс. Как то так )))
+
avatar
0
  • Maksym
  • 19 февраля 2017, 22:09
Ах, вот оно что :). Я думал сразу через 1-2 с после постановки на охрану проверять. В принципе мигать светодиодом можно и сразу при постановке, а вот СМС-ить уже с задержкой. Или не СМС-ить если с контуром все ОК.
+
avatar
0
  • kvolk
  • 19 февраля 2017, 22:13
Вот, этого я и ждал от Вас :) Чётко и ясно.
+
avatar
0
Так может я постараюсь Вас убедить в нужности «кнопки» для снятия/постановки охраны?! ))) В меге ведь катастрофически не хватает памяти, но за счет этой функции можно будет снимать ставить на охрану внешними контроллерами. (которые будут «нажимать на эту кнопку). Сейчас в инете есть куча схем таких контроллеров и ридеры ключей ibutton и RFID метки, да и постановку с брелка 433мгц не проблема будет прикрутить
+
avatar
0
  • kvolk
  • 20 февраля 2017, 10:27
за счет этой функции можно будет снимать ставить на охрану внешними контроллерами.
Это уже интересно.
+
avatar
0
за счет этой функции можно будет снимать ставить на охрану внешними контроллерами.
Это уже интересно.

Будем ждать эту функцию.
И еще один вопрос. Если 1 телефон в списке выключен и сигналка не дозвонилась на него, можно сделать, чтобы она звонила на 2й номер в списке если он там присутствует
+
avatar
0
  • kvolk
  • 02 марта 2017, 00:17
Будем ждать эту функцию.
Готово.
на 2й номер в списке если он там присутствует
Возможно, но не обещаю.
+
avatar
0
  • demonk
  • 20 февраля 2017, 10:59
Проект конечно ваш, вам и решать на чем его делать. Но может вместо перехода на поделие сумрачного китайского гения копнуть чуть глубже AVRку?
Лично мне кажется сомнительным применять в устройстве, в котором главное надежность, на порядок более сложное устройство с ненужным в сигнализации вайфаем, да еще с небезглючной репутацией. Народ то не от хорошей жизни к ним внешние ребуталки на тех же AVRках и таймерах городит.
Уверен, что можно значительно съэкономить память и в Nano, пооптимизировав прошивку. Например, заменив digitalWrite() на PORTB |= (1<<PIN) и повыкидывав математику с плавающей запятой из кода и библиотек.
+
avatar
+1
  • kvolk
  • 20 февраля 2017, 11:21
Но может вместо перехода наподелие сумрачного китайского гения копнуть чуть глубже AVRку?
Вы заблуждаетесь, почитать тут и тут.
Народ то не от хорошей жизни к ним внешние ребуталки на тех же AVRках и таймерах городит.
Ватчдог есть там встроенный, наверное велосипед хотят изобрести.
Например, заменив digitalWrite() на PORTB |= (1<<PIN)
Ну высвободим пол-килобайта или даже целый килобайт и наживём себе большой «геморрой» с отладкой кода.
С таким же успехом можно закомментировать все строки вывода информации в консоль и «утонуть» в отладке.

… сложное устройство с ненужным в сигнализации вайфаем...
Именно это и необходимо для развития.
+
avatar
0
  • demonk
  • 20 февраля 2017, 12:40
Вы заблуждаетесь,
Да в чем тут заблуждаться то, изучаю ESP с самого появления. Вещь по-своему гениальная, но как раз весьма своеобразная и разработана чисто китайской, ранее неизвестной конторой.
Ватчдог есть там встроенный
Куча отзывов что не всегда избавляет от зависаний и 100% гарантия только вырубание питания.
Ну высвободим пол-килобайта или даже целый килобайт и наживём себе большой «геморрой» с отладкой кода.
Ну например «digitalWrite() на PORTB |= (1<<PIN)» отладки не требуют, а только однократной проверки. Держать в прошивке МК кучу "проверок на трезвость программиста" хорошо для обучения и глупо для рабочего проекта, особенно когда дефицит ресурсов. Можно даже самому не переписывать, а подключить альтенативную библиотеку. А в той же OneWire для DS18B20 можно штатными средствами 256 байт съэкономить на ровном месте, просто переключив вычисление CRC на программное вместо табличного.
С таким же успехом можно закомментировать все строки вывода информации в консоль и «утонуть» в отладке.
Вот этого делать нельзя, разве что подсократить тексты. Все же ситуации что юзер что-то не так сконфигурировал, у него что-то отвалилось или оператор симку заблокировал, это не то же самое, что в самой программе назначение портов перепутать.
+
avatar
0
  • kvolk
  • 19 февраля 2017, 20:22
Собрал тестовую схему контроля питания и резервное питание по схеме из этого сообщения, спасибо товарищу sotyi67. Всё работает. Печатная плата модуля для Sprint Layout — PowerGSM.lay6.
Если блок питания завышает, то режем дорожку и ставим последовательно ещё один диод (на фото он есть). Иначе SIM800L уходит в защиту и выключается.


ЗЫ На «калькулятор» фотографировал :)
+
avatar
0
  • kvolk
  • 21 февраля 2017, 17:03
«Насилие» над аккумулятором окончено :)
+
avatar
0
+
avatar
0
Берется старый акум от мобильника. Там стоит плата защиты. Тупо вырезаем и распаиваем на нашу батарею. И никакого насилия. Акум не угробится. Да и есть платы ТР4056 с уже встроенной защитой.
+
avatar
+1
  • Maksym
  • 23 февраля 2017, 01:08
Нет, вы не правы. Плата защиты ни от чего не спасет в данном случае. Ровно такая же защита распаяна и на плате зарядки, которая в перечне деталей в начале обзора. Один к одному, только с более мощным ключом. А вот работа литиевого аккумулятора в буферном режиме не предусмотрена, он от этого быстро убивается. Предложенная же схема просто поддерживает заряд аккумулятора с гистерезисом зарядки, но питание при наличии сети происходит от блока питания. Аккумулятор же включается в работу только при пропадании питания или начинает заряжаться при падении напряжения ниже гистерезиса ТР4056. Это намного более щадящий режим работы для лития.
+
avatar
0
  • kvolk
  • 23 февраля 2017, 01:21
В данном случае единственным минусом являеся то, что аккумулятор всегда заряжен на 100%, это не самый лучший режим «хранения» аккумулятора. Но такой вариант намногг лучше чем постоянный заряд-разряд-заряд аккумулятора. Светодиоды на плате защиты это подтверждают, теперь всегда светится фиолетовый светодиод, а не красный чередующийся с фиолетовым каждый час, сообщающий о том, что идёт цикличе кий заряд-разряд.
+
avatar
0
  • Maksym
  • 23 февраля 2017, 01:49
Кстати если есть из чего выбрать — то выбирать надо платы с минимальным конечным напряжением заряда. Чем оно ниже тем дольше проживет аккумулятор. Мне как раз попалась платка которая заряжает ниже номинала. У ТР4056 ощутимый разброс по этому параметру.
Ну а по новой схеме аккумулятор будет заряжаться только когда разрядится или саморазрядом, или из-за обесточивания будет резервным питанием. Саморазряд же у лития маленький, поэтому подзарядка может быть раз-два в неделю или даже реже. В общем аккумулятору это однозначно на пользу! Кроме того! Можно не насиловать ни аккумулятор ни плату зарядки (которая при токе в 1 А очень неплохо греется), уменьшив зарядный ток заменой резистора R3 на плате. При номинале 2,2 К я получил зарядный ток 600 мА — вполне достаточно.
+
avatar
0
  • kvolk
  • 23 февраля 2017, 01:23
Защит там не от этого. Насилие заключается в том, что аккумулятор за сутки раз 10-20 заряжается и разряжается, это не хорошо.
+
avatar
0
На платах защиты акумов от мобил отсечка ниже 4в.
+
avatar
0
  • Maksym
  • 23 февраля 2017, 02:58
Ага, ниже. В размере 2,2-2,5 В снизу и 4,25-4,3 В сверху.
+
avatar
0
Если блок питания завышает, то режем дорожку и ставим последовательно ещё один диод (на фото он есть)
Можно вместо 1-го диода шотки на входе 5в поставить in4007 тогда срежется 1 в и не надо будет 3-го диода
+
avatar
0
  • kvolk
  • 17 марта 2017, 17:15
Да, можно и так.
+
avatar
0
Может не стоит заморачиваться по поводу лития. Не проще ли поставить гелевый аккумулятор на 12в. Он и при отрицательных температурах хорошо себя показывает и в буферном режиме тоже неплохо работает. Да и датчики движения и дыма от 12В работают.
+
avatar
0
  • Maksym
  • 24 февраля 2017, 16:59
Во-первых гелевый не так просто найти (настоящий гелевый, а не то что пытаются впарить под его видом). Во-вторых его таки надо искать и покупать за много денег (в бесперебойниках стоят не гелевые, к сожалению, поэтому бу оттуда не прокатит). А лития дома валяется много — грех не использовать.
+
avatar
0
Который «гелевый» 12в 1,2АЧ стоит около 4-5 уе. Зачем брать БУ? БУ оно всегда боком вылазит. Если подключать датчики движения или ту же сирену, через DC-DC преобразователь, чтобы получить 12в вот это гемор. А сделать бесперебойник 3,7в чтобы питать сигналку и модем в «тихом» режиме как то не очень интересно.
+
avatar
0
  • kvolk
  • 25 февраля 2017, 09:07
А сделать бесперебойник 3,7в чтобы питать сигналку и модем в «тихом» режиме как то не очень интересно.
Сделайте «интересно», с удовольствием посмотрю, особенно интересны габариты устройства и автономность.
+
avatar
0
Пожалуйста, все просто. Габариты аккумулятора 95х51х42 (ШхВхГ )

Простейшее зарядное


Автономность. Час точно сирена сможет орать!
+
avatar
0
  • kvolk
  • 25 февраля 2017, 14:00
Карты в руки. В этом проекте такой реализации не будет.
+
avatar
0
А схема с защитой от глубокого разряда есть выше в теме от руки нарисована
+
avatar
0
  • kvolk
  • 25 февраля 2017, 09:04
А чего тут заморачиваться?! Банки 18650 из ноутбучных аккумуляторов за купленные «шапку сухарей». Контролер заряда-разряда за 25 рублей, диоды по рублю, транзистор за три рубля :)
+
avatar
0
Здравствуйте. Уважаемый хозяин проекта ваше детище это что то. Сразу проект понравился т.к. я далек от всего этого но начал разбираться. Заказал все что нужно из поднебесной. Почти все уже пришло кроме модулей А6 мини. Но есть одно но. Я не могу понять последовательность загрузки в контроллер. Если не актуальную версию через arduino IDE то тут все понятно я там могу и телефоны вбить и текст смс подкорректировать. А мне нужна версия GSM_2017_01_15-23-26 т.к. в ней есть поддержка GSM модуля А6 mini, и возможность использовать датчик движения HC-SR501. Но как внести в этот файл свои номера телефонов. Как загрузить его мне понятно, а как откорретировать под себя не понял. Будте добры дать подробную инструкцию, пожалуйста. Может я и глуп но желание разобраться вэтом выше меня. Все таки как быть с файлами hex. Заранее ьбольшое спасибо за ответ.
+
avatar
0
Почитайте с самого верха открывая все вкладки, там все подробно разжёвано
+
avatar
0
  • kvolk
  • 26 февраля 2017, 09:06
Но есть одно но.
Всё очень просто :)

А мне нужна версия GSM_2017_01_15-23-26
Берите сразу версию GSM_2017_02_14-00-03.hex. Последующие версии прошивок включают в себя изменения предыдущих версий.
Но как внести в этот файл свои номера телефонов.
Загружаем прошивку через XLoader, запускаем Arduino IDE, заходим в монитор порта. Находим в обзоре раздел «Команды управления для hex — прошивки», в конце списка есть консольные команды — их и используем. Так же номера телефонов можно добавить/изменить/удалить через смс-сообщения, смс-команды находятся в том же разделе обзора.
ЗЫ. Там же и примеры команд.
+
avatar
0
Спасибо большое, теперь дошло.
+
avatar
0
  • kvolk
  • 01 марта 2017, 23:47
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 кОм. Добавлены команды GuardButtonOn и GuardButtonOff. Теперь после постановки на охрану мигает красный светодиод, пока не будет проверена целостность контура основного герконового датчика. Если контур целый загорается красный светодиод. Занято: 66% SRAM, 95% Flash Memory.
+
avatar
0
  • kvolk
  • 02 марта 2017, 00:10
Теперь можно к второй ардуине/атини прикрутить считывали IButton, RFID, NFC, радиомодули и управлять контролем доступа. За «верный путь» спасибо товарищу dmitriynet.
+
avatar
0
Спасибо за отличный «проект».
Памяти уже совсем не осталось?
+
avatar
0
  • kvolk
  • 02 марта 2017, 12:06
Не за что :)

Памяти уже совсем не осталось?
Да. Сейчас занято: 66% SRAM, 95% Flash Memory.

Предел:
74% SRAM, 100% Flash Memory.
+
avatar
0
А если все текстовые сообщения перенести во внгешнюю Flash? (c i2C интерфейсом)
+
avatar
0
  • kvolk
  • 14 марта 2017, 10:21
В принципе возможно, но:
1. Используем тексты через структуру, длина строк ограничена, но это не критично.
2. Придётся использовать два скетча, первый бы заливал данные во внешнюю еепром, второй — основная прошивка.
+
avatar
0
Да. С заливкой неудобно, но заливать можно и используя дуину как транзитное устройство. Через терминал порта. Отправляем специальный файл и дуина его пишет во внешнюю флешь.
Для этого не надо много кода и скетч будет один. При первом включении чтоб входила в режим заливки. Там достаточно напрямую пересылать байты с порта во флешь. Ну это как бы на размышление. Еще можно заменить в скетче дуиновские функции на конструкции С-шные-это освободит приличное пространство под программу. Так что буду ждать окончательного скетча под эту платформу в открытом виде, чтобы потом оптимизировать. Ну или если сами сподобитесь. :)
+
avatar
0
  • kvolk
  • 15 марта 2017, 09:50
Я не вижу перспективы развития проекта на ардуино, ведь и так ясно, что на прикручивание wi-fi модуля памяти не хватит, на датчики тоже не хватит если даже и перевести на «конструкции С-шные» и выкинуть тексты во внешнюю еепром.
Так что буду ждать окончательного скетча под эту платформу в открытом виде...
Не ждите, в планах этого нет.
+
avatar
0
Жаль. Я и память купил уже. Буду экспериментировать с ней. :)
+
avatar
0
  • Maksym
  • 02 марта 2017, 00:28
А СМС оповещение о поврежденном контуре будет (с задержкой)? Или только на светодиод ориентироваться?
+
avatar
0
  • kvolk
  • 02 марта 2017, 12:11
Надо ли это? Смс может прийти например через пол часа, когда уже за 60 км отъехал от объекта. Мне кажется светодиода вполне достаточно. Другое дело если сигналка стоит на крыше и светодиод не видно, тут можно по команде info возвращать состояние датчика. Но каждый раз запрашивать info тоже не очень удобно.
Мне пока не совсем ясно как лучше реализовать это.

ЗЫ. В споре рождается истина.
+
avatar
0
  • Maksym
  • 02 марта 2017, 13:04
Желательно. У меня сам блок сигналки планируется в глубине помещения и видно его ниоткуда не будет. СМС отсылать не через пол часа, а через 2-3 минуты. И только в случае отсутствия целостности контура охраны. Если же контур нарушен через пол часа — то должен сигнал тревоги идти :).
Естественно каждый раз запрос инфо никто отправлять не будет. А вот автоматическая информационная СМС с задержкой о том что охранный контур нарушен — была бы полезной. Но только о нарушении контура — если все ОК то ничего отправлять не надо.
Есть еще один вариант — ставить на охрану только когда все двери закрыты по СМС, чтобы без целостности охранного контура сигналка не становилась на охрану.

А добавить контроль цепи по сопротивлению, походу, уже не получится? Места нету?
+
avatar
0
  • kvolk
  • 02 марта 2017, 13:12
СМС отсылать не через пол часа, а через 2-3 минуты.
Естественно, отсылать через пол часа никакого смысла нет, проблема в том что смс может прийти с опозданием на 15 минут, пол часа или час, зависит от оператора.
ставить на охрану только когда все двери закрыты
А если используется только датчик движения?
А добавить контроль цепи по сопротивлению, походу, уже не получится?
Нет.
Для чего по сопротивлению?
+
avatar
0
  • Maksym
  • 02 марта 2017, 13:22
Даже если ВДРУГ СМС придет через пол часа, то ничего страшного, т.к. её приход это редчайшее явление. Впрочем у нас СМС ходят намного быстрее.

Про ставить на охрану — я имел ввиду что отправлять СМС гуард ОН только когда все закрыл. Или вышел из зоны действия датчика движения. А не самостоятельную постановку сигналки. Хотя идея интересная — становиться на охрану при наличии герконов после замыкания цепи и отправлять СМС что встали на охрану (а не сразу при получении команды на включение охраны). Если только датчик движения — отправлять СМС сразу после получения команды на постановку охраны.

Контроль сопротивления чтобы злоумышленники не замкнули проводки к геркону. Но все-равно вряд ли на это есть ресурсы, хотя функция, конечно, полезная.
+
avatar
0
  • kvolk
  • 02 марта 2017, 14:28
Контроль сопротивления чтобы злоумышленники не замкнули проводки к геркону.
Там уже достаточно контроля, при замыкании геркона 10 секунд мигает синий светодиод, при постановке на охрану и открытой двери мигает красный.
+
avatar
0
  • Maksym
  • 02 марта 2017, 14:59
А когда перед вскрытием двери злоумышленник перед герконом замкнет провод, идущий к двери (если он проходит за пределами помещения) — то при открытии двери ничего мигать или звонить или СМС-ить не будет. Ибо сигналка будет считать что цепь замкнута, хотя замкнута она по факту будет уже не герконом, а проводами до геркона.
+
avatar
0
  • kvolk
  • 02 марта 2017, 15:33
… идущий к двери (если он проходит за пределами помещения)
Это уже смешно :)
+
avatar
0
Реализация снятия/постановки на охрану с задержкой будет реализована?
+
avatar
0
  • kvolk
  • 02 марта 2017, 15:59
Нужна просто пауза перед GuardOn, так? До 255 секунд будет достаточно или нужно больше времени?
+
avatar
0
Или замкнул кнопку идет отсчет времени по истечении ставится на охрану. Аналогично снятие. Пришел, открыл дверь, снял с охраны в отведенное время, если не снял врубается тревога.
255 я думаю с головой, достаточно и 120 максимум
+
avatar
0
  • kvolk
  • 03 марта 2017, 10:00
Или замкнул кнопку идет отсчет времени по истечении ставится на охрану. Аналогично снятие. Пришел, открыл дверь, снял с охраны в отведенное время, если не снял врубается тревога.
255 я думаю с головой, достаточно и 120 максимум
Может быть это сделать как допопцию, например:
DelayGuardEnable = 0
Работает так как сейчас реализовано.
DelayGuardEnable = 1
Параметр требует ещё дополнительные параметры:
DelayBeforeGuard = 75
Задержка времени перед постановкой на охрану 75 сек.
DelayBeforeAlarm = 30
Задержка времени перед отправкой смс и включения тревожных пинов 30 сек.

Или просто ввести два последних «доппараметра» если они не равны 0 значит их выполнять. — (мне кажется этот вариант проще и правильнее.)

Такой вариант подойдёт?
+
avatar
0
Или просто ввести два последних «доппараметра» если они не равны 0 значит их выполнять. — (мне кажется этот вариант проще и правильнее.)
Согласен с Вами.
DelayBeforeGuard =0
DelayBeforeAlarm=0
работает по умолчанию если не выставили время
ПЫ.СЫ. Не получается прикрутить звонок на 2-й номер, если 1 не активен?
+
avatar
0
  • kvolk
  • 03 марта 2017, 15:17
ПЫ.СЫ. Не получается прикрутить звонок на 2-й номер, если 1 не активен?
Есть трудности с определением «неактивности» номера.
+
avatar
0
А сим 800 не возвращает?
BUSY
NO CARRIER
NO ANSWER
может на основании этих ответов модема сделать обработку? Я могу ошибаться
+
avatar
0
  • kvolk
  • 03 марта 2017, 15:40
Сработала сигналка, позвонила мне, я отбил в консоли
NO CARRIER
Что делаем? Звонить на следующий?

Надо проверить что будет в консоли если баба-робот говорит что абонент не доступен. Если будет ноукарриер, то это «провал».
+
avatar
0
Бабы как всегда все портят ))))
+
avatar
0
  • kvolk
  • 03 марта 2017, 22:17
DelayBeforeGuard =0
DelayBeforeAlarm=0
работает по умолчанию если не выставили время
На «скорую руку» дописать не удалось.С сохранением этих параметров в еепром и смс командами управления проблем не возникло, НО при использовании задержки приходится менять всю «механику» работы системы датчиков. Сейчас смс уходит сразу, но если сделать «паузу», то за время этой паузы изменятся некоторые ключевые переменные. В общем нужно время на возможную реализацию этой функции.
Ещё одна неприятность, на переделку «механики» осталось менее 2% памяти:
Скетч использует 30196 байт (98%) памяти устройства. Всего доступно 30720 байт.
+
avatar
0
  • Maksym
  • 02 марта 2017, 23:54
Отнюдь. У меня к герконам будет метров 5 воздушки идти. Это один из контуров будет — хорошо расширитель портов прикрутили :).
+
avatar
0
  • kvolk
  • 03 марта 2017, 12:10
У меня к герконам будет метров 5 воздушки
Мне на это нечего сказать.
А добавить контроль цепи по сопротивлению, походу, уже не получится? Места нету?
Не будет реализовано.
+
avatar
0
  • Z2K
  • 10 июня 2017, 23:09
Датчик-ловитель молний? Охранка справится? Мощи хватит, не раславится?
+
avatar
0
Ну если все закрыл (замкнул) и сигналка стала сама на охрану — это не правильно. Если нет датчика движения? Кто будет отслежвать движение? Снятие/постановка должна быть осознанной.
+
avatar
0
  • Maksym
  • 02 марта 2017, 23:53
не сама стала! После отправки СМС постановки на охрану она не становится на охрану и не отправляет СМС о постановке пока контур не замкнется. Только после замыкания контура отправляется СМС и ставится на охрану. Если геркон не обнаружен — ставим сразу (сигналка ж в курсе какие датчики на неё навешаны)…
+
avatar
0
  • kvolk
  • 03 марта 2017, 12:11
сигналка ж в курсе какие датчики на неё навешаны
нет конечно, как вы себе это представляете?
+
avatar
0
  • Maksym
  • 03 марта 2017, 14:56
А зачем тогда настройки датчиков в командах?
+
avatar
0
  • kvolk
  • 03 марта 2017, 15:41
А зачем тогда настройки датчиков в командах?
Зачтем чтобы в смс видеть какой датчик сработал и по какому логическому уровню срабатывать этим датчикам.
+
avatar
0
  • Maksym
  • 03 марта 2017, 22:18
Это отличная функция, если показывает какой датчик сработал (до меня до сих пор модем не доехал и я сигналку собрать не могу — без модема ж я мало что смогу увидеть из работы).

В общем надо как-то информировать что цепь не замкнута, если это так, через некоторое время посля постановки на охрану. Можно как была выше предложена задержка перед отправкой СМС и при её отправке сообщать целый ли контур охраны или нет (т.е. уровни с датчиков все правильные или какой-то светится как «сработка»).
+
avatar
0
  • kvolk
  • 03 марта 2017, 22:34
В общем надо как-то информировать что цепь не замкнута
Закройте все двери, станьте напротив сигнализации, поставьте на охрану. Горит красный светодиод — всё ок. Мигает — основной геркон не работает.

ЗЫ Контороль цепи работает только на основном герконе.

через некоторое время посля постановки на охрану.
Зачем через время, если надо сразу, и это реализовано через светодиод.
задержка перед отправкой СМС
Так если он сломан — ничего не будет отправлено.

Бессмыслица какая-то.
+
avatar
0
  • Maksym
  • 03 марта 2017, 22:54
Сигнализация глубоко внутри помещения, светодиодов не видно :).
Контороль цепи работает только на основном герконе
Как только на основном герконе? Аяяй, это большой недостаток :(. Надо все герконы контролировать.
Так если он сломан — ничего не будет отправлено.
Т.е. если цепь не замкнута — то СМС о постановке на охрану не будет отправлено? Это тоже нормальный метод :). Если перед отправкой СМС производится контроль замыкания герконов (а одновременно и целостности цепи).
+
avatar
0
  • kvolk
  • 03 марта 2017, 23:12
Как только на основном герконе?
Так, в обновлениях об этом было сказано, и дополнительный обвес не всем нужен.
Т.е. если цепь не замкнута — то СМС о постановке на охрану не будет отправлено?
Сейчас ставится на охрану сразу вне зависимости от состояния цепи и отправляется смс.

Это тоже нормальный метод :)
Да что же не ясного-то, всё что касается смс информирования — это не надёжно, именно по этой причине выполняется прозвон при срабатывании датчиков, смс может прийти через 10, 20,50 минут.
+
avatar
0
  • Maksym
  • 04 марта 2017, 00:44
Сейчас ставится на охрану сразу вне зависимости от состояния цепи и отправляется смс.
И никаких тревог не будет если цепь будет оставаться разомкнутой все время? Это большой косяк. Надо как-то информировать. И не понятно почему СМС у вас так долго ходят — может операторы глючные?
+
avatar
0
  • kvolk
  • 04 марта 2017, 01:18
И никаких тревог не будет если цепь будет оставаться разомкнутой все время?
Есть глаза которыми можно проверить работоспособность датчика. Перечитайте наш разговор, мне уже заебалось извините, я уже устал Вам разъяснять что и как работает, считаете что это не правильно, берите открытый скетч и сделайте то, что вам нужно.
+
avatar
0
  • kvolk
  • 04 марта 2017, 01:49
И не понятно почему СМС у вас так долго ходят — может операторы глючные?
«Ходят» и «могут прийти» — это немного разные понятия.
+
avatar
0
  • Z2K
  • 10 июня 2017, 23:42
«Зачем через время, если надо сразу, и это реализовано через светодиод.»
Все шлейфы ставятся на охрану находясь внутри помещения командой клиента. Если исправны, получаешь ОК1 и тогда сигналка определенное время ждет разрыва входного шлейфа — герконы входной двери и ПИР датчики тамбура (коридора). После этого у вас есть N секунд что б покинуть помещение и закрыть дверь. После сработки входного шлейфа он сразу ставится на охрану.
+
avatar
0
  • kvolk
  • 10 июня 2017, 23:53
После сработки входного шлейфа он сразу ставится на охрану.
Какой смысл? Объясните пожалуйста.
+
avatar
0
  • Z2K
  • 17 июня 2017, 23:13
Какой смысл?
— Ставить на охрану? Или сразу ставить на охрану? А когда?
+
avatar
0
  • kvolk
  • 17 июня 2017, 23:20
А когда?
А когда позвонил на номер, тогда и поставил на охрану.
Зачем придумывать себе какие-то сложности?
+
avatar
0
  • Z2K
  • 18 июня 2017, 14:30
Все шлейфы ставятся на охрану находясь внутри помещения командой клиента
— Что то Вы меня не поняли, звоните на номер постановки на охрану находясь в помещении. Выходите и тогда автоматом ставится на охрану входной шлейф.
+
avatar
0
  • kvolk
  • 18 июня 2017, 14:51
Выходите и тогда автоматом ставится на охрану входной шлейф.
А если вы не собираетесь выходить? Или вообще надо поставить на охрану когда никого нет в помещении?
+
avatar
0
  • kvolk
  • 02 марта 2017, 12:20
Что дальше?!
Переход на платформу ESP будет начат примерно месяца через 2-3, за это время отловятся возможные баги текущего проекта. Так же в ближайшее время будет печатная плата в спринт лайоте, со всем возможным обвесом, модем будет использован SIM800L и PCF8574P для дополнительных 8 датчиков.
+
avatar
0
  • Fotilla
  • 03 марта 2017, 11:55
Подскажите, где почитать о подключении датчиков через расширитель PC8574P. Система определяет его, видит адрес, но дальше не понимаю, что делать. Нужно ли подтягивать ноги (к 1 или 0) Работают зоны на размыкание, или замыкание.
ЗЫ. Спасибо за проект! Ввод доп. пина постановки/снятия существенно расширяет возможности системы.
+
avatar
0
  • kvolk
  • 03 марта 2017, 12:15
… где почитать...
В обзоре всё написано:
Реализована поддержка модуля и ему подобных расширителей портов ввода/вывода на чипе PCF8574, для подключения дополнительных 8 датчиков, в том числе герконов. Автоматический поиск адреса и автоматическая настройка модуля. Стандартные названия датчиков и логический уровень их срабатывания изменяется с помощью команды EditSensor.
EditSensor — Изменить название датчика и логический уровень срабатывания. Всего может быть не более 8 дополнительных датчиков. После изменения параметров необходима перезагрузка устройства.
Пример команды:
EditSensor:1+Datchik dvizheniya v koridore#h
EditSensor:2+Gerkon na okne

Синтаксис команды:
EditSensor — команда
: — разделитель
1 — записать в первую ячейку памяти
+ — разделитель
Datchik dvizheniya v koridore — название датчика, не может ревышать 36 символов, включая пробелы.
#h — Признак высокого логического уровня с датчика, при получении которого сработает сигнализация. Если отсутствует "#h", сигнализация будет срабатывать при получении с датчика низкого логического уровня.
Подтягивать не нужно, тупо цепляем датчик на ногу и командой меняем название датчика и выставляем уровень по которому он будет срабатывать.

Если остались вопросы, задавайте.
+
avatar
0
Отловил уже два раза.

Алгоритм: «геркон» разомкнут, ставлю кнопкой на охрану, светодиод красный мигает, замыкаю геркон, цепь замкнута светодиод загорелся. Размыкаю геркон и начинает сыпать в терминале. фулресет делал. Модем А6
пы сы. проверка баланса *111# тоже не приходит ответ
+
avatar
0
  • kvolk
  • 04 марта 2017, 00:25
Резисторы на пинах А1 и А2 есть?
+
avatar
0
да по 27к
+
avatar
0
  • kvolk
  • 05 марта 2017, 20:31
Попробуйте на 10к
+
avatar
0
спасибо, вроде помогло
+
avatar
0
Вывод А1 и А2 нужно подтянуть к минусу через керамику 0,01мкф, иначе срабатывает если прикоснутся пальцем к выводу
+
avatar
0
  • sotyi67
  • 05 марта 2017, 01:11
Кто-то может подсказать по GSM модулю SIM800L? Когда модуль звонит абоненту, а тот сбрасывает, модуль выдаёт в сериал «NO CARRIER»?
+
avatar
0
  • kvolk
  • 05 марта 2017, 01:16
По-моему да.
+
avatar
0
  • sotyi67
  • 05 марта 2017, 01:34
Добавил в скетч кусок кода реагирования на это сообщение и никакой реакции.
Ещё вопрос. Если модуль позвонит абоненту, а абонент не сбросит, то как долго будет проходить вызов?
+
avatar
0
  • kvolk
  • 05 марта 2017, 01:41
До тех пор пока не отобьёт оператор. Делайте дэлэй на 20 секунд, потом посылайте хэнгап, чтобы через 20 сек завершился вызов.
+
avatar
0
  • sotyi67
  • 05 марта 2017, 02:01
Что такое хэнгап? Наверное, можно командой ATH0?
+
avatar
0
  • kvolk
  • 05 марта 2017, 20:32
Хэнгап — повесить трубку, да атн0. Но лучше командой AT+CHUP
+
avatar
0
Рискну внести еще одно предложение. Добавить еще один тревожный вход (геркон).
Например: Геркон с задержкой на открытие/закрытие стоит на входной двери если в эту цепь поставить герконы на другие окна двери то появляется уязвимость, есть время открыть то же окно и сигналка включится не сразу. А вот если добавить 2-й вход то можно разделить 2 контура, входную дверь и все остальные открывающиеся «дырки». Опять же с контролем цепи. Если вход остается не задействованный то его просто можно закоротить перемычкой.
Для высвобождения памяти может стоит выкинуть в последующих вариантах прошивки расширитель портов. Ведь у него нет контроля цепи. Да и Вы сами сказали, что он многим не нужен.
+
avatar
0
  • Maksym
  • 08 марта 2017, 21:48
Нужен. Мне нужно 4 датчика движения, например. И 2 цепи герконов. А то и 3.
+
avatar
0
У Вас там Пентагон наверно ))))
+
avatar
0
  • Maksym
  • 08 марта 2017, 22:14
Нет. 4 комнаты где нужно контролировать не влез ли кто через окно, входная дверь в дом (надо которой придется попотеть), входная дверь в веранду (картон, открывается с ноги), двери в сарае. Поэтому логично знать что именно сработало и предпринимать соответствующие действия. Если сработала веранда еще туда-сюда, а если дверь в дом — то полный алярм. Но за дверью еще стоит решетка :). Так что время поднять на ноги всю округу есть.
+
avatar
0
И на окнах небось решетки стоят?)
+
avatar
0
  • Maksym
  • 09 марта 2017, 01:10
Стоят. Но разве это помеха для домушников? Дача черти где 9 месяцев в году никто не живет.
+
avatar
0
Так поставте все на 1 контур и проводов меньше и если сработка то какая разница где. Да и ложных срабатываний на 1 контуре не будет. Ну а там Вам конечно решать.
+
avatar
0
  • Z2K
  • 10 июня 2017, 23:56
металлические решетки достаточно много весят. для металлоискателей хорошая наживка.
+
avatar
0
  • Maksym
  • 11 июня 2017, 12:06
Весят они не много. И находятся между окон, поэтому чтобы добраться до решетки надо сначала выбить наружное окно.
+
avatar
0
  • Z2K
  • 17 июня 2017, 23:17
чтобы добраться до решетки надо сначала выбить наружное окно
— правильное решение с точки зрения безопасности, но не совсем удобное для открывания окон.
Весят они немного
— не всегда, часто они массивные из толстой арматуры
+
avatar
0
  • Maksym
  • 18 июня 2017, 00:59
правильное решение с точки зрения безопасности, но не совсем удобное для открывания окон.
Окна открываются наружу.
часто они массивные из толстой арматуры
У меня из десятки и окна небольшие — 70*100 см.
+
avatar
0
  • Z2K
  • 18 июня 2017, 14:34
Окна открываются наружу
— чтобы открыть окна надо открыть решетки? Или через решетки не открывая их? Или Вы окна снаружи открываете?
+
avatar
0
  • Maksym
  • 18 июня 2017, 14:58
Решетки — это не глухой лист железа. Руки через них спокойно пролазят и открывают окно.
+
avatar
0
Там
+
avatar
0
  • kvolk
  • 09 марта 2017, 09:53
Да и Вы сами сказали, что он многим не нужен.
Данный расширитель удобен тем, что нет необходимости подтягивать пины к высокому или низкому уровню, соответственно они универсальные.

Можно высвободить немного памяти убрав команду i2cscan и всё что с ней связано. Но тогда принудительно придётся ПЦФке выставлять перемычками нужный адрес.

Мне кажется лучше оставить этого «монстра» как есть, взять небольшой перерыв для тестирования и уже потом переезжать на другую платформу.

Считаю, что для бюджетной сигнализации в этом устройстве функционала достаточно, работает стабильно уже больше 6 месяцев, если не учитывать кривизну некоторых прошивок :)
+
avatar
0
  • iwizard
  • 09 марта 2017, 12:04
Вот полностью поддерживаю, на этой платформе мне кажется оставить так как есть. Она у меня стоит в гараже и прекрасно работает :) А для дома было бы интереснее конечно на ESP с управлением через WEB — интерфейс. Подскажите а на ESP тестирование уже идет? я бы с удовольствием потестировал. В наличии все есть для этого.
+
avatar
+1
  • kvolk
  • 09 марта 2017, 12:20
я бы с удовольствием потестировал.
Пока ещё не начинал, сейчас много основной работы «прилетело», поэтому хочу взять небольшой «тайм-аут», как раз за это время вылезут косяки.
+
avatar
0
DelayBeforeGuard
DelayBeforeAlarm
эти функции будут?
Рискну внести еще одно предложение. Добавить еще один тревожный вход (геркон).
Ну если сюда не влезет то идея на следующий проект ))
+
avatar
0
  • kvolk
  • 09 марта 2017, 20:59
DelayBeforeGuard
DelayBeforeAlarm
эти функции будут?
Пока под вопросом, но есть огромное желание «впихнуть» это в текущий проект.
+
avatar
0
  • Z2K
  • 10 июня 2017, 23:54
то можно разделить 2 контура, входную дверь и все остальные открывающиеся «дырки»
— так всегда делается — минимум два шлейфа.
+
avatar
0
  • Maksym
  • 09 марта 2017, 21:54
Приехали наконец-то детали. Ардуина с прошивкой вроде работает. А вот с модемом караул. У него чувствительность какая-то никакая совсем. Ловить сеть очень сложно, надо ходить искать точку приема. А вот сейчас вообще цепляться за сеть не хочет ни в какую. При том что любая мобила принимает без вопросов на все палочки. Причем удалось иногда зарегистрироваться в сети с карточкой Киевстара. Лайф ни разу не подхватил сеть. Модем SIM800L. Сталкивался кто? Мигает светодиод быстро 7 раз, пауза, 9 раз, пауза… Когда регистрация в сети удавалась — мигания становились равномерными и с меньшей частотой.
+
avatar
0
  • kvolk
  • 09 марта 2017, 22:43
2G сеть нормальная у оператора?
+
avatar
0
  • Maksym
  • 09 марта 2017, 22:46
Вроде да. Пока работает на Киевстаре. Норм. Собрано на макетке все — сопротивление, похоже, слишком большое получается — конденсатор вылечил. Кстати, ссылка на плату с транзистором (выше выложено, который переключает резерв/сетевое питание) ведет на прошивки :(.
+
avatar
0
  • kvolk
  • 10 марта 2017, 07:00
ведет на прошивки :(
Там лежит файл PowerGSM.zip
+
avatar
0
  • Maksym
  • 09 марта 2017, 22:44
Вылечилось 1000 мкФ конденсатором прямо на плате модема :). Но Лайф по прежнему не работает. Возможно это оператор блокирует — ибо он запрещает использовать свои сим-карты вне телефонов/смартфонов. Но раньше вроде просто карточку блокировали. Может теперь научились просто её не регистрировать. Впрочем лайф не планировался для эксплуатации все-равно (для отладки, правда, выгоден...).
+
avatar
0
  • kvolk
  • 10 марта 2017, 07:02
На m590 при постановке на охрану через вывоз в консоль приходит ложный второй RING, при этом сигнализация ставится на охрану и снимается через 10 секунд, соответственно отправляются 2 смс: гуардон и гуардофф.
У кого ещё такой баг? или это мой модем…
+
avatar
0
  • Maksym
  • 11 марта 2017, 01:29
При пропадании питания в лог выдает:
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 мкФ на входе Ардуины. Но он в любом случае будет на модеме стоять, так что проблема останется. Я еще к этой чистовой сборке не подключил модем и не знаю будет ли оно только один раз отсылать состояние, или на каждую строчку в логе выше. Хм. Или при наличии модема не будет этого дребезга? Подключу — проверю.
+
avatar
+1
  • Maksym
  • 11 марта 2017, 02:16
Подключил модем, ввел номер. При отправке СМС работает норм. Но если включен тихий режим (без отправки СМС) — опять имеем в мониторе порта «дребезг»:

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 штуку пока).
+
avatar
0
  • Maksym
  • 11 марта 2017, 02:47
Вот еще чуток поработав начало странное в мониторе порта рисовать.

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 в мониторе возвращает эррор, по СМС работает как положено. В принципе не критично, но нужно мануал подправить.
+
avatar
0
  • kvolk
  • 12 марта 2017, 14:44
NOT Sent!
Исправлен это баг, скоро будет новая прошивка.
+
avatar
0
  • kvolk
  • 11 марта 2017, 09:49
Предлагаю как-то с ним бороться.
Дребезга там быть не должно, так как в коде присутствует delay после условия и присутствует «флаг» состояния. То есть, чтобы такое произошло должно подаваться и исчезать питание.
Теперь вопросы:
1) Какие номиналы резисторов делителя напряжения установлены?
2) Какой блок питания используется?
3) Какое напряжение на выходе блока питания?
4) Куда подключен делитель напряжения, напрямую к блоку питания?

Но если включен тихий режим (без отправки СМС) — опять имеем в мониторе порта «дребезг»
Дребезга быть не должно, проверяйте источник питания.

сигналка только один раз звонит?
Да

Может есть смысл чтобы она еще пару-тройку раз набрала если NO ANSWER?
Нет, если вы не услышали первый вызов, то вероятно и последующие тоже вы не услышите.

Еще была какая-то непонятка с PCF8574
Там всё очень просто, прочтите описание и пример команды EditSensor
Вот еще чуток поработав начало странное в мониторе порта рисовать.
Разберитесь сначала с питанием, возможно эта проблема тоже исчезнет.

Команда WatchPowerOn1 в мониторе возвращает эррор
Это норма, все консольные команды передаются модему, модем такой команды не знает, о чём вам и говорит сообщением ERROR.
+
avatar
0
  • Maksym
  • 11 марта 2017, 12:23
Какие номиналы резисторов делителя напряжения установлены?
2.2/3.3К
Какой блок питания используется?
Сейчас — лабораторник DPS5005
Какое напряжение на выходе блока питания?
20 В. А после блока питания стоит понижайка MP1584en настроенная на 4,7 В (соответственно после диодов имеем на выходе 4,20 В).
Куда подключен делитель напряжения, напрямую к блоку питания?
К выходу понижайки.

Питание в течении секунды не может 10 раз подаваться и исчезать :(. Но может и снижается плавно, а не резко пропадает. Причем количество зарегистрированных «передергиваний» изменяется от 13 при отсутствии модема в схеме до двух передергиваний при «тихом режиме». Ну а если отправляется СМС — то лишние передергивания не фиксируются — ардуина занята отправкой СМС.
+
avatar
0
  • Z2K
  • 11 июня 2017, 00:12
Нет, если вы не услышали первый вызов, то вероятно и последующие тоже вы не услышите.
— хотите сказать — если человек глухой, то это надолго? Есть сенс в повторных звонках, через опредененное время — даже с нарастающей продолжительностью звонка.
+
avatar
0
  • kvolk
  • 11 июня 2017, 00:15
— хотите сказать — если человек глухой, то это надолго?
Да :)
+
avatar
0
  • Maksym
  • 11 июня 2017, 12:07
Или же человек просто спит… Обычное поведение обычного человека ночью. И по странному стечению обстоятельств воришки тоже любят на дачи залазить именно ночью, а не днем.
+
avatar
0
  • Z2K
  • 17 июня 2017, 23:23
Вышел на 3 минуты на кухню где работает телевизор, в туалет — телефон в другой комнате. Не всегда же его таскать с собой, чтоб не пропустить важный звонок. Через полчаса посмотришь на входящие — ага, вот оно что оказывается — нас обворовывают. Но поздновато даже соседям звонить.
+
avatar
0
  • kvolk
  • 17 июня 2017, 23:26
Вышел на 3 минуты на кухню где работает телевизор...
Это проблема сигнализации?
+
avatar
+1
  • Maksym
  • 18 июня 2017, 00:59
Да :).
+
avatar
0
  • Z2K
  • 18 июня 2017, 14:42
Конечно — само название говорит — она должна сигнализировать. Она должна давать сигнал — а если человек с тех или иных причин не может получить этот сигнал, то это проблема сигнализации. Такой вариант развития ситуации можно предположить? Можно, значит его надо исключить.
+
avatar
0
  • Z2K
  • 18 июня 2017, 14:49
По хорошему — сигнализация должна сигнализировать до тех пор пока не получит ответ что сигнал принят и адекватно оценен — ложная сработка (проверка и сброс) или на выезд. Или до последнего «вздоха».
+
avatar
0
  • kvolk
  • 18 июня 2017, 14:54
должна сигнализировать до тех пор пока не получит ответ
Так в чём проблема? Вы всегда можете взять открытый скетч и перепилить его под свои нужды.
+
avatar
0
  • kvolk
  • 11 марта 2017, 12:38
стоит понижайка MP1584en настроенная на 4,7 В
Делитель рассчитан на 5В. Но тут должно хватать.
Через пару часов проверю на 2 устройствах, при SmsOff.

К выходу понижайки.
На выходе понижайки может быть «полный высокочастотный хаос», который «сводит с ума» ардуину. Именно по этой причине отказался от них при работе с модемом.
+
avatar
0
  • Maksym
  • 11 марта 2017, 14:10
На выход понижайки повесил 1000 мкФ — слать простыню пропажи/появления питания перестало.
Сама Ардуина чувствует себя хорошо :). На выходе понижайки уже суммарно 3 тыс. мкФ емкостей навешано, просто раньше было 2 тыс. и после выхода платы переключения питания, теперь добавил еще 1 тыс. на входе.
Похоже без конденсатора понижайка на выходе какие-то импульсы выдавала еще, конденсатор это все сгладил.
+
avatar
0
  • kvolk
  • 11 марта 2017, 15:07
Только что проверил, на моих устройствах таких проблем нет:

+CMT: "+7961xxxxx","",«17/03/11,15:00:18+12»
Smsoff

SMS from: +7961xxxxx
Sent! +7961xxxxx-> Sms Off

>
+CMGS: 31

OK

Power supply disconnected!
NOT Sent! +7961xxxxx-> Power supply disconnected!
Alarm! Main sensor!
NOT Sent! +7961xxxxx-> Alarm! Main sensor!

OK

BUSY

Alarm! Main sensor!
NOT Sent! +7961xxxxx-> Alarm! Main sensor!

OK

BUSY

Power supply restored!
NOT Sent! +7961xxxxx-> Power supply restored!
Проблема в питании. Ищите, анализируйте.
+
avatar
0
  • Maksym
  • 11 марта 2017, 15:17
Да, уже решил — выше писал, конденсатор повесил.
+
avatar
0
Не проходит запрос на баланс сим карты. Мой запрос*111# Если использовать команду ATD*100#; в терминале вылетает ERROR, если использую команду AT+CUSD=1,"*111#" баланс приходит в терминал. Можно это добавить в обработку команды? Если первая команда возвращает ошибку то программа переходит к следующей команде.
+
avatar
0
  • kvolk
  • 11 марта 2017, 22:06
Какой модем?
+
avatar
0
A6
+
avatar
0
  • kvolk
  • 12 марта 2017, 00:37
Хорошо, посмотрю.
+
avatar
0
  • kvolk
  • 12 марта 2017, 20:11
Обновляйтесь.
+
avatar
0
  • kvolk
  • 11 марта 2017, 23:12
Итак, присутствует баг, на всех моих устройствах, после реального вызова в консоли появляется фиктивный вызов через одинаковый промежуток времени. Специально откатился на декабрьскую прошивку для проверки, результат тот же
RING

+CLIP: "+7905xxxxxxx",145,"",0,"",0

Ring from: +7905xxxxxxx
The primary phone number already added.

ATH0

BUSY

OK

RING

+CLIP: "+7905xxxxxxx",145,"",0,"",0

NO CARRIER

Ring from: +7905xxxxxxx
The primary phone number already added.

ATH0
OK

Отправка смс отключена, ардуина после реального вызова мигает LedTest'ом, и через пол минуты приходит ложный вызов, причём не важно какой модем, 590 или 800. Картина везде одна и та же.

Однозначно могу сказать что этот баг появился совсем недавно, иначе я бы его заметил сразу, так как сигнализация установлена дома, включается и выключается каждый день.

Есть предположение что это оператор посылает фиктивный вызов, так как «баг» присутствует во всех выложенных прошивках.

Есть идеи?

ЗЫ Для тех у кого ситуация аналогичная, используем смс команды GuardOn и GuardOff, это неудобно, но пока не разберёмся используем эти альтернативные команды.
+
avatar
0
  • sls
  • 12 марта 2017, 01:10
а голый gsm модуль без ардуины, подцепленный на usb-com конвертер, как себя ведет?
+
avatar
0
  • kvolk
  • 12 марта 2017, 13:44
Вот лечение, может быть кому нибудь пригодится

// ----- Завершение вызова
void endcall() {
  delay(2000);
  mySerial.println( F ("AT+CHUP"));
}

Всё дело в задержке, нельзя модемом сразу отбивать, оборудование оператора «не понимает» мгновенный сброс линии, и через некоторое время прилетает «ложный вызов».
+
avatar
0
  • Z2K
  • 11 июня 2017, 00:23
этот баг появился совсем недавно, иначе я бы его заметил сразу
— а как раньше работало?
+
avatar
0
  • kvolk
  • 11 июня 2017, 00:26
А фиг его знает, у некоторых операторов нормально, у некоторых нет, выявить взаимосвязь сложно было. Этот баг очень долго отлавливал. Возможно оператор заменил оборудование или конфигурацию софта.
+
avatar
0
  • Z2K
  • 17 июня 2017, 23:24
Понятно.
+
avatar
0
У меня подобный глюк не зависит от того, модем ли мне звонил, или я на него. Через 5 минут приходит ложный RING. Как правило он только один. RING это гудок. Гудки повторяются каждые 5 сек. Так как при ложном срабатывании гудок всегда один, то этим можно воспользоваться. Заводим переменную под счётчик, и считаем гудки. Если один — ничего не делаем. Если два и более, выполняем какие-нибудь действия. Я так управляю своей сигнализацией без смс и DTMF.
+
avatar
0
  • kvolk
  • 07 мая 2018, 20:59
Попробуйте увеличить delay в endcall.
+
avatar
0
Сегодня прочёл у вас, добавил задержку. Спасибо. Но проблема у меня была, когда не модем, а я сам клал трубку. У меня своя сигнализация на Ардуино нано + M590E. и другой алгоритм. Глюк иногда вылазил когда я звонил на модем и клал трубку после гудка. У меня было управление построено на звонках и подсчёте гудков. Я звоню на модем, он считает, сколько гудков было до того, как я положил трубку. А потом в зависимости от этой цифры выполняет разные команды. Решил, что бороться с этим можно только считая гудки. Один гудок игнорировать. Мне и в голову не приходило, что это оператор виноват.

У меня подобная сигнализация, но не такой богатый функционал. Только самое необходимое. Подключено 7 датчиков: геркон, PIR-датчик, радар, DHT11, MQ-2, два датчика огня. Полный фарш. Есть функция определения координат по базовым станциям.

Накатал универсальный класс для датчиков (все кроме DHT11), который отслеживает изменение уровня сигнала на цифровом пине. Так же возвращает показания аналогового пина.

файл sensor.h
#ifndef SENS_h
#define SENS_h

#include "Arduino.h"

// типы датчиков
#define DOOR        100
#define DVIG        101
#define RADAR       102
#define GAS         103
#define FIRE        104

class Sensor   // название класса
{
  public:

    // volatile означает указание компилятору не оптимизировать код её чтения,
    // поскольку её значение может изменяться внутри обработчика прерывания
    volatile byte count; // количество срабатываний 
    
    // только цифровой пин
    Sensor(uint8_t dpin, uint8_t dtype, bool pinLevel);
    // цифровой и аналоговый пин (например MQ-2)
    Sensor(uint8_t dpin, uint8_t apin, uint8_t dtype, bool pinLevel);
    
    unsigned int get_data();    // возвращает analogRead(data_pin)
    bool get_pin_state();       // возвращает state = digitalRead(pin). Если состояние изменилось, увеличивет счётчик срабатываний на 1.
    uint8_t get_count();        // возвращает счётчик срабатываний датчика.
    void get_info(char *str);   // возвращает строку с именем датчика и числом срабатываний
    void reinit();              // обнуляет счётчик срабатываний    
    
  private:
  
    uint8_t pin;            // цифрововй вывод
    uint8_t data_pin;       // аналоговый вывод
    uint8_t type;           // тип датчика
	bool level;             // высокий или низкий уровень пина
    bool prev_pin_state;    // предыдущее состояние пина
};

#endif



файл sensor.cpp

#include "sensor.h"

Sensor::Sensor(uint8_t dpin, uint8_t dtype, bool pinLevel)
{
  pin = dpin;
  level = pinLevel;
  data_pin = 0;
  type = dtype;
  pinMode(pin, INPUT); // устанавливаем пин в качестве входа для считывания показаний
//  digitalWrite(pin, level);
  prev_pin_state = level;
  
  reinit();
}

Sensor::Sensor(uint8_t dpin, uint8_t apin, uint8_t dtype, bool pinLevel)
{
  pin = dpin;
  level = pinLevel;
  pinMode(pin, INPUT); // устанавливаем пин в качестве входа для считывания показаний
//  digitalWrite(pin, level);
  prev_pin_state = level;
  data_pin = apin;
  type = dtype;

  reinit();
}

bool Sensor::get_pin_state()
{
  bool state = false;
   
  state = digitalRead(pin);
  if(level)
  {
      if(!state && prev_pin_state) count++;
  }
  else if(state && !prev_pin_state) count++;		

  prev_pin_state = state;
  
  return state;
}

unsigned int Sensor::get_data()
{
  return analogRead(data_pin);
}

uint8_t Sensor::get_count()  
{
  get_pin_state();
  return count;
}

void Sensor::reinit()
{
  count = 0; // количество срабатываний     
}

void get_name_for_type(uint8_t type, char* str)
{
  switch (type)
  {
    case DOOR:
      strcat(str, "DOOR");
      break;
    case DVIG:
      strcat(str, "MOVE");
      break;
    case RADAR:
      strcat(str, "RADAR");
      break;
    case GAS:
      strcat(str, "GAS");
      break;
    case FIRE:
      strcat(str, "FIRE");
  }
}

// Записываем в строку показания датчика
void Sensor::get_info(char *str)
{
  get_name_for_type(type, str);
  if(type==GAS)
  {
    itoa(get_data(),str+strlen(str),10);
  }
  else
  {
    get_pin_state();
    itoa(count,str+strlen(str),10);  
  }
  strcat(str," ");
}



Инициализация:

 Sensor* sensors[STANDART_SENS_COUNT];// Инициализируем цифровые датчики

  sensors[SENSOR_DOOR] = new Sensor(DOOR_PIN, DOOR, HIGH);
  digitalWrite(DOOR_PIN, HIGH);
  sensors[SENSOR_DVIG] = new Sensor(DVIG_PIN, DVIG, LOW);
  sensors[SENSOR_RADAR] = new Sensor(RADAR_PIN, RADAR, LOW);
  sensors[SENSOR_FIRE_1] = new Sensor(FIRE_1_PIN, FIRE, HIGH);
  sensors[SENSOR_FIRE_2] = new Sensor(FIRE_2_PIN, FIRE, HIGH);
  
  // Инициализируем цифровые датчики с аналоговым выходoм.
  sensors[SENSOR_GAS] = new Sensor(GAS_PIN, GAS_APIN,  GAS, LOW);


В итоге оперативки мало ест. Вместе с отладочным выводом информации память программ 63%, оперативная 44,3%. Поэтому меня удивляет, что у вас всё в притык с памятью. Конечно у вас функционала поболе. Может поэтому. Я храню номер админа в симкарте. EEPROM для этого не использую. В EEPROM записывается текст смс перед отправкой. Если смс по какой-то причине не ушла, то через минуту происходит повторная отправка. Даже если МК перезагрузится, он всё равно будет знать что есть неотправленная смс, и будет пытаться её отослать, пока не придёт сообщение +CMGS о том, что смс ушла. Так же я отказался от переменных типа String, они едят много памяти. Всё кладу в обычный байтовый массив. Для поиска подстроки в массиве есть стандартные сишные функци, например strstr(). За место переменных для флагов стараюсь использовать биты. В байт помещается 8 флагов.

Сейчас перевожу код под SIM800L. Буду использовать DTMF. Попробую отказаться от смс полностью. Постараюсь сделать голосовой ответ. Ведь SIM800L может воспроизводить заранее записанные аудиоданные. Сообщит голосом что сработало. Так можно звонить бесплатно в одной сети.

Может мои идеи чем помогут.
+
avatar
0
  • kvolk
  • 08 мая 2018, 14:27
Но проблема у меня была, когда не модем, а я сам клал трубку...
Загляните в этот пост.
+
avatar
0
Добрый вечер. У меня уровни сейчас согласованы через вот такую штуку
Пользуюсь недавно, пока сдвоенных рингов не было. Без неё были. Сам механизм мне не ясен, как уровни могут влиять на это. Сейчас уже перехожу на SIM800l. С ним такого не замечал ещё.
+
avatar
0
  • kvolk
  • 12 марта 2017, 20:10
GSM_2017_03_12-20-04.hex — Теперь в консоли стало ещё чище, но если включен тестовый режим «TestOn», то в консоль выводится дополнительная информация. Исправлен баг «Sent!», теперь в консоль правильно выводится информация об отправке сообщений. Исправлен баг «повторного ложного вызова». Теперь запрос баланса должен работать корректно на всех модемах. Занято: 67% SRAM, 95% Flash Memory.
+
avatar
0
  • Maksym
  • 12 марта 2017, 22:59
Еще такое пожелание. Тихий режим всем хорош, только может для одной команды сделать исключение, чтобы можно было проверить что там с сигналкой — например на команду ИНФО. Она как бы случайно не случится и если я отправляю такой запрос то определенно хочу получить на него ответ. Тихий же режим дает возможность неплохо экономить на СМС, но он слишком тихий — состояние сигналки никак не узнать дистанционно. А чтобы узнать надо потратить 3 СМС — отключить тихий режим, инфо, включить тихий режим.
+
avatar
0
  • kvolk
  • 12 марта 2017, 23:09
Согласен, добавлю.
+
avatar
+1
  • kvolk
  • 16 апреля 2017, 12:49
Реализовано.
+
avatar
0
  • Maksym
  • 16 апреля 2017, 13:06
Спасибо.
+
avatar
0
  • sotyi67
  • 13 марта 2017, 20:07
Подскажите, один модуль SIM800L ведёт себя как-то странно. Подключаю только модуль. Каждые пару секунд выдаёт такое:

СИМка ТЕЛЕ2. В телефоне ведёт себя нормально.
Работает только на скорости 19200. Переключаю на 9600, кратковременно переключается, идут крякозябры секунды 2, потом снова на 19200 переключается сам.
+
avatar
0
  • kvolk
  • 13 марта 2017, 21:22
Глючный модем, открывайте диспут, возвращайте деньги. Он перезагружается в цикле.
+
avatar
0
  • sotyi67
  • 13 марта 2017, 22:17
Давно куплен. Не проверил сразу по-хорошему.
+
avatar
0
  • kvolk
  • 13 марта 2017, 22:19
Прозвоните его по питанию, соплей нет после пайки?
+
avatar
0
  • sotyi67
  • 13 марта 2017, 23:33
Пропаял гребёнку контактов, снова включил… И перепутал + и — питания. Смотрю по амперметру до 3А с лишним подскачило. Сразу выключил. Секунды 1,5..2 было включено.
И модуль не сгорел. Работает.
Такое возбуждение модуля, как описывал выше, пропало. Но после второго или третьего перезапуска питания снова появилось. Убрал дополнительный конденсатор на 3300,0 по питанию, и прекратилось. Несколько раз перезапускал, всё нормально.
А что, скорость надо после каждого включения выставлять? Включается всегда 19200. И АОН снова приходится включать…
+
avatar
0
  • kvolk
  • 14 марта 2017, 09:52
А что, скорость надо после каждого включения выставлять? Включается всегда 19200.
Sim800l сам умеет подбирать скорость общения, ему нужно несколько раз отправить команду AT, мой модуль после восьмой команды понимает что скорость должна быть 9600. Что касается аона, по-моему надо всегда включать.
+
avatar
0
del
+
avatar
0
  • kvolk
  • 14 марта 2017, 15:13
Видимо проблема решилась :)
+
avatar
0
Подскажите пожалуйста, какое напряжение меряет D7 и просадка до какого напряжения считается отключением питания?
Или можно ли сделать так: Если напряжение >=3в — сетевое напряжение есть, если <=2.75-сетевое напряжение пропало.
Нужно для контроля напряжения УПС 12В там подается на выход 13,6 при отключении сети на выходе с заряженным аккумулятором 12,5.
Если измеряет 3в тогда можно так: >= 3в сетевое напряжение есть, <= 2.7 сетевое напряжение пропало, <=2 критический разряд аккумулятора
+
avatar
0
  • kvolk
  • 14 марта 2017, 16:11
Подскажите пожалуйста, какое напряжение меряет D7
Не измеряет, это цифровой вход, там либо есть высокий уровень, либо его нет — низкий уровень.
просадка до какого напряжения считается отключением питания?
Расчёт тут.
Если выше 2.52 В — высокий уровень.
Если ниже 1.26 В — низкий уровень.
Если от 1,27 до 2,51 — «неопределённое» состояние.
Или можно ли сделать так: Если напряжение >=3в — сетевое напряжение есть, если <=2.75-сетевое напряжение пропало.
Увы. Измерять надо аналоговым пином. Пример.
Измеряет криво, значения не точные.
+
avatar
0
  • Izvorg
  • 16 марта 2017, 12:58
Проверил автономную работу, от батарейки емкостью 1700 mAh сигналка прожила 43 часа(на батарейке 3 вольта, диод на сигналке горит, а модем уже не фурычит), звонок на сигналку каждые 2 часа кроме ночного времени. модем 590. ПИР датчик не подключен
+
avatar
0
  • kvolk
  • 16 марта 2017, 13:10
Примерно так и должно быть, я на 2200 mAh проверял, около 60 часов продержалась, но тогда не было никакого «допобвеса».
+
avatar
0
yadi.sk/d/avn9dL5P3AqivJ Новая печатная плата с модулем sim800c. Еще не собирал, если найдете ошибки критикуйте буду исправлять ))
+
avatar
0
разъем антенны нужно как можно ближе к выходному пину модема развести…
Кварц должен быть рядом с контроллером.
Ну и конвертер уровней для rx-tx лучше нормальный добавить. У Sim800 3,3v уровни
+
avatar
0
Доброго времени суток. В первую очередь хочу выразить огромную благодарность kvolk за проделаную работу. Хотел бы внести небольшое предложение по поводу работы кнопки постановки/снятия с охраны. Предлагаю разделить опцию GuardButtonOn на две по аналогии с WatchPowerOn.
GuardButtonOn1 будет только ставить под охрану — нажал на кнопку перед выходом с помещения, отработала задержка пока закрыл и все, снять той же кнопкой уже нельзя, только звонок или смс.
GuardButtonOn2 пусть работает как есть на данный момент — и ставит под охрану и снимает.
Ну и GuardButtonOff тоже как обычно отключение данной опции.
+
avatar
0
  • kvolk
  • 16 марта 2017, 23:14
Предлагаю разделить опцию GuardButtonOn на две по аналогии с WatchPowerOn.
Согласен, в ближайшей прошивке будет.
+
avatar
0
  • kvolk
  • 16 апреля 2017, 12:40
Реализовано. Описание в обзоре.
+
avatar
0
Команда SmsOff отключает и другие команды например команду Money запрос баланса, сообщение приходит только если smson. Должна отключать только sms-уведомление при срабатывании датчика.
+
avatar
0
  • kvolk
  • 26 марта 2017, 23:10
Команда SmsOff отключает и другие команды
Изначально эта команда была сделана для режима отладки и тестирования, поэтому она глобально отключала всю систему отправки смс.
Должна отключать только sms-уведомление при срабатывании датчика.
Согласен. Будет в ближайшей прошивке.
+
avatar
0
Включена функция WatchPowerOn2. Сигналака не на охране, отключаю основное питание, пин Д4 включается на секунду. При включенной охране и отключении основного питания Д4 включается как при тревоге. Баг наверно? Должно ж просто смс приходить без включения тревоги.
Прошивка последняя
+
avatar
+1
  • kvolk
  • 28 марта 2017, 23:07
Именно так, проверю.
+
avatar
0
немного неправильно описал. Вначале отключил, а потом вернул основное питание:
без охраны — Д4 включился на секунду
на охране -Д4 включился как при нарушении геркона
глюк проявляется в момент возврата основного питания
+
avatar
0
Подтверждаю, поставил на охрану, отключил питание, сработало реле тревоги, сигнал появился на обоих выводах
+
avatar
0
  • kvolk
  • 31 марта 2017, 09:16
сигнал появился на обоих выводах
На обоих выводах высокий?
+
avatar
0
Нет, как положено — на одном низкий на другом высокий
+
avatar
0
  • kvolk
  • 02 апреля 2017, 14:12
Вполне логично :)

// ----- Отправка тревожной смс и тревожный звонок
...
void Alarm(String text, uint8_t ring, uint8_t force) {
  if (guard == 1 || force == 1) {
    digitalWrite(AlarmPin, HIGH);
    digitalWrite(InverseAlarmPin, LOW);
...

Там всё функции что отправляют «тревожные» сообщения тоже запускают этот баг. Поправлю.
+
avatar
0
  • kvolk
  • 16 апреля 2017, 12:40
Исправил. Спасибо.
+
avatar
0

Помогите пожалуйста! Собрал плату все работает, но есть проблема! Монитор порта в Arduino IDE работает через внешний TTL FTDI 232 все видит команды принимает. А вот прошиться с него XLoader-ом не получается. Светодиоды rx tx даже не моргают. Мегу прошил через ардуину и перепаял в плату, но это не выход. Припаивал даже с ардуины проводками 30 и 31 ногу всеравно не прошивается
+
avatar
0
  • demonk
  • 27 марта 2017, 12:18
Для того чтобы прошивалось, надо еще RESET к DTR преобразователя подключать (через конденсатор 0,1мкф, если на конвертере его нет).
Прошивалка переустанавливает соединение — конвертер ребутает МК — стартует бутлоадер и несколько миллисекунд ждет прошивку.
+
avatar
0
Спасибо, помогло ))))
+
avatar
0
  • Dizell
  • 05 мая 2017, 21:25
Здравствуйте! Схемой, по которой разводили платку не могли бы поделится?
+
avatar
0
Есть но уже немного в переделанном виде, yadi.sk/i/CE2NRSyc3HjwRK пока только от руки
+
avatar
0
  • Dizell
  • 10 мая 2017, 18:19
Спасибо большое! Глянул. тут вот какой вопрос. просто в контроллер залил хекс-файл и он не работает. то есть поминает и все. на плате ардуино работает нормально. есть желание собрать на плате без ардуино. так как есть в наличии сами контроллеры, но в дип корпусе.
+
avatar
0
И не будет работать, туда нужно еще запихнуть загрузчик arduino. Нужно слить полностью дамп программатором с ардуины и фузы такие же выставить. Тогда должно стартануть
+
avatar
0
  • Dizell
  • 20 мая 2017, 08:46
Благодарю за ответ! Бум пробовать. отпишусь, Щас дача, блин надо приехать в город и опробовать.
+
avatar
0
Я так понимаю какойто обвес на портах контроллера дает такую картину, есть мысли чтобы не выпаивать все подряд?
+
avatar
0
  • kvolk
  • 27 марта 2017, 09:49
Нет идей :( Надо разбираться, сейчас очень не хватает времени.
+
avatar
0
Если снять дамп прошивки и фузы с ардуины и через ISP заливать то будет работать?
+
avatar
0
  • kvolk
  • 27 марта 2017, 11:37
Скорее всего.
+
avatar
0
  • demonk
  • 27 марта 2017, 12:23
Можно не снимать, а найти hex файл в папке TEMP (куда ардуина валит файлы при компиляции), а фьюзы не менять или подсмотреть в boards.txt
+
avatar
0
Можно добавить такую функцию?, например
SmsOn-включает режим оповещения о постановке на охрану, снятие и тревога.
SmsOn1-оповещает только тревога.
Всетаки какая ни какая, а экономия денежных средств))))
+
avatar
0

Каким то образом AlarmInterval установился в 0. Еще бывает после «сработки» геркона (несколько раз подряд его дергать) контроллер зависает, а модем продолжает работать. Глюк не постоянный пока не могу понять зависимость, может не хватает питания 3,9-3,7в. Когда подключен к терминалу глюк ни разу не проявился. Питание внешнее +аккумулятор
+
avatar
0
  • kvolk
  • 03 апреля 2017, 16:36
Каким то образом AlarmInterval установился в 0.
Проверю, но это исключено.

Еще бывает после «сработки» геркона (несколько раз подряд его дергать) контроллер зависает, а модем продолжает работать.
Не замечал. Ваша модификация устройства сильно отличается от оригинала, возможно в этом причина?
+
avatar
0
Ваша модификация устройства сильно отличается от оригинала, возможно в этом причина?
все по даташиту на arduino nano v3
+
avatar
0
  • kvolk
  • 03 апреля 2017, 17:19
все по даташиту на arduino nano v3
Ок, на двух моих устройствах такой проблемы не наблюдается. :)
+
avatar
0
Еще бывает после «сработки» геркона (несколько раз подряд его дергать) контроллер зависает, а модем продолжает работать.
Полдня проработал на резервном аккумуляторе, тревога при разрыве геркона отрабатывалась четко. Вернул основное питание и arduina зависла
+
avatar
0
Поставьте конденсатор как фильтр по питанию ардуинки
+
avatar
0
  • kvolk
  • 03 апреля 2017, 16:32
Да не нужен он там. Печатку его посмотрите, там кондёр на кондёре.
+
avatar
0
  • kvolk
  • 03 апреля 2017, 16:32
Полдня проработал на резервном аккумуляторе, тревога при разрыве геркона отрабатывалась четко. Вернул основное питание и arduina зависла
Ничего не понял. Включите тестовый режим и мониторьте ардуину.
+
avatar
0
  • kvolk
  • 03 апреля 2017, 16:34
Есть один «баг/небаг», если отключить питание от модема и снова подать, то ардуина с модемом уже общаться не будет, это проблема софтверного порта ардуины, возможно у Вас такая ситуация?
+
avatar
0
отдельно без аккумулятора работает без зависаний и с аккумулятором без основного питания все нормально, зависание происходит когда подаю основное питание в режиме WatchPowerOn2
+
avatar
0
  • kvolk
  • 03 апреля 2017, 17:20
зависание происходит когда подаю основное питание в режиме WatchPowerOn2
Проверю.
+
avatar
0
Проблему зависания решил! Линейный стаб тут не подходит, заменил на dc-dc преобразователь. Мучаю сигналку 2-й день, полет нормальный )
+
avatar
0
Привет всем. Ребят помогите с одной проблемкой. При звонке или смс с незнакомого номера срабатывает датчик движения и поступает вызов. Так получается оператор ведет рассылку чего либо и тут же сработка происходит. А0 подтянут к земле через резистор 10к, Может провода экранировать от датчика до платы? Конечно сомневаюсь в успехе этого но попробую. У кого какие мысли? Я думаю не у меня одного такое. Т.к. все сделал как автор без лишних примочек. Модем А6 мини. И как назло все это глубокой ночью происходит. Прошивка последняя.
+
avatar
0
  • Maksym
  • 05 апреля 2017, 00:44
Надеюсь датчик движения не в одном корпусе с модемом? Их разнести надо в пространстве подальше.
+
avatar
0
Конечно же в одном. Задумка и была сделать маленькую незаметную коробочку как говориться " все в одном". Ну а если разносить то на сколько? Думаете с экранировкой ничего не выйдет?
+
avatar
0
Конечно же в одном. Задумка и была сделать маленькую незаметную коробочку как говориться " все в одном". Ну а если разносить то на сколько? Думаете с экранировкой ничего не выйдет? Тут выше в ветке у ребят в одном корпусе, даже фотки выложенные есть, я так и спланировал как у них. А оно вон как вышло.
+
avatar
0
  • Maksym
  • 05 апреля 2017, 01:26
Надо датчик экранировать. И модем подальше относить и тоже экранировать. Как-то так. Но там все-равно антенна ж есть — так что разносить. Брать большую коробку :).
+
avatar
0
  • Aduard
  • 05 апреля 2017, 15:26
В одном небольшом корпусе, PIR подключен к 3,3 V arduino
+
avatar
0
Здравствуйте а как он заработал, он ведь по даташиту от 4 вольт работает, ну попробую конечно.
+
avatar
0
  • Aduard
  • 06 апреля 2017, 20:46
У меня геркона нет, но сопротивление на D6 я тоже поставил, так как были ложные сработки
+
avatar
0
  • Izvorg
  • 06 апреля 2017, 17:18
Работает только у Эдуарда, у меня та же проблема, причем экранирование мне не помогло
+
avatar
0
Вот и у меня та же проблема. И даже кандер на 100nF не помог, ну как не помог сработок ложных нет но и работать контроллер не стал как надо. Звонки не всегда проходят. Будем дальше думать.
+
avatar
0
Добил я его, все в одном корпусе и уже вторые сутки звоню с разных номеров и все работает, блин хотел схему выложить может кому пригодиться но видимо размер большой фото ,,,, жаль.
+
avatar
0
  • kvolk
  • 09 апреля 2017, 20:51
В чём причина была?
+
avatar
0
попробуй параллельно резистору кондер на 100nf
+
avatar
0
Спасибо большое попробовал, сработок ложных пока не наблюдал но и сигналка через раз работать стала. ДАЛЬШЕ думать будем.
+
avatar
0
Здравствуйте, kvolk. Собираю вашу сигнализацию. Спасибо вам за разработку. Есть рекомендация — в схеме доработки питания затвор полевика желательно через резистор (достаточно 1 кОм) подключить к минусу. Тогда гарантированно полное открытие транзистора. У меня на затворе было 1,7 В, в следствии чего транзистор не полностью открывался и напряжение на нем падало до 3,3 В. После установки резистора падения нет. И в качестве сенсора отлично подходит rcwl-0516
+
avatar
0
  • kvolk
  • 05 апреля 2017, 13:44
Тогда гарантированно полное открытие транзистора.
Но не пойму смысла этого действия, можно подробнее, почему полевик не полностью открыт?
Так?

И в качестве сенсора отлично подходит rcwl-0516
Наводки от модема не ловит? Или нужно выносить подальше?
+
avatar
0
Да, подключение так. Р-канальный полевик открывается, когда на затворе минус. Если он болтается в воздухе, то на нем может присутствовать какое-то напряжение (как было у меня, почему — ХЗ) и открытие будет не полное. Я использовал транзистор МТ4607 (сдвоенный P и N, какой смог достать), может это связано с ним, хотя врядле. Вы можете проверить есть ли у вас на затворе напряжение при питании от аккумулятора. В любом случае, с резистором будет гарантированное полное открытие транзистора. Про датчик — сейчас все собрано на проводах для проверки. Но сам датчик находится в 3 сантиметрах от модема и ложных сработак нет. А вообще планируется дачик закреплять отдельно.
+
avatar
0
  • kvolk
  • 05 апреля 2017, 15:07
Спасибо. Можно тогда и 10 кОм повесить, тоже притянет «к нулю».
+
avatar
0
Да, это не принципиально.
+
avatar
0
Ребят а какие критерии к фото на заливку, не могу залить фото сюда
+
avatar
0
  • kvolk
  • 09 апреля 2017, 20:51
Выложите на яндекс/гугл/майл диск и ссылку сюда скиньте.
+
avatar
0
Незнаю правильно или нет.

yadi.sk/a/2n7QU1Ru3GpueH
+
avatar
0
  • kvolk
  • 10 апреля 2017, 17:42
Добавлю в обзор, спасибо. В чём причина была?
+
avatar
0
непойму написал ответ на проверке у админа уже минут 35 что он там проверяет
+
avatar
0
  • Maksym
  • 11 апреля 2017, 10:45
А земля ПИР сенсора реально подключена к земле модема? У вас еще, выходит, и земли единой нету — наводки бродят по всей схеме по земляному проводу.
+
avatar
0
Нет, на плате есть конечно же единая земля просто так на рисунке получилось. И еще у меня провода от пира заэкранированы чулком и заземлено на плате.
+
avatar
0
Уважаемый Pavel1980 к вам вопрос какой диод стоит у вас на схеме между блоком питания + и D7 NANO. Спасибо.
+
avatar
0
Объясните, как вы переводите скетчи в HEX?
+
avatar
+1
  • kvolk
  • 10 апреля 2017, 13:37

Ctrl+Alt+S
И в папке со скетчем забираем HEX-файл.
+
avatar
0
Спасибище! Нашел)
+
avatar
+1
Уважаемый kvolk спасибо вам большое за столь громаднейшую работу проделанную на данном поприще. Вот вроде и добил я ее. Наверно всем будет интересны детали, а получилось все благодаря одному человеку, очень близкому родственнику который работает конструктором в КБ по электронике. Вот самый дельный совет его, у них на оборонке принято так, каждый вывод контроллеров садят на кондеры и не важно в воздухе он висит или сигналы принимает, и еще кондеров должно быть два обязательно керамика для коротких помех и электролит для долговременной помехи. Вот я наставил их и все!!! ВСе заработало как надо. Может что то не так написал уж извините за что купил за то продал.
+
avatar
+1
  • CTAHOK
  • 10 апреля 2017, 20:48
Очень интересно, номиналы кондёров какие используете?
Подтяжка на неиспользуемых пинах тоже включена?
+
avatar
0
на шесть комментариев поднимитесь вверх там ссылка на яндекс диск фото схемы там. фото хорошего качества при увеличении все увидите. Большие не надо ну примерно керамику 0.1 uF а электролиты 47uF на 6.3В, вольтаж брал маленький чтоб компактней получилось.
А по поводу пустых пинов, решил сначала попробовать без подтяжки пустых пинов, получилось и не фонит решил так оставить, но если плату буду делать конкретную то обязательно кондеров натыкаю везде.
+
avatar
0
  • kvolk
  • 11 апреля 2017, 10:54
Спасибо, добавлено в обзор.
+
avatar
0
у Вас по схеме D6 идет через резистор, а у автора D6 притянут резистором к минусу. Его тоже желательно кондером притянуть к минусу, чтобы на пальцы не реагировал.
+
avatar
0
Да точно, спасибо исправлю. Да кондеры тоже, лучше поставитьвсего.
+
avatar
0
Все исправил схему, можете проверять
+
avatar
0
  • kvolk
  • 11 апреля 2017, 17:14

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

Прошу прощения, но это ваши слова!!!
Я только повторил.

Возможно это просто уже не актуально
+
avatar
0
  • kvolk
  • 11 апреля 2017, 17:53
Да, но только в открытой прошивке. В актуальной эти пины используются для других целей. D2, D3 не используются.
+
avatar
0
Понял значит уберем, делов то
+
avatar
+2
Всем привет добавил геркон в корпус сигнализации. Теперь вкл. и выкл можно осуществлять приподнеся маленький магнитик в виде брелока на ключах. Это на тот случай когда сел телефон или деньги кончились на симке. Все включено в схему. Как и у автора подтянул на землю 20К сопротивлением и кондером 0,001uF керамикой вроде все получилось. Найдете изъян пишите исправим вместе.
yadi.sk/a/kg5tCCj33GuXmr
+
avatar
0
  • xlin
  • 03 июля 2017, 22:25
Павел приветствую. чот по схеме смотрю-у вас модем питается от 5.1 вольта после dc-dc преобразователя??? или туплю, поправьте
+
avatar
0
А что вас смущает. Мой выбор на модем А6 был по двум параметрам не заморачиваться по питанию это 5в и малых размеров, да и цена не большая. А так все верно один преобразователь и на выходе 5.1в, вы всё верно поняли.
+
avatar
0
kvolk, здравствуйте. Скажите, возможно ли ввести еще один режим — с помощью команды включать/отключать SMS уведомления о постановке/снятии с охраны? Планирую контролировать через светодиод и смс уже лишнее, плюс экономия средств. А при необходимости удаленно снять/поставить можно будет отослать команду на отправку смс и когда не актуально — также отключить.
+
avatar
+1
  • kvolk
  • 12 апреля 2017, 00:58
Да, сейчас как раз переделываю принцип работы смс сообщений. К выходным постараюсь выложить новую прошивку.
+
avatar
0
  • kvolk
  • 16 апреля 2017, 12:44
Косвенно реализовано. Команда SmsOff отключает все смс сообщения кроме Info и Money.
Теперь команды Info и Money всегда будут присылать ответное смс.
Если реализовано не то, опишите пожалуйста подробнее необходимое изменение.
+
avatar
0
Хотелось бы, чтобы отключались только смс о постановке и снятии с охраны. А остальные отправлялись. Спасибо.
+
avatar
0
  • Maksym
  • 16 апреля 2017, 18:32
И об электроснабжени? Когда электрики начнут рубильником баловаться и клацать электричество раз в минуту.
+
avatar
0
  • kvolk
  • 16 апреля 2017, 19:28
WatchPowerOff?
+
avatar
0
  • kvolk
  • 16 апреля 2017, 19:33
Ясно, попробую реализовать.
+
avatar
0
  • Maksym
  • 16 апреля 2017, 21:04
Да не, я о том что ничего менять не надо :). Все ОК.
+
avatar
0
  • kvolk
  • 16 апреля 2017, 21:18
После этой фразы всё стало на свои места :)
+
avatar
0
О, спасибо, буду ждать.
+
avatar
+2




Все хвастаются своими поделками, решил и я похвастаться своей платой )). Снятие и постановка на охрану внешним контроллером IButton.
+
avatar
0
  • kvolk
  • 16 апреля 2017, 12:37
GSM_2017_04_16-12-00.hex — Исправлен баг с тревожным пином. Теперь команды Info и Money всегда будут присылать ответное смс. Команда GuardButtonOn заменена командами GuardButtonOn1 и GuardButtonOn2. Занято: 67% SRAM, 99% Flash Memory.
+
avatar
0
доброго вечера уважаемый kvolk. Загрузил вашу последнюю прошивку и не могу понять почему на запрос Money ответного смс нет. На команду инфо приходит ответ со всей информацией. Модем А6 мини. оператор мегафон у него тоже запрос *100# непойму почему?
+
avatar
0
  • kvolk
  • 16 апреля 2017, 19:29
Подключите к монитору порта и посмотрите, что в консоль выводится при запросе баланса. У меня на билайне всё работает как положено. А на предыдущей работает?
+
avatar
0
Пишет вот так в мониторе порта;
+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 пробовал и с симкой билайна не приходит хоть ты тресни не могу понять почему и в чем причина
+
avatar
0
  • kvolk
  • 18 апреля 2017, 18:27
Вывод команды ListConfig покажите.
Включите режим TestOn и посмотрите что в консоль выводится при получении этих сообщений.
+
avatar
0
Я сейчас похоже понял в чем дело на мегафоне нет команды вывода баланса английскими буквами а на билайне есть вот он «модем» и не понимает что слать, Извините что побеспокоил буду пытаться переключить язык если удастся
+
avatar
0
НЕТ не получилось запрос USSD переделал на транслит а толку нет. А скажите как с монитора порта скопировать сюда Чет не получается вообще скопировать куда либо, Хотел вам ListConfig показать.
+
avatar
0
  • kvolk
  • 19 апреля 2017, 09:18
Выделить, потом Ctrl+C или Ctrl+Ins.
+
avatar
0
GSM Alarm 17.04

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
+
avatar
0
  • kvolk
  • 19 апреля 2017, 15:58
Включите режим TestOn и посмотрите что в консоль выводится при получении этих сообщений.
+
avatar
0
+ciev: «message»,1

+cmt:"+79220000000",,«2017/04/19,18:09:44+05»
money

+CME ERROR:50
+
avatar
0
  • kvolk
  • 19 апреля 2017, 16:15
весь лог выложите пожалуйста, от загрузки модема
+
avatar
0
GSM Alarm 17.04

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
+
avatar
0
  • kvolk
  • 19 апреля 2017, 17:35
Сегодня выложу финальную версию, проверим на ней.
+
avatar
0
  • kvolk
  • 19 апреля 2017, 20:27
Сегодня не выложу, прошивка сырая, необходима доработка.
+
avatar
0
Ок. Подождем не проблема. В таких вещах спешка не к чему.
+
avatar
0
  • kvolk
  • 19 апреля 2017, 20:42
Вот мой лог:
+CMT: "+7961000000","",«17/04/19,20:41:11+12»
Money

SMS from: +7961000000
SMS removed
USSD query:
OK

OK

+CUSD: 0, «Vash balans 0.00 rub. Bonus: 0.00 rub. Besplatnyh sekund: 0. Dopolnitel'nye balansy: #106#», 15

Sent! +7961000000-> Vash balans 0.00 rub.

+
avatar
0
А скажите GSM модуль у вас какой, а то может он мнеи мозги парити. У меня
а6 мини.
+
avatar
0
  • kvolk
  • 19 апреля 2017, 21:40
Sim800l, но есть и а6чуть позже проверю, допилю финальную прошивку
+
avatar
0
  • kvolk
  • 21 апреля 2017, 11:41
Попробуйте на новой прошивке.
+
avatar
0
Спасибр, вечером попробую.
+
avatar
0
Время на вход/выход не получилось реализовать?
+
avatar
0
  • kvolk
  • 16 апреля 2017, 22:56
Пока нет, но в планах только это и осталось, ресурсов должно хватить.
+
avatar
0
  • Maksym
  • 16 апреля 2017, 23:42
И контроль цепи… точнее информирование что сигналка на охрану не встала через какое-то время. А то я в селе дверь недозакрою и уеду спокоен… а сигналка будет не на охране… или в запросе инфо выдавать инфу что все контуры замкнуты для ручной проверки. Как-то так. И не только на основном пине, но и на расширителе портов желательно.
И сработку сирены (пинов на реле) как раз можно было бы сделать только от основного геркона, а то мало ли эти ПИР датчики дадут ложное срабатывание и будет сирена визжать почем зря.
+
avatar
0
уж лучше пусть визжит почем зря чем залезут в окно будут ходить по дому а к двери с герконом и близко не подойдут. О не закрытой двери мигает светодиод.
+
avatar
0
WatchPowerOn1 и 2 отключаются командой smsoff, а не должны
+
avatar
0
  • kvolk
  • 17 апреля 2017, 13:39
Согласен, у этих команд есть свой выключатель.
+
avatar
0
  • kvolk
  • 21 апреля 2017, 10:18
Получилось, обновляйтесь. GSM_2017_04_21-09-43.hex
+
avatar
0
не смог осилить расширитель портов. Его видно, адрес есть, на выходах есть +4.2-4.5 В, соединяю нулевой вывод (Р0) на землю и ничего не происходит. Пробовал 3 платы (одна из них для дисплея) проверял в простом самописном скетче — диодом мигает. Пробовал на последней и предпоследней прошивке. Может есть какая тонкость?
+
avatar
0
  • kvolk
  • 19 апреля 2017, 20:27
Немного позже проверю.
+
avatar
0
  • kvolk
  • 21 апреля 2017, 10:20
Что касается расширителя, будет работать только тот у которого больший адрес. Датчики сконфигурировали перед проверкой?
+
avatar
0
Настраивал на сработку от высокого уровня #h и подключал датчик движения — не сработал. Менял на низкий уровень и замыкал на землю, тоже без результата. После изменений ресетил ардуинку. На всех выводах расширителя все время высокий уровень +4,2-+4,8В в зависимости от чего запитано
+
avatar
+1
  • kvolk
  • 21 апреля 2017, 10:13
GSM_2017_04_21-09-43.hex — Теперь параметр sendsms не влияет на отправку смс сообщений мониторинга электросети. Добавлена смс команда DelayBeforeGuard отвечающая за задержку при постановке на охрану, значение не может превышать 255 секунд. Добавлена смс команда DelayBeforeAlarm отвечающая за задержку отправки уведомлений и включение «тревожного пина» при срабатывании датчиков, значение не может превышать 255 секунд. Удалены команды ClearSMS, теперь сообщения удаляются автоматически после получения. Занято: 68% SRAM, 100% Flash Memory.
+
avatar
0
  • kvolk
  • 22 апреля 2017, 09:58
Сырая, выявлено множество ошибок.
+
avatar
0
после первой тревоги и звонка больше не звонит. Включал teston в выводит команду набора номера и тут же error
+
avatar
0
  • kvolk
  • 22 апреля 2017, 11:05
На Sim800L звонит при каждом срабатывании, модем какой?
+
avatar
0
m590 но грешу еще на нехватку питания. попробую переделать
+
avatar
0
Ой ОЙ ОЙ у меня ребят что то совсем плохо стало. Если снимаешь звонком с охраны то приходит пустое смс, если снимаешь кнопкой то приходит смс как будто с телефона произошло отключение. А если выключаеш кнопкой то приходит нормальное смс. на команду инфо присылает пустое смс а на моней вообще не реагирует. Так что я наверно пока на предыдущей останусь там хотя бы только команда моней не работала и то я думаю из-за модуля GSM.
+
avatar
0
  • kvolk
  • 21 апреля 2017, 18:18
Настройки сбросьте командой ResetConfig.
+
avatar
0
  • kvolk
  • 21 апреля 2017, 20:18
Money не работает на 590 и на a6 модемах, на сим800л работает, попробую починить.
+
avatar
0
Сброс настроек настроек не сильно помог, при постановке на охрану с кнопки присылает так как будто с телефона поставил. А если с телефона ставиш на охрану то присылает 2 смс одно правильное а второе пустое. Вообщем я так подумал да и хрен бы с этой командой моней в личном кабинете баланс посмотрю. А предыдущая прошивка мне более понравилась, стабильнее работает.
+
avatar
0
У меня все нормально работает, гонял вчера весь вечер во всех режимах, модем сим800л.
+
avatar
0
  • kvolk
  • 22 апреля 2017, 11:10
Вот и я о том же, у меня тестовя сигналка на сим800л, и на ней всё хорошо, за исключение того что в консоль не всегда выводится иногда информация об отправляемых смс, но это уже починил. Сейчас есть косяк с кнопкой включения GuardButtonOn2. Есть «боевая» сигналка на М590, запрос баланса на ней перестал работать, думаю это поправимо. Так же высвободил ещё байт 100 памяти, так что малые резервы есть. Пока прошивка на доработке…
+
avatar
0
  • kvolk
  • 22 апреля 2017, 12:53
при постановке на охрану с кнопки присылает так как будто с телефона поставил.
Отловил этот баг, исправил, спасибо. После добавления таймера программа выполняется «нелинейно» и некоторые модификаторы успевали измениться.
Последнее обновление существенно изменило логику работы устройства. Возможны ошибки в работе.
+
avatar
0
И еще один вопрос никто испытания на холоде не делал? Я в принципе в гараж делаю и хотел бы узнать может кто тестировал на морозе. Как ведет себя система?
+
avatar
0
  • kvolk
  • 22 апреля 2017, 08:50
Точно так же, только ёмкость аккумулятора упадёт.
+
avatar
0
  • kvolk
  • 22 апреля 2017, 11:13
GSM_2017_04_21-09-43.hex — не рекомендуется к использованию, только в качестве тестирования, спасибо за выявленные ошибки :)
+
avatar
0
  • kvolk
  • 22 апреля 2017, 20:51
GSM_2017_04_22-20-42.hex — Исправлены множественные ошибки. Команды ClearSMS снова присутствуют в прошивке. Оптимизация памяти. Занято: 68% SRAM, 98% Flash Memory.
+
avatar
0
Доброе утро на команду Info упорно шлёт пустые смс команда Money так и не заработала, ну значит не судьба.
+
avatar
0
  • kvolk
  • 23 апреля 2017, 06:53
Судьба.Выполните команду TestOn и смотрите в консоль.
+
avatar
0
+CIEV: «MESSAGE»,1

+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
+
avatar
0
  • kvolk
  • 23 апреля 2017, 07:36
Выложил прошивку test.hex попробуйте на ней запрос баланса.
+
avatar
0
Получилось баланс пришел как надо

+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

И команда инфо заработала
+
avatar
0
  • kvolk
  • 23 апреля 2017, 08:05
ОТлично.
+
avatar
0
Скажите пожалуйста а эту тестовую програмку можно использовать в качестве основной или это только наброски.
+
avatar
0
  • kvolk
  • 23 апреля 2017, 11:01
Да, там нет значительных отличий,
AT+CUSD=1,"#100#",15
только ,15 добавлено.

Не могу отловить баг с кнопкой, при GuardButtonOn2 в некоторых случаях устройство позволяет снимать с охраны.
+
avatar
0
Понял, погоняю на разных режимах и отпишусь сразу
+
avatar
0
Да я уже заметил этот баг и не только снимать но ставить на охрану. И еще в этой тестовой иногда на запрос инфо приходит пустое смс подчеркиваю НЕ ВСЕГДА.
+
avatar
0
Read array phone:
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 строчке что это?
НЕ убирается никак
+
avatar
0
  • kvolk
  • 23 апреля 2017, 07:30
Выполните команду MemTest в консоли, все настройки сбросятся. Посмотрите результат. Потом FullReset. И перезагрузите устройство.
+
avatar
0
  • kvolk
  • 23 апреля 2017, 08:05
Тут как дела обстоят?
+
avatar
0
После команды MemTest

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
+
avatar
0
  • kvolk
  • 23 апреля 2017, 08:42
ОТлично.
+
avatar
0
Уважаемый Kvolk а нельзя ли провернуть такую махинацию, Взять уже имеющуюся стабильную версию такую как GSM_2017_04_16-12-00.hex и в неё добавить вот эту маленькую деталь (((AT+CUSD=1,"#100#",15
только ,15 добавлено.))) Таким образом получиться стабильная прошивка с работающим запросом баланса для модемов A6 mini. Если не очень трудно может попробуем. Уж сильно мне та версия нравиться ни одного глюка пока не было.
+
avatar
0
  • kvolk
  • 23 апреля 2017, 15:39
Увы, архива скетча на эту дату я не нашел. На днях будет стабильная прошивка.
+
avatar
0
  • kvolk
  • 23 апреля 2017, 17:24
Работу кнопки уже починил, осталось команду info отладить на 590 и а6 модемах.
+
avatar
0
Шустро у вас это получается
+
avatar
0
  • kvolk
  • 23 апреля 2017, 18:00
Ага, обновляйтесь :)
+
avatar
0
  • kvolk
  • 23 апреля 2017, 17:59
GSM_2017_04_23-17-50.hex — Теперь запрос баланса должен работать корректно на всех модемах. Постановка и снятие с охраны внешними устройствами теперь работает правильно. Ответные сообщения смс команды Info не должны быть пустыми. Оптимизация памяти. Занято: 68% SRAM, 98% Flash Memory.
+
avatar
0
  • kvolk
  • 23 апреля 2017, 18:03
Ещё свободно полкилобайта памяти, можно ещё что-то добавить незначительное. Например отключение только тревожных смс и т.п.
+
avatar
0
Можно добавить в консольные команды DelayBeforeGuard, DelayBeforeAlarm, BalanceNum? Удобней будет тогда конфигурировать из консоли
+
avatar
0
Да да в консоль надо добавить их
+
avatar
0
smsoff ,smson тоже в консоль
+
avatar
0
  • kvolk
  • 23 апреля 2017, 19:50
Согласен.
+
avatar
0
Первые ощущения превосходные ну вы и профи в своем деле, преклоняюсь перед такими талантами. Вообщем погонял в разобранном виде, пока всё идет хорошо, сейчас буду в корпус ставить там затянуться испытания на несколько суток. А пока огроменнейшее спасибо за вашу работу и преданность своему делу. Как закончу испытания обязательно отпишусь.
+
avatar
0
  • kvolk
  • 23 апреля 2017, 19:49
Всегда пожалуйста! Спасибо за помощь в тестировании, тестирование это тоже сложный и ответственный процесс.
+
avatar
0
Так ну вот первые нестыковки, при пропадании и появлении внешнего питания упорно шлет пустые смс. И опять же команда инфо подвела из 5 раз два раза последних пустые смс шлет. Продолжаю гонять.
+
avatar
0
  • kvolk
  • 23 апреля 2017, 19:29
И опять же команда инфо подвела из 5 раз два раза последних пустые смс шлет.
Починим.
Я тоже ловил сегодня пустые смс после info причём постоянно, сейчас проверил на 590-ом:

Видимо нужно собирать ещё одну сингалку на а6 для полноценного тестирования :)
+
avatar
0

КАк то так пока
+
avatar
0
  • kvolk
  • 23 апреля 2017, 20:15
100% дело в модеме. Буду собирать на а6.
+
avatar
0
Модем sim800 также присылает пустые смс в ответ на info
+
avatar
0
  • kvolk
  • 23 апреля 2017, 21:58
Очень интересно, завтра провею
+
avatar
0
  • kvolk
  • 23 апреля 2017, 19:52
Что в консоли если включить TestOn? Там тоже просто «Send!» или полноценная строка?
+
avatar
0
Завтра отпишусь, на работу рано вставать.
+
avatar
0
  • kvolk
  • 23 апреля 2017, 20:16
ок, спасибо.
+
avatar
0
  • kvolk
  • 24 апреля 2017, 13:35
GSM_2017_04_24-13-22.hex — Теперь передача консольных команд в GSM модуль производится только если включен тестовый режим. Теперь нет разделения на смс команды и консольные команды, все существующие команды можно передавать как через смс так и через консоль. Возможно исправлен баг с командой Info. Оптимизация памяти. Занято: 68% SRAM, 94% Flash Memory.
+
avatar
0
  • kvolk
  • 24 апреля 2017, 13:51
При выполнении некоторых команд в консоли возможна отправка «ненужных» смс сообщений из-за изменений в работе. Так же команды GuardOff/GuardOn выполненные из консоли возможно работают «криво».
+
avatar
0
ВСе команды сработали правильно надеюсь это стабильно
+
avatar
0
на первый тестовый режим отработал на ура, теперь мой помошник это время буду выжидать его.
+
avatar
0
  • kvolk
  • 24 апреля 2017, 16:53
Команда Info не косячит?
+
avatar
0
Как только спросили запросил команду и блин опять
+
avatar
0
  • kvolk
  • 24 апреля 2017, 17:37
Интересно что выводится в это время в консоль, там тоже пустая строка или она пустая только в модем прилетает.
+
avatar
0
+CIEV: «MESSAGE»,1

+CMT: "+79226950000",,«2017/04/24,19:03:07+05»
Info

SMS from: +79226950000
Sent! +79226950000 ->

Пустая строка
+
avatar
0
+CIEV: «MESSAGE»,1

+CMT: "+79226950000",,«2017/04/24,20:15:58+05»
Info

SMS from: +79226950000
Sent! +79226950000 ->

И спустя час та же самая история
+
avatar
0
+
avatar
0
модем sim800. с этой прошивкой никакой реакции на watchpoweron1, money, info, также никакой реакции на герконовый датчик. при отключении питания шлет смс, но при подключении питания также шлет смс об отключении. при возврате на GSM_2017_03_12-20-04.hex все хорошо. после каждой перепрошивки сначала не делал fullreset, после повторил прошивку через fullreset — ситуация не поменялась.
+
avatar
0
  • kvolk
  • 24 апреля 2017, 21:11
Что-то вообще странное у Вас. С ардуиной всё в порядке? Какой модем у Вас?
+
avatar
0
Модем sim800

Прошивка GSM_2017_03_12-20-04.hex работала с 12 марта без нареканий. И сейчас работает. Думаю, что ардуина вела бы себя странно и на ней, но нет.
Попробую newtest.hex — отпишусь.
+
avatar
0
  • kvolk
  • 24 апреля 2017, 21:35
Хорошо, спасибо. И ещё вопрос у Вас датчик движения включен?
+
avatar
0
Info: PIR off. Guard On
Датчика движения нет. Использую только геркон и делитель для контроля питания.
+
avatar
0
  • kvolk
  • 24 апреля 2017, 22:27
Я удалил сообщение :)
+
avatar
0
прошил newtest-extended.zip
money, watchpoweron1 — выполняются.
info — присылает пустое сообщение.
+
avatar
0
модем сим800, прошивка 17.04.24, на info приходит пустое сообщение, команда BalanceNum: в консоли неправильно конфигурируется из-за этого не приходит баланс, через конфигурацию смс все нормально. Остальное вроде работает. Тестим дальше…
+
avatar
0
  • kvolk
  • 24 апреля 2017, 20:32
команда BalanceNum: в консоли неправильно конфигурируется из-за этого не приходит баланс,
Не верю! :) Только что проверил, всё отлично меняется.
BalanceNum:#103#L24
Number: #103#
Length to return: 24

listconfig



Number: #103#
Length to return: 24

BalanceNum:#100#L22
Number: #100#
Length to return: 22

listconfig



Number: #100#
Length to return: 22
+
avatar
0
Не верю! :) Только что проверил, всё отлично меняется.
Пардоньте! И правда работает. Запускал через другой терминал, а не монитор порта, может из-за этого глюки
+
avatar
0
  • kvolk
  • 24 апреля 2017, 20:37
Выложил промежуточную прошивку newtest.hex, кое какие изменения, занято 67% а не 68% оперативки, может быть из-за этого инфо глючит, но у меня на двух устройствах практически нет такой проблемы, один раз мне удалось произвольно получить этот баг.
+
avatar
0
  • kvolk
  • 24 апреля 2017, 22:28
Ещё одна промежуточная прошивка newtest-extended.zip, исправлена работа консоли, теперь не отсылаются лишие смс при выполнении команд из консоли, так же расширенный вывод отладочной информации в консоль при отправке смс и команде Info. На всякий случай прошивка выложена в архиве,есть подозрение что при загрузке/скачивании хекса с ним происходит что-то не то. Не подтвердилось, файлы одинаковые.
+
avatar
0
Вообщем что могу сказать, что то необъяснимое происходит. Вчера вечером написал что команда инфо прислала пустое смс, Простояв ночь в режиме работы на утро запросил ряд команд инфо и моней и на удивление всё пришло как надо, подумав что это единичный успех запросил второй раз и всё пришло опять нормально. С чем иэто связано не знаю буду наблюдать дальше, НЕ прощаюсь.
+
avatar
0
выше написал, что приходит пустое смс на info… спустя некоторое начали приходить нормальные смс. (модем sim800, прошивка newtest-extended.zip) также буду наблюдать дальше.

также обратил внимание на то что текст ответа на info бывает «разным»
+
avatar
0
  • kvolk
  • 25 апреля 2017, 16:57
Рассказываю:
System -> Guard ON — Поставлено на охрану до перезагрузки устройства, говорит о том, что устройство выключалось и после включения никто им не управлял.
Guard ON. Phone +xxxxxxxx — Поставлено на охрану по звонку или смс с номера +xxxxxxxx
Guard ON. Button — Поставлено на охрану внешним устройством
Guard ON. Console — Поставлено на охрану с помощью консольной команды.

Аналогично OFF.
+
avatar
0
А есть ли смысл устанавливать тестовые недавнейшие прошивки или в скором времени вы их выложите под нормальными названиями?
+
avatar
0
  • kvolk
  • 25 апреля 2017, 17:14
Да сегодня или завтра выложу, вот изменения, ничего критического:
//Исправлен баг при котором команда ListConfig меняла значение последнего события.
//Теперь при вводе команд через косоль не отправляются ненужные смс сообщения.
+
avatar
0
отлично ждемс с нетерпением
+
avatar
0
  • kvolk
  • 25 апреля 2017, 17:36
Что с Info делать? я за последние 2 дня так ни разу не смог получить ни одного пустого сообщения ни на сим800, ни на 590 модемах.
+
avatar
0
Да наверно ничего, даже не знаю. Пусть останется как есть.
+
avatar
0
что я делаю не так?))
+
avatar
0
  • kvolk
  • 25 апреля 2017, 18:58
Что в это время в консоль пишется? Там должно быть много дополнительной информации. Команда info из консоли тоже выводит пустую строку?
+
avatar
0
  • kvolk
  • 25 апреля 2017, 19:41
Если не затруднит, выполните команду в консоли
TestOn

потом через 15 секунд
ATI

В ответ получите что-то вроде этого:
ATI
ATI

SIM800 R13.08

OK
После вывода можно выполнить TestOff для выхода из тестового режима.
Покажите что у Вас будет в ответе.
+
avatar
0
+
avatar
0


скриншоты делал с newtest-extended.zip

GSM_2017_04_25-20-54.hex все равно пустой ответ на info
+
avatar
0
  • kvolk
  • 26 апреля 2017, 09:45
Спасибо! То, что надо! Теперь хотя бы ясно где косяк.
+
avatar
0
  • kvolk
  • 26 апреля 2017, 10:31
Выложил ещё одну промежуточную прошивку, если не затруднит сделайте пожалуйста такой же скрин с командами info, будет ещё больше отладочной информации
gsm20170426102958.zip
+
avatar
0
GSM Alarm 17.04.25
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
+
avatar
0
  • kvolk
  • 26 апреля 2017, 13:38
Спасибо, значит косяк тут:
smstext = smstext +  F(" ") + LastEvent;
+
avatar
0
  • kvolk
  • 26 апреля 2017, 13:49
Наверное починил, прошивка в архиве gsm20170426134815.rar
+
avatar
0
к сожалению не помогло(
+
avatar
0
  • kvolk
  • 26 апреля 2017, 14:54
Если выполнять команду info из консоли, тоже самое происходит?
+
avatar
0
  • kvolk
  • 26 апреля 2017, 15:29
А так, что в консоли? Немного поправил gsm20170426152809.rar
+
avatar
0
gsm20170426152809.rar

вывод консоли. 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
+
avatar
0
  • kvolk
  • 27 апреля 2017, 13:45
Всё, теперь всё по «феншую», теперь всё должно работать как часы :) Прошивка gsm20170427134411.zip
+
avatar
0
пожалуй закажу новую ардуину… после включения два-три раза получаю ответ на info, а потом после нескольких событий (Money, GuardOn, GuardOff, Alarm main sesor) получаю пустое смс, при этом все остальные смс на другие команды приходят с текстом. Странно что на GSM_2017_03_12-20-04.hex такого не наблюдается. Может что-то быть не так с оперативкой ардуины?
+
avatar
0
  • kvolk
  • 27 апреля 2017, 17:06
Вечером на своих устройствах проверю. Позже отпишусь.
+
avatar
0
  • kvolk
  • 27 апреля 2017, 21:14
Может быть действительно что-то с памятью ардуины? Был кривой код, привёл в порядок.
Вот мой лог с sim800l, всё отлично:
GSM Alarm 17.04.27
Init params…
Read eepromconfig:
SendSms: 1
AlarmRing: 0
TestOn: 0
LedOn: 1
Guard: 1
PauseTime: 15
AlarmInterval: 60
PIRGuard: 0
WatchExtPower: 1
GuardButtonEnable: 2
DelayBeforeGuard: 0
DelayBeforeAlarm: 0

Read array phone:
1 -> 7961xxxxxxx -> 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: 22

I2C devices not found
Go!
System -> Guard ON.

+CMT: "+7961xxxxxxx","",«17/04/27,21:07:12+12»
Info

SMS from: +7961xxxxxxx
----TEST----
1 LastEvent: System -> Guard ON.
2 SMSText: Info: PIR
3 SMSText: Info: PIR OFF.
4 LastEvent: System -> Guard ON.
5 SMSText: Info: PIR OFF. System -> Guard ON.
----TEST----
AT+CMGS="+7961xxxxxxx"
Info: PIR OFF. System -> Guard ON.
Sent! +7961xxxxxxx -> Info: PIR OFF. System -> Guard ON.
Ring from: +7961xxxxxxx
Guard OFF. Phone +7961xxxxxxx
AT+CMGS="+7961xxxxxxx"
Guard OFF. Phone +7961xxxxxxx
Sent! +7961xxxxxxx -> Guard OFF. Phone +7961xxxxxxx

+CMT: "+7961xxxxxxx","",«17/04/27,21:08:27+12»
Money

SMS from: +7961xxxxxxx
USSD query:
+CUSD: 0, «Vash balans 0.00 rub. Bonus: 0.00 rub. Besplatnyh sekund: 0. Dopolnitel'nye balansy: #106#», 15

AT+CMGS="+7961xxxxxxx"
Vash balans 0.00 rub.
Sent! +7961xxxxxxx -> Vash balans 0.00 rub.

+CMT: "+7961xxxxxxx","",«17/04/27,21:08:47+12»
Info

SMS from: +7961xxxxxxx
----TEST----
1 LastEvent: Guard OFF. Phone +7961xxxxxxx
2 SMSText: Info: PIR
3 SMSText: Info: PIR OFF.
4 LastEvent: Guard OFF. Phone +7961xxxxxxx
5 SMSText: Info: PIR OFF. Guard OFF. Phone +7961xxxxxxx
----TEST----
AT+CMGS="+7961xxxxxxx"
Info: PIR OFF. Guard OFF. Phone +7961xxxxxxx
Sent! +7961xxxxxxx -> Info: PIR OFF. Guard OFF. Phone +7961xxxxxxx
Ring from: +7961xxxxxxx
Guard ON. Phone +7961xxxxxxx
AT+CMGS="+7961xxxxxxx"
Guard ON. Phone +7961xxxxxxx
Sent! +7961xxxxxxx -> Guard ON. Phone +7961xxxxxxx

+CMT: "+7961xxxxxxx","",«17/04/27,21:09:39+12»
Info

SMS from: +7961xxxxxxx
----TEST----
1 LastEvent: Guard ON. Phone +7961xxxxxxx
2 SMSText: Info: PIR
3 SMSText: Info: PIR OFF.
4 LastEvent: Guard ON. Phone +7961xxxxxxx
5 SMSText: Info: PIR OFF. Guard ON. Phone +7961xxxxxxx
----TEST----
AT+CMGS="+7961xxxxxxx"
Info: PIR OFF. Guard ON. Phone +7961xxxxxxx
Sent! +7961xxxxxxx -> Info: PIR OFF. Guard ON. Phone +7961xxxxxxx
+
avatar
0
заказал новую ардуину. как приедет отпишусь. сейчас в наличии только pro micro, которая прошита как leonardo
+
avatar
0
заменил ардуину. прошил pcf-extended.hex.
два дня полет нормальный. info тоже отвечает.
+
avatar
0
  • kvolk
  • 23 мая 2017, 22:41
info тоже отвечает.
я уже не видел этот баг недели 2 или 3, не могу его отловить.
+
avatar
0
GSM_2017_05_26-20-22.hex
команда info работала-работала и вдруг ответила:

после многократных постановок на охрану и снятия продолжает присылать только Info:PIR OFF.
Телефонный номер добавлен только один.
+
avatar
0
  • kvolk
  • 27 апреля 2017, 21:36
А вот лог с M590, тоже всё ок
GSM Alarm 17.04.27
Init params…
Read eepromconfig:
SendSms: 1
AlarmRing: 1
TestOn: 0
LedOn: 0
Guard: 0
PauseTime: 15
AlarmInterval: 60
PIRGuard: 0
WatchExtPower: 1
GuardButtonEnable: 0
DelayBeforeGuard: 0
DelayBeforeAlarm: 0

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

Number: #100#
Length to return: 22

I2C devices not found
Go!
System -> Guard OFF.

+CMT: "+7961xxxxxxx",,«17/04/27,21:31:01+18»
Info

SMS from: +7961xxxxxxx
----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="+7961xxxxxxx"
Info: PIR OFF. System -> Guard OFF.
Sent! +7961xxxxxxx -> Info: PIR OFF. System -> Guard OFF.

+CMT: "+7961xxxxxxx",,«17/04/27,21:31:38+18»
Guardon

SMS from: +7961xxxxxxx
Guard ON. Phone +7961xxxxxxx
AT+CMGS="+7961xxxxxxx"
Guard ON. Phone +7961xxxxxxx
Sent! +7961xxxxxxx -> Guard ON. Phone +7961xxxxxxx
AT+CMGS="+7961xxxxxxx"
Guard ON. Phone +7961xxxxxxx
Sent! +7961xxxxxxx -> Guard ON. Phone +7961xxxxxxx
AT+CMGS="+7961xxxxxxx"
Guard ON
Sent! +7961xxxxxxx -> Guard ON

+CMT: "+7961xxxxxxx",,«17/04/27,21:32:06+18»
Info

SMS from: +7961xxxxxxx
----TEST----
1 LastEvent: Guard ON. Phone +7961xxxxxxx
2 SMSText: Info: PIR
3 SMSText: Info: PIR OFF.
4 LastEvent: Guard ON. Phone +7961xxxxxxx
5 SMSText: Info: PIR OFF. Guard ON. Phone +7961xxxxxxx
----TEST----
AT+CMGS="+7961xxxxxxx"
Info: PIR OFF. Guard ON. Phone +7961xxxxxxx
Sent! +7961xxxxxxx -> Info: PIR OFF. Guard ON. Phone +7961xxxxxxx
Ring from: +7961xxxxxxx
Guard OFF. Phone +7961xxxxxxx
AT+CMGS="+7961xxxxxxx"
Guard OFF. Phone +7961xxxxxxx
Sent! +7961xxxxxxx -> Guard OFF. Phone +7961xxxxxxx
AT+CMGS="+7961xxxxxxx"
Guard OFF. Phone +7961xxxxxxx
Sent! +7961xxxxxxx -> Guard OFF. Phone +7961xxxxxxx

+CMT: "+7961xxxxxxx",,«17/04/27,21:33:25+18»
Money

SMS from: +7961xxxxxxx
USSD query:
+CUSD: 0,«Vash balans 0.00 rub. Bonus: 0.00 rub. Besplatnyh sekund: 0. Dopolnitel'nye balansy: #106#»,15

OK

AT+CMGS="+7961xxxxxxx"
Vash balans 0.00 rub.
Sent! +7961xxxxxxx -> Vash balans 0.00 rub.

+CMT: "+7961xxxxxxx",,«17/04/27,21:33:55+18»
Info

SMS from: +7961xxxxxxx
----TEST----
1 LastEvent: Guard OFF. Phone +7961xxxxxxx
2 SMSText: Info: PIR
3 SMSText: Info: PIR OFF.
4 LastEvent: Guard OFF. Phone +7961xxxxxxx
5 SMSText: Info: PIR OFF. Guard OFF. Phone +7961xxxxxxx
----TEST----
AT+CMGS="+7961xxxxxxx"
Info: PIR OFF. Guard OFF. Phone +7961xxxxxxx
Sent! +7961xxxxxxx -> Info: PIR OFF. Guard OFF. Phone +7961xxxxxxx

+
avatar
0
  • kvolk
  • 26 апреля 2017, 09:45
За этой ревизией модема уже ранее были замечены «косяки».
+
avatar
0
пробовать прошить модем на R13.08 или не поможет?
+
avatar
0
  • kvolk
  • 26 апреля 2017, 10:09
Тут дело не в модеме, тут очищается переменная LastEvent:


  if ((val.indexOf( F ("info")) > -1)) {
//    delay(1000);//Для стабильной работы???
    String smstext =  F("Info: PIR ");
    Serial.println F("----TEST----");//1
    Serial.println(smstext);//2
    if (PIRGuard == 0) smstext = smstext +  F("OFF.");
    else smstext = smstext +  F("ON.");//3
    Serial.println(smstext);//4
    Serial.println(LastEvent);//5
    smstext = smstext +  F(" ") + LastEvent;
    Serial.println(smstext);//6
    Serial.println F("----TEST----");//7
//    delay(1000);
    if (SMSCommand == 1) sms(smstext, "+" + RingPhone, 1);
    if (ConsoleCommand == 1) Serial.println(smstext);
  }
+
avatar
0
  • kvolk
  • 25 апреля 2017, 20:58
GSM_2017_04_25-20-54.hex — Исправлен баг при котором команда ListConfig меняла значение последнего события. Теперь при вводе команд через косоль не отправляются ненужные смс сообщения. Возможно исправлен баг с командой Info. Оптимизация памяти. Занято: 66% SRAM, 94% Flash Memory.
+
avatar
0
Даже уже боюсь писать чтоб не сглазить. Прогнал систему по кругу 3 раза, в основном все в порядке но есть небольшой нюанс делал 2 запроса баланса и после прихода ответного смс сразу же срабатывал датчик движения, может конечно и совпадение. НО меня учили что в жизни совпадений не бывает, так что ждем утра там еще раз по кругу прогоню.
+
avatar
0
Да да еще 2 раза запросил оба раза после ответа сработал датчик движения буду смотреть может в железе дело

+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!
+
avatar
0
  • kvolk
  • 26 апреля 2017, 09:39
Аппаратная проблема, программно они никак не пересекаются.
+
avatar
0
Ок буду искать свои косяки.
+
avatar
0
И еще маленький вопрос если звонит незнакомый номер так должно быть или нет

Ring from: +79525000000
Ring from: +
RING

RING

+CIEV: «MESSAGE»,1

+CMT: "+79525000000",,«2017/04/26,06:32:13+05»
§ї§д§а§д §С§Т§а§Я§Ц§Я§д §б§н§д§С§Э§г§с §Ј§С§Ю §б§а§Щ§У§а§Я§Ъ§д§о

SMS from: +79525000000
+
avatar
0
  • kvolk
  • 26 апреля 2017, 09:42
Вот это звонок:

Ring from: +79525000000
Ring from: +
RING

RING
А это смс:
+CMT: "+79525000000",,«2017/04/26,06:32:13+05»
§ї§д§а§д §С§Т§а§Я§Ц§Я§д §б§н§д§С§Э§г§с §Ј§С§Ю §б§а§Щ§У§а§Я§Ъ§д§о
Это скорее всего пришла смс что «абонент снова в сети».
+
avatar
0
Возможно я в реальном времени смотрел в монитор порта и видел что появилось одновременно. Ну бог с ним с этим смс.
+
avatar
0
Здравствуйте Kvolk пошли 3 сутки вроде все работает. Больше глюков пока не было сижу на прошивке SM_2017_04_25-20-54.hex пока доволен как слон. Наблюдаю дальше. Не прощаюсь.
+
avatar
0
  • kvolk
  • 27 апреля 2017, 13:47
Спасибо! Это хорошо, но не будем останавливаться на достигнутом :))) Попробуйте эту прошивку gsm20170427134411.zip
+
avatar
0
  • Dizell
  • 27 апреля 2017, 19:25
Всем доброго здоровья! Парни, есть маленький вопрос. Кто может скинуть принципиалку на эту сигналку для построения схемы на отдельном контроллере мега328Р в дип корпусе. Просто валяется контроллер.Увидел печатку, но на контроллере поверхностного монтажа. Интересует обвес контроллера и будет ли на нем работать Hex прошивки.Спасибо.
+
avatar
0
  • kvolk
  • 27 апреля 2017, 21:16
Я не делал, может быть у кого нибудь найдётся.
+
avatar
0
  • Nikds
  • 28 апреля 2017, 13:51
Илья буду очень благодарен если скинеш код не в hex файле а в раширении .ino для ардуино среды.
+
avatar
0
  • kvolk
  • 28 апреля 2017, 23:34
Увы, исходник не дам :(
+
avatar
0
  • Nikds
  • 29 апреля 2017, 05:47
Хорошо. Подскажи как добовлять номера телефонов. Хоть часть этого кода.
+
avatar
0
Загружаем прошивку через XLoader, запускаем Arduino IDE, заходим в монитор порта. Находим в обзоре раздел «Команды управления для hex — прошивки», в конце списка есть консольные команды — их и используем. Так же номера телефонов можно добавить/изменить/удалить через смс-сообщения, смс-команды находятся в том же разделе обзора.
ЗЫ. Там же и примеры команд.

А теперь все команды можно и даже смс вводить через консоль, за что большое спасибо говорим уважаемому kvolk.
+
avatar
0
  • Nikds
  • 29 апреля 2017, 07:33
Павел спасибо. Но я имел виду другое. Я сам пишу код, но знаний пока не хватает. Вот и прошу помощи. Как кодом прописать добовление номеров телефонов, чтоб их можно было вносить с помощью смс. Готов внести свой вклад в ваш проект. Разробатываю и печатаю корпуса под сигнализации.Если это кому то нужно.
+
avatar
0
  • Maksym
  • 29 апреля 2017, 11:33
Хм. Есть же старая версия с открытым кодом. Качайте-разбирайтесь.
+
avatar
0
  • Nikds
  • 29 апреля 2017, 11:38
Старая версия не открывается.
+
avatar
0
переименуйте файл чтоб он начинался с буквы а не с цифры
+
avatar
0
  • Nikds
  • 29 апреля 2017, 11:52
Спасибо!!! Получилось.
+
avatar
0
  • kvolk
  • 29 апреля 2017, 14:24
Что значит не открывается? Хранение данных в ЕЕПРОМе организовано через структуры. Почитать тут:
arduino.ru/forum/programmirovanie/zapis-i-chtenie-eeprom#comment-184527
radioprog.ru/post/117
+
avatar
0
А что значит печатаю корпуса под сигналки. А можно поподробнее?
+
avatar
0
  • Nikds
  • 29 апреля 2017, 12:58
Делаю 3D модель в солед ворксе под конкретный размер сигнализации, учитывая все нюансы… место под акб… сама плата, потом распечатываю на 3D принторе. Сначала делал для себя, позже поступили заказы от друзей на сигналки для гаражей.
+
avatar
0
  • Nikds
  • 29 апреля 2017, 13:01
Парни я так и не нашол в открытой версии как прописать код для добовления номеров с помощью смс. Так только програмно можно вписать.Блин не ужели это такая секретная инфа.
+
avatar
0
  • kvolk
  • 29 апреля 2017, 14:28
Парни я так и не нашол в открытой версии как прописать код для добовления номеров с помощью смс.
Там этого нет.
Блин не ужели это такая секретная инфа.
Пока не планирую выкладывать это открытый доступ.
+
avatar
0
Здравствуйте. Опять стали приходить пустые смс по запросу Info ничего не понимаю 4-ро суток простояло все ок было. Сижу на SM_2017_04_25-20-54 а что нового в прошивке
gsm20170427134411.zip я конечно попробую но хотелось бы знать чего ожидать от неё.
+
avatar
0
  • kvolk
  • 30 апреля 2017, 07:47
Никаких серьёзный изменений, только оптимизация кода. Если в последних версиях иногда значение переменной обнулялось, то на прошивке gsm20170427134411.zip этого уже не случалось.
+
avatar
0
А еще маленький вопрос программа может как то сама сбиваться Т.К. после перезагрузки контроллера все начинает работать как надо я про запрос инфо. Или такого быть не может.
+
avatar
0
  • kvolk
  • 30 апреля 2017, 07:46
Это исключено. Такое может быть из-за нехватки оперативной памяти, но её там достаточно, сейчас попробую высвободить ещё и выложу прошивку.
+
avatar
0
Заметил не совсем корректную работу функции DelayBeforeGuard: 10. Дверь закрыта (геркон замкнут), сигналка не на охране. Ставлю на охрану, открываю дверь (размыкаю геркон), выхожу, закрываю дверь (замыкаю геркон) по истечении 10 секунд сигналка встает на охрану и включает тревогу.
+
avatar
0
  • kvolk
  • 30 апреля 2017, 08:51
Спасибо, проверю.
+
avatar
0
  • kvolk
  • 30 апреля 2017, 12:08
Тревожный пин или смс шлёт и звонит?
+
avatar
0
  • kvolk
  • 30 апреля 2017, 12:19
В коде эти две функции (постановка на охрану и включение тревожного пина) абсолютно не пересекаются, проверяйте конфигурацию вашего устройства, у вас срабатывает датчик, на моём устройстве эта проблема не наблюдается. Или вы просто не успеваете открыть дверь до истечения этих 10 секунд, сигналка ставится на охрану, вы открываете дверь и срабатывает датчик.
+
avatar
0
Вот моя конфигурация
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 работает в том случае если перед постановкой на охрану геркон разомкнут
+
avatar
0
  • kvolk
  • 01 мая 2017, 11:14
Дело в этом
DelayBeforeAlarm: 10
починю в ближайшее время
+
avatar
0
  • kvolk
  • 06 мая 2017, 11:59
Готово, спасибо за найденную ошибку.
GSM_2017_05_06-11-52.hex
+
avatar
0
  • kvolk
  • 30 апреля 2017, 13:04
GSM_2017_04_30-12-57.hex — Временно включён вывод дополнительной информации в консоль при отправке смс сообщений и формировании ответа на команду Info. Возможно исправлен баг с командой Info. Оптимизация памяти. Занято: 66% SRAM, 92% Flash Memory.
+
avatar
0
ок обновляюсь.!!!
+
avatar
0
  • kvolk
  • 03 мая 2017, 11:41
Как там info, шлёт пустые смс?
+
avatar
0
Я у себя проверял — не шлет, игрался на праздники
Но вот плату расширения портов прикрутить так и не смог.
Прописываю EditSensor:1+Datchik1#h
Перегружаю ардуину, подаю на вывод Р0 + питания и ничего.
Прописываю EditSensor:2+Datchik2
Подаю на порт Р1 землю и снова ничего.
В консоль ничего не пишет, i2cscan говорит по какому адресу находится устройство, сигнализация стоит под охраной когда проверяю.
+
avatar
0
  • kvolk
  • 03 мая 2017, 12:53
На этой неделе постараюсь починить. А на более ранних прошивках работает? Например на этой GSM_2017_01_03-22-51.hex
+
avatar
0
Ctгодня вечером проверю на этой, проверял на прошивке от 12.03 и той что перед ею, ну и на GSM_2017_04_30-12-57.hex
+
avatar
0
Ни на GSM_2017_01_03-22-51.hex ни на следующей не заработало. Может быть проблема в том, что микросхема в расширителе портов называется pcf8574at?
И еще: я командой EditSensor выставил половину портов срабатывать от низкого уровня, а вторую половину от высокого. На порты подавал землю и +питания при поставленой под охрану сигнализацией — результат нулевой. На всех пинах расширителя портов присутствует напряжение ~+4,4В (как и напряжение питания).
Была мысль что недостаточно напряжение, откинул модем и поднял до 5В, ничего не изменилось.
Я не совсем понимаю как работает этот расширитель портов, и как сигнализация ищет датчики в вашей реализации, возможно поэтому я просто туплю в какой-то мелочи?
+
avatar
0
  • kvolk
  • 05 мая 2017, 10:35
Может быть проблема в том, что микросхема в расширителе портов называется pcf8574at?
Нет.
Была мысль что недостаточно напряжение, откинул модем и поднял до 5В, ничего не изменилось.
Не надо :)
Я не совсем понимаю как работает этот расширитель портов...
Если найдено устройство по адресу от 0x20 до 0x27 то устройство считается расширителем портов и в работу берётся устройство с максимальным адресом (если вдруг подключили несколько расширителей), после чего читается из памяти запрограммированное состояние датчиков и постоянно сверяется с текущим, если какой-то из пинов расширителя находится «не в том» состоянии, срабатывает тревога.

ЗЫ На выходных проверю.
+
avatar
0
Все понятно, у меня адрес 0x3f, и второй расширитель тоже был с адресом начинающимся на 0x3 (может 0x38, точно не помню, и к тому же случайно его сжег)
+
avatar
0
  • kvolk
  • 05 мая 2017, 11:18
Дайте ссылку на эти платы, попробую добавить их в работу.
+
avatar
0
  • kvolk
  • 05 мая 2017, 13:49
А когда сжег, то игрался с этими aliexpress.com/item/1pcs-Serial-Board-Module-Port-IIC-I2C-TWI-SPI-Interface-Module-for-Arduino-1602-LCD-Display/32262710755.html
Именно последняя выдавала адрес 0x3f
Это модуль для дисплея, а не расширитель портов.
Используйте устройства по назначению.
Как удалось сжечь первый модуль? Он то как раз должен работать «из коробки».
+
avatar
0
На первый модуль случайно подал 12В питания, сжег модуль и ардуину. А этот дисплейный расширитель портов работает так же хорошо как и тот первый, но стоит дешевле. Правда одна из ног не используется и выводы прозванивать приходится. Уже подумываю над тем чтоб перепаять микросхему на нерабочую плату и получить все 8 выводов.
Сжег его уже после нескольких неудачных попыток. Он так же имел адрес больше чем 0x27
+
avatar
0
По расширителям портов: из даташита микросхема pcf8574 имеет адреса с 0x20 по 0x27, а микросхема pcf8574a имеет адресацию с 0x38 по 0x3f. Модули которые есть у меня как раз имеют индекс a
+
avatar
0
  • kvolk
  • 09 мая 2017, 10:06
Попробуйте прошивку pcf-extended.hex, в ней расширенный диапазон «пцфок».
+
avatar
0
спасибо огромное, все работает
у меня кстати на последней прошивке (не сегодняшней) от 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 такого не было.

И еще одно победить ложные сработки датчика движения удалось заменой провода на экранированый. Экран с обеих сторон посадил на землю
+
avatar
0
  • kvolk
  • 10 мая 2017, 09:58
С командой инфо всё очень странно.
+
avatar
0
К сожалению да. Где то 50×50
+
avatar
0
  • kvolk
  • 03 мая 2017, 14:58
Что в консоль выводится при отправке пустой смс?
+
avatar
0
Здравствуйте. Ответить на ваш вопрос не могу стоит в корпусе и подлезть мини юзб не может. Попозже разберу и посмотрю. Но заметил одну тенденцию если команда инфо сбилась помогает только сброс контроллера и ни как иначе. Что то происходит внутри программы сопровождающий сбой
команды. Зато моней работает на ура.
+
avatar
0
  • kvolk
  • 06 мая 2017, 11:57
GSM_2017_05_06-11-52.hex — Исправлен баг с функцией DelayBeforeAlarm. Занято: 66% SRAM, 93% Flash Memory.
+
avatar
+1
Можно изменить алгоритм работы датчика движения? Например, сработал датчик идет отсчет 1-2 сек., сработал 2-й раз включается тревога если повторно не сработал сигналка тревогу не включает. Будет меньше ложных срабатываний.
+
avatar
0
  • kvolk
  • 13 мая 2017, 22:05
На данном этапе это не просто реализовать. Но в «закладки» добавлю.
+
avatar
+1
Еще одно предложение! Переделать функцию SmsOff /On. Вместо этого добавить в AddPhone:1+71234567891 параметр s- отправлять смс на номер с этим параметром и параметр r- звонить на номер.
По умолчанию сигналка звонит всегда на 1-й номер, а если ей задать параметр r, чтобы после того как она отзвонилась на 1й номер в списке (неважно был ответ или нет) начинала звонить на следующий номер с параметром r
+
avatar
0
  • kvolk
  • 13 мая 2017, 22:10
Сейчас сигналка работает так:
1) Сработал датчик
2) Отправляет смс по всем номерам
3) Звонит на первый номер в фоновом режиме до тех пор пока не отобьёт абонент или «опсос».
4) Продолжает своё функционирование.

Как вариант добавить обзвон по таймауту, например 30 сек на первый номер, потом 30 сек на второй, и так далее и похеру всё равно ответят там или нет, увидят ли звонок…
+
avatar
0
Как вариант добавить обзвон по таймауту, например 30 сек на первый номер, потом 30 сек на второй, и так далее и похеру всё равно ответят там или нет, увидят ли звонок…
Нормальное решение. Дозвонилась/ не дозвонилась, 30 секунд ждет ответа и переходит к следующему номеру. Только желательно с параметром, чтобы не всем подряд звонила. И смс тоже с параметром, чтобы тоже не всем подряд слало, а то деньги жрет в таком режиме хорошо.
+
avatar
0
  • kvolk
  • 14 мая 2017, 15:49
Попробую.
+
avatar
0
  • kvolk
  • 18 мая 2017, 21:25
В общем, попробую сделать так:
команда AddPhone будет иметь параметры:
AddPhone:2+71234567891srp
s — sms уведомление (sms)
r — уведомление голосовым вызовом (ring)
p — уведомлять об отключении питания (power)

Если ещё есть идеи, пишите, лучше заранее продумать логику работы.
+
avatar
0
  • Maksym
  • 18 мая 2017, 23:35
Хорошая идея. Еще все же вопрос по дозвону. Дело в том что если на даче сработает сигналка ночью (что логично, днем вряд ли кто полезет) — то за 30 секунд звонка я могу и не проснуться. Как насчет звонить пока не будет отбой кнопкой на телефоне, а не оператором? Или это нельзя различить?
+
avatar
0
  • kvolk
  • 19 мая 2017, 09:42
30 секунд ждет ответа и переходит к следующему номеру.
и
Как насчет звонить пока не будет отбой кнопкой на телефоне
Логически несовместимо.
а не оператором? Или это нельзя различить?
В любом случае оператор отобьёт вызов.
Как вариант ввести параметр "RingTime" со значением от 10 и до 255 секунд, влияющий на продолжительность вызова, то есть:
1) Набираем первый номер с признаком r
2) Ожидаем RingTime секунд
3) Отбиваем вызов
4) Набираем второй номер с признаком r

...
+
avatar
0
Поддерживаю это решение! На главный номер будет приходить все смс? На него же параметр нельзя будет поставить? Он будет рулится командой SMSON/OFF
+
avatar
0
  • kvolk
  • 19 мая 2017, 10:09
На него же параметр нельзя будет поставить? Он будет рулится командой SMSON/OFF
Это я не учёл. Нет, это не совсем удачное решение, придётся вводить команду EditPhone которая будет менять атрибуты всех номеров.
+
avatar
0
  • Maksym
  • 19 мая 2017, 14:18
Да, решение с продолжительностью звонка очень хорошее.
+
avatar
+1
  • kvolk
  • 15 мая 2017, 13:54
У Вас всё нормально работает? А то ниже жалобы появились…
+
avatar
0
Когда монитор порта открыт запрос на info приходит нормально. Если система в автономном режиме то на запрос info через время будешь получать пустые сообщения. Такое чувство, что память забивается. Я думаю что через монитор порта этот глюк не выловить. Подключение к терминалу перезагружает устройство и оно тогда работает как часы
+
avatar
0
  • kvolk
  • 16 мая 2017, 09:19
У меня аптаймы по 2-3 недели, не могу такую ситуацию отловить. Сейчас проверил инфо вернула всё как и должна. Сигналка работает с 30 (25) апреля.
+
avatar
0
Надеюсь у Вас получится реализовать функцию выборочной отправки смс, а то не очень комфортно когда сразу на все номера приходит сообщение о пропадании появлении сети. И о сработке/постановке на охрану. А то поставил на охрану пару раз, пару раз отключили электричество и все деньги со счета улетели ))))
+
avatar
0
У меня аптаймы по 2-3 недели, не могу такую ситуацию отловить. Сейчас проверил инфо вернула всё как и должна. Сигналка работает с 30 (25) апреля.
Пока не подключал монитор, приходили пустые, подключил сразу начало приходить нормально
+
avatar
0
  • kvolk
  • 16 мая 2017, 14:22
Покажите вывод команд ListConfig и ListPhone (номера можете частично стереть).
+
avatar
0
listconfig
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
+
avatar
0
  • kvolk
  • 17 мая 2017, 15:55
Ок, настрою так же, протестирую.
+
avatar
0
  • kvolk
  • 16 мая 2017, 14:21
получится реализовать функцию выборочной отправки смс
Очень многое придётся «перепилить», скорой реализации не обещаю.
+
avatar
0
А ни у кого нет проблемы с arduino pro mini 328 + m590e на последней прошивке: смс и звонки модем принимает, и судя по светодиодам ставит на охрану и снимает, а смской не отвечает, так же как и на команду info, money. Вообщем от модема не приходят смс вообще. Откатится на более старую прошивку и проверить возможности пока нет.
PS: При тревоге модем не звонит на телефон.
+
avatar
0
  • kvolk
  • 14 мая 2017, 18:28
В прошивке не было столь существенных изменений, чтобы перестало работать всё. Проверьте настройки модема.
+
avatar
0
Да вроде все проверил, и FullReset и ResetConfig делал. Не помогает ничего
+
avatar
0
то же самое происходит и с arduino nano v3 + sim800l. выставил модему принудительно скорость 9600 и было уже начал радоваться, что все хорошо и даже info начала работать, но через некоторое время…
+
avatar
0
Снял, сегодня тоже поковыряюсь. Поставлю ардуину нано и модему скорость попробую сменить. Если толку не будет буду пробавать на старух прошивках как работает
+
avatar
0
  • kvolk
  • 15 мая 2017, 13:52
Включайте тестовый режим командой TestOn и смотрите в консоль. На моих, уже трёх, устройствах всё отлично. Сегодня вечером ещё раз всё перепроверю.
ЗЫ Проверяйте модемы и цепи питания модемов.
+
avatar
0
  • Maksym
  • 15 мая 2017, 14:17
Да-да. У меня тоже что-то не работало пока конденсаторами по 1000 мкФ не обвешал что модем что плату Ардуины.
+
avatar
0
Извиняюсь, все перепрошил, перенастроил, все перепаял. Толку нет, пока не дошло проверить баланс… Теперь все работает.
+
avatar
0
  • kvolk
  • 15 мая 2017, 15:04
Так в чём причина-то, в отсутствии денег на счёте? :)
+
avatar
0
Именно :)))
+
avatar
0
  • kvolk
  • 15 мая 2017, 17:32
Может быть тоже проблема с балансом на счёте? :)
+
avatar
0
сразу об этом подумал и проверил прежде чем писать. на днях заменю ардуину — отпишусь.
+
avatar
0
Парни, сильно не пинайте.
С ардуино начинаю только знакомиться. До этого потихоньку научился программировать микроконтроллеры 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ХХХХХХХ; то звонит.
Помогите, пожалуйста разобраться.
+
avatar
0
Забыл написать. Прошивку загружал от 06.05.2017г
+
avatar
0
  • kvolk
  • 16 мая 2017, 22:12
Так вот, перечитал несколько раз комментарии и так и не понял, как добавить свой главный и второстепенные телефоны?
Главным становится тот номер, который первый позвонит на устройство.
По порядку:
1) ResetPhone или FullReset
2) Звоним на устройство — добавляется главный номер
3) Добавляем остальные номера через команду AddPhone.
+
avatar
0
kvolk, спасибо за ответ.
Я делал так. С программы Arduino посылал команды ResetPhone или FullReset. Далее звонил на сим карту, вставленную в М590Е. Вызов идёт. Пробовал, через программу Ардуино, через команду AddPhone добавлять остальные номера. Ничего не происходит.
Команды ResetPhone или FullReset и AddPhone я правильно шлю из программы Ардуино. Т.е. открываю программу, далее «Инструменты», далее «Монитор порта» и вот, что у меня в итоге (см. скриншот, правда сейчас без подключенного М590е). Если нужно, вечером подключу и выложу другой скриншот.
И ещё вопрос. Я свой модуль М590Е подключал напрямую к портам Ардуино. Теперь вот думаю, что возможно, нужно было подключать через резисторы или преобразователь логического уровня (теперь заказал в Китае).
+
avatar
0
  • kvolk
  • 17 мая 2017, 15:58
Я свой модуль М590Е подключал напрямую к портам Ардуино.
Это нормально.
теперь заказал в Китае
Зачем?
Если нужно, вечером подключу и выложу другой скриншот.
Подключите, выполните команду teston и смотрите в консоль, там будет больше информации для отладки.

ЗЫ
Подключите usb-uart к модему и посмотрите что в консоли, при пайке соплей не навешали на модеме? В конце концов паяльник с заземлением? А то я как — то паял светодиоды, жалом касаюсь платы — они загораются, так и сжег всю сборку.
+
avatar
0
Может уже есть такие, кто делают такие GSM сигнализации на заказ за приемлемую цену???
+
avatar
0
Паяльник у меня без заземления. Иногда, когда паяю светодиоды, то загораются. Но на днях припаивал Attiny13A в корпусе SOIC8, после этого прошил программатором и всё работает.
Только что подключил М590 к usb-uart. Карту СИМ не вставлял, т.к. она стоит в другом телефоне, а его сейчас нет под рукой. Вот выкладываю скриншот работы М590Е от нескольких команд. Мне кажется, если бы модуль был не рабочий, то команды бы не проходили. При вставленной СИМ карте, модуль регистрируется и на него можно позвонить.
+
avatar
0
Вот скриншот
+
avatar
0
  • kvolk
  • 18 мая 2017, 13:39
Модем рабочий, подключайте его к ардуине и всё должно работать. Не могу понять что не работает, как номера добавлять? — описал выше. Соберите, выполните команду MemTest, после чего заново настройте устройство.
+
avatar
0
Насколько я понял сделать так: собрать по схеме, вставить сим карту (она должна быть чистая или тел. можно оставить?), через монитор порта программы Ардуино выполнить команду MemTest. Далее отправить команду ResetPhone через монитор порта, далее звоним на сим карту и должен добавится главный телефон (куда он добавляется на сим карту или он прописывается в Atmegа328 в ардуину), далее командой AddPhone через монитор порта добавляем остальные телефоны.
Извините, что так подробно. Просто сам не пойму, что могло случиться с работавшим модулем, после соединения с ардуино.
+
avatar
0
  • kvolk
  • 18 мая 2017, 15:12
собрать по схеме
вставить сим карту, она должна быть чистая...?
Не важно, можно грязную. Все настройки хранятся в энергонезависимой памяти ардуины.
через монитор порта программы Ардуино выполнить команду MemTest
угу, и посмотреть результат проверки памяти.

Перезагрузить устройство, после чего оно будет сброшено на заводские настройки.
Позвонить на устройство с того номера который должен стать главным.
После этого добавлять дополнительные номера через команду AddPhone.
+
avatar
0
Уважаемый, kvolk!
Огромнейшее Вам Человеческое Спасибо за помощь в настройке.
Всё получилось. Прошивку залил pcf-extendet.
Модем звонит и принимает СМС.
Теперь, есть ещё пару вопросиков.
1. Перечитал форум. Данную функцию то просили добавить, то просьбу снимали. Я так понял, что командой SmsOff, можно только выключить sms-уведомление при срабатывании датчика. А нельзя ли добавить команду, которая бы при постановке или снятии с охраны не отсылала бы СМС. Позвонил на сигналку-стала на охрану, позвонил ещё раз-снялась с охраны. И всё это без СМС.
2. Сегодня подключил на пин А1 резистор 10кОм+конденсатор 0,1мкФ (для исключения дребезга) и кнопку, что бы ставить-снимать сигналку с охраны. Но реакции никакой. Смотрел через монитор порта. Ничего не меняется. Возможно, не на тот порт я подключил?
3. Можно ли подключать кабель с USB компьютера к USB Ардуины, если на пин VIN и GND подано внешнее питание 5В? Не будет ли К.З. и не сгорит ли USB компьютера?
+
avatar
0
  • kvolk
  • 20 мая 2017, 12:20
командой SmsOff, можно только выключить sms-уведомление при срабатывании датчика.
Нет, эта команда глобально отключает отправку всех смс кроме ответа на Info, Money и мониторинг сети питания, у которого есть свой выключатель оповещения.
А нельзя ли добавить команду, которая бы при постановке или снятии с охраны не отсылала бы СМС. Позвонил на сигналку-стала на охрану, позвонил ещё раз-снялась с охраны. И всё это без СМС.
Она есть, это команда SmsOff.

Сегодня подключил на пин А1 резистор 10кОм+конденсатор 0,1мкФ
Где в обзоре написано про конденсатор, цитата ниже из обзора:
Реализована функция постановки на охрану и снятия с охраны внешними устройствами, для этого используются выводы A1(D15) и A2(D16). Сигнализация ставит/снимает охрану при появлении на выводе A1(D15) высокого уровня +5В или на выводе A2(D16) низкого уровня GND. Вывод A1(D15) подтягивается к GND, вывод A2(D16) подтягивается к +5V через резисторы 20 (10) кОм.
Команда GuardButtonOn заменена командами GuardButtonOn1 и GuardButtonOn2.
Описание этих команд в обзоре.
Можно ли подключать кабель с USB компьютера к USB Ардуины,
Можно. Но модему с выпаянным диодом может не понравиться напряжение 5В с порта ЮСБ, поэтому я пользуюсь кабелем микроюсб с перерезанным красным проводом, то есть питание с порта на устройство не приходит.
Не будет ли К.З. и не сгорит ли USB компьютера?
Если на плате нет КЗ, то его и не будет. Не сгорит :)
+
avatar
0
Вывод A1(D15) подтягивается к GND, вывод A2(D16) подтягивается к +5V через резисторы 20 (10) кОм.
Посмотрите, пожалуйста, правильно нарисовал?
+
avatar
0
Что то не прикрепилось.
Вот:
+
avatar
+1
  • kvolk
  • 20 мая 2017, 13:39
Нет.
+
avatar
0
Понял, спасибо!
+
avatar
0
Извините, kvolk, ещё пару вопросов.
1.Возможно ли и какой командой увеличить задержку отправки СМС при пропадании и включении питания.
2.Можно ли при постановке и снятии с охраны на тревожных выходах D4 и D5 организовать короткий импульс, продолжительностью, например 1сек. Если к одному из этих выводов будет подключена сирена, то раздастся небольшой «пик».
+
avatar
0
Ещё вопрос касательно GSM модулей.
На Ваш взгляд, какой лучше заказать модуль из Китая: SIM800L или А6?
Понимаю, что для SIM800L, нужно питание 3,8-4,2В, а для А6-5В. Что стабильнее в работе?
+
avatar
0
  • kvolk
  • 20 мая 2017, 21:59
Я бы предпочёл 800-й, ничего не надо переделывать.
+
avatar
0
  • kvolk
  • 20 мая 2017, 21:58
1.Возможно ли и какой командой увеличить задержку отправки СМС при пропадании и включении питания.
Для чего? Какой смысл в этом?
2.Можно ли при постановке и снятии с охраны на тревожных выходах D4 и D5 организовать короткий импульс, продолжительностью, например 1сек. Если к одному из этих выводов будет подключена сирена...
А если не сирена? Теоретически можно, но на практике не все используют эти пины для управления только лишь сиреной.
+
avatar
0
Для чего? Какой смысл в этом?
Сейчас, согласно Вашей программе, при пропадании или включении электричества, СМС отсылается практически через 1-2 сек.
А если, как писали выше на форуме, электрики решили «поиграться» с напряжением?
Как решение проблемы читал, что форумчане ставят дополнительный конденсатор.
А как в Вашем регионе обстоят дела с электроснабжением?
+
avatar
0
  • kvolk
  • 20 мая 2017, 22:20
СМС отсылается практически через 1-2 сек.
Угу.
А если как писали выше на форуме, электрики решили «поиграться»?
Ок, можно сделать так:
Отключили нам свет, ждём определённое количество минут, и если питание не восстановилось отправляем смс.

И снова вопрос, время оставлять фиксированное или вводить параметр WatchPowerTime в минутах, от 0 до, например, 255?
+
avatar
0
Наверно WatchPowerTime будет правильное решение. Одному 1 минуты достаточно другому час. 255 это уже перебор )))). А вообще по умолчанию 1-2 мин достаточно будет. Какой смысл больше? Тогда смысл контроля сетевого напряжения какой то сомнительный.
ПЫ.СЫ Info как назло работает )))
+
avatar
0
Да, я тоже поддерживаю dmitriynet, насчёт команды WatchPowerTime. Но, мне бы хотелось, чтобы можно было время задержки выбирать от 0 до 255 минут. А уже каждый из пользователей, пускай сам выбирает, сколько кому нужно и изменят это значение командой WatchPowerTime.
+
avatar
0
  • kvolk
  • 21 мая 2017, 10:00
255 это уже перебор
в одну ячейку памяти могу писать значение от 0 до 255, поэтому не вижу смысла искусственно ограничивать это значение, например, до 30 или 60.
Info как назло работает )))
у меня тоже :)
+
avatar
0
  • Z2K
  • 11 июня 2017, 02:26
Часто перед проникновением пытаются при возможности отключить внешнее електропитание. А многие длительное время не проверяют работу в аварийке — а в этом режиме сигнализация может и не сработать, Особенно если включится сирена и просадит напряжение. И вообще для более -менее мощной сирены желательно отдельное питание. Сирена может и не сработать, важнее чтоб сигналка жила.
+
avatar
0
  • Maksym
  • 11 июня 2017, 12:10
Ну во-первых у сигналки есть резервное питание. И довольно длительное.
Сирену логично запитать от отдельного источника питания — тем более что она в большинстве случаев 12-вольтовая, а включается с помощью реле, которое может коммутировать хоть 220 В. У меня вот есть пожарная сирена, на 12 В, я к ней прикрутил в 2008 году 2 последовательных КРОН-ы. Так она до сих пор от них воет что уши закладывает.
+
avatar
0
  • Z2K
  • 18 июня 2017, 14:56
у сигналки есть резервное питание
— писал о том, что периодически надо проверять работу системы в этом режиме.
+
avatar
0
  • kvolk
  • 23 мая 2017, 21:54
1.Возможно ли и какой командой увеличить задержку отправки СМС при пропадании и включении питания.
Готово, обновитесь.
2.Можно ли при постановке и снятии с охраны на тревожных выходах D4 и D5 организовать короткий импульс, продолжительностью, например 1сек.
Нет.
+
avatar
0
  • kvolk
  • 23 мая 2017, 21:43
GSM_2017_05_23-21-27.hex — Незначительно изменён вывод информации в консоль. Добавлена поддержка модулей расширения портов на PCF8574A c адресами от 0x38 до 0x3f включительно. Исправлен баг c AlarmPinTime. Теперь устройство перезагружается автоматически после команд FullReset, ResetConfig, ResetPhone и в случае успешного выполнения команды MemTest. Добавлена команда WatchPowerTime. Теперь возможно установить время, по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Занято: 67% SRAM, 94% Flash Memory.
+
avatar
0
В общем, попробую сделать так:
команда AddPhone будет иметь параметры:
AddPhone:2+71234567891srp
s — sms уведомление (sms)
r — уведомление голосовым вызовом (ring)
p — уведомлять об отключении питания (power)
В этой прошивке этого еще нет?
+
avatar
0
  • kvolk
  • 23 мая 2017, 22:25
Нет, это займёт не мало времени, значительно переделывать логику работы устройства придётся, и не понятно хватит ли на это памяти. Но если учесть что часть освободится, то возможно получится.
+
avatar
0
Спасибо, kvolk. Попробовал командой WatchPowerTime поставить время 5 мин. Работает!!!
+
avatar
0
  • kvolk
  • 25 мая 2017, 09:56
Отлично. Если есть ещё какие идеи — пишите.
+
avatar
0
Нашёл в интернете схему контроллера ключей IBbutton. Её как раз можно приделать к этой сигнализации для включения/отключения при отсутствии телефона.
Вопрос к kvolk, как к создателю этой сигнализации. Не будете ли Вы против, если я приведу схему (или нужно дать ссылку на источник)?
Если будете не против, то у меня есть небольшой вопросик по этой схемке.
+
avatar
0
  • kvolk
  • 25 мая 2017, 13:19
Я не против, но в таком случае лучше использовать бесконтактный (RFID), и считыватель прятать, например, в стену.
+
avatar
0
Спасибо!
Тогда вот схема:
Вопрос по согласованию выходного транзистора Т2 с этой сигнализацией.
У меня сейчас на макетке, стоит резистор 20к между A1 и GND. Кратковременно подавая +5в на А1 включаем/отключаем сигнализацию.
Сейчас с утра развожу печатную плату под этот проект и уже мозги закипают.
Если я правильно мыслю, то резистор нудно подключить между А2 и +5в. Коллектор Т2, подключить к А2. Когда он откроется, то А2 притянется к GND. Правильно?
+
avatar
0
  • kvolk
  • 25 мая 2017, 13:58
Бросайте эту затею, удар шокером в считыватель сожжёт всё.
+
avatar
0
Ну, по входу считывателя можно поставить варистор. Сам считыватель планирую поставить вообще с глаз долой. Этот выключатель, скорее страховочный.
+
avatar
0
  • kvolk
  • 25 мая 2017, 14:27
можно поставить варистор.
Сдохнет быстрее чем он откроется.
+
avatar
0
  • kvolk
  • 25 мая 2017, 14:26
Коллектор Т2, подключить к А2.
Коллектор всегда притянут к земле, на ноге A2 всегда висит + 5В, КЗ? Да, именно так.
+
avatar
0
Спасибо большое за помощь! Одна голова хорошо, а две…
С Вашего позволения, выложу для общего обозрения схему источника резервного питания от АКБ 12В. Может кому пригодится. Схема 100% рабочая. Собирал её пару лет назад. Всё корректно работает с моей сигналкой на PIC16F628A и датчиками движения на 12В. Есть и печатная плата.
+
avatar
0
можно увидеть Вашу печатку под зарядное? И если можно схему в архив в нормальном размере, а то тут уж больно мелко
+
avatar
0
Собираюсь делать резерв по этой схеме
+
avatar
0
+
avatar
0
можно увидеть Вашу печатку под зарядное? И схему внормальном размере. Спасибо
+
avatar
0
  • kvolk
  • 26 мая 2017, 11:02
Код готов, вечером проверю на железе и если всё хорошо выложу прошивку, скорее всего это будет финальная:
Скетч использует 30508 байт (99%) памяти устройства. Всего доступно 30720 байт.
+
avatar
0
Пришёл GSM модуль A6 mini.
Не могу включить его. Нет никакой реакции на команды через программу Terminal. Включал по прилагаемой схеме. Может ещё нужно что-то подключить?
+
avatar
0
  • kvolk
  • 25 мая 2017, 23:33
Нет никакой реакции на команды через программу Terminal
Подключите GND, +5V, RX и TX через USB-Uart и посмотрите что выводится в COM-порт.
+
avatar
0
Уважаемый kvolk!
Вчера, по Вашему совету, решил почитать и посмотреть видео по считывателям RFID.
Модуль по проще это RDM6300 на 125кГц.
Отсюда вопрос, а нельзя ли как то добавить его поддержку в Ваш проект?
Понимаю, что память у Ардуины не резиновая. Просто я в программировании совсем не очень. Но если возможно…
+
avatar
0
  • kvolk
  • 26 мая 2017, 10:25
а нельзя ли как то добавить его поддержку
Нет, на текущий момент осталось менее 2% свободной памяти, а нужно ещё сделать команду редактирования телефонных номеров.
Вы можете взять Arduino Pro Mini 168, прикрутить к ней считыватель RFID, радиобрелки, другие «свистелки-перделки» и уже этой сборкой управлять основным устройством.
+
avatar
0
  • kvolk
  • 26 мая 2017, 11:07
ЗЫ Создавайте новые комментарии или отвечайте в своих, не стоит ломать чужие посты.
ЗЫЫ Внизу есть строка «комментировать» тыкаете в неё и создаёте свой новый комментарий.
+
avatar
0
Так я тоже подключал: +5в., землю, RX, TX. Ничего нет вообще.
Пробовал подключаться к HTX, HRX. Там выводятся по два-три (типа «пщ», «нщо») знака в ответ на «АТ».
Создал спор на Али, вроде согласились вернуть деньги.
+
avatar
0
  • kvolk
  • 26 мая 2017, 20:21
Какая скорость порта?
+
avatar
0
По умолчанию идёт 115200. Потом и 9600 пробовал, и другие. И пробовал «долбить» командой АТ по нескольку раз (как где-то прочитал), вроде как модуль адаптируется под нужную скорость.
+
avatar
0
  • kvolk
  • 26 мая 2017, 20:30
Модуль USB-UART на 5v или на 3,3?
+
avatar
0
На 3.3
+
avatar
0
  • kvolk
  • 26 мая 2017, 20:36
Попробуйте на 5.
+
avatar
0
И на 5в. пробовал. И в программе Terminal и в Ардуино IDE.
И ток потребления около 0 после включения.
+
avatar
0
  • kvolk
  • 26 мая 2017, 21:03
Видимо модуль «приказал долго жить», открывайте диспут. с А6 и Сим800л таких кренделей быть не должно.
+
avatar
0
  • kvolk
  • 26 мая 2017, 20:35
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.
Скорее всего прошивка финальная.
+
avatar
0
  • kvolk
  • 26 мая 2017, 20:38
После обновления обязательно выполнить MemTest или FullReset. Все настройки будут удалены!
+
avatar
0
  • kvolk
  • 26 мая 2017, 21:47
ЗЫ После этого обновления считаю устройство законченным, дополнительный обвес (считыватели) можно подключать через вторую ардуину (тиньку), что расширит функционал. Практически все предложения реализованы. В дальнейшем на ардуине будут только исправляться выявленные ошибки и производиться мелкие улучшения.
Спасибо всем за помощь в тестировании!
+
avatar
0
Как теперь ведет себя команда SMSOFF/On. может ее вообще теперь выкинуть?
А то получается параметр s стоит и smsof, или оставить его как глобальный параметр выключения вообще всех смс (тогда надо описание команды в шапке поменять), а то народ запутается…
+
avatar
0
  • kvolk
  • 27 мая 2017, 10:05
может ее вообще теперь выкинуть?
Да, скорее всего.
+
avatar
0
  • kvolk
  • 27 мая 2017, 10:02
В прошивке криво работает команда AddPhone или ListPhone, в ближайшее время исправлю. Номера добавляются, но криво выводятся в консоль до перезагрузки устройства.
+
avatar
0
Доброго всем вечера! Сегодня обновился прошивкой GSM_2017_05_26-20-22.hex.В процессе тестирования очень разочаровала команда RingTime время вызова стало короче. Речь велась о не длительность тревожного вызова а выборе 1-2-3 тревожных вызовах.Огромная просьба kvolk поработайте еще своей светлой головой и тогда на этом проекте можно будет поставить БОЛЬШУЮ точку.
Заранее благодарен.
+
avatar
0
  • kvolk
  • 29 мая 2017, 09:45
Речь велась о не длительность тревожного вызова а выборе 1-2-3 тревожных вызовах.
А почему сразу не 10 или 15 вызовов? С большой долей вероятности вы не услышите последующих вызовов, если пропустили первый. В конце концов всегда в телефоне можно увидеть пропущенные вызовы и принимать какие-то действия.
… ну допустим я на работе в ночную где плохо слышно телефон или ночью телефон на вибро я отлучился по маленькому.
Могу предложить носить телефон с собой.
разочаровала команда RingTime время вызова стало короче.
Пробовали менять значение этого параметра? Например 255 секунд, это уже больше 4 минут. По личному опыту: оператор отбивает вызов уже примерно через минуту — полторы, чтобы не нагружать сеть.
Огромная просьба
Это довольно проблематично, можно попробовать убрать ограничение на ввод одинаковых номеров, тогда можно будет добавить один и тот-же номер только с параметром «r», и в случае срабатывания датчика сигнализация будет несколько раз подряд звонить на тревожный (один и тот же) номер.
+
avatar
0
  • Maksym
  • 29 мая 2017, 10:56
Идея несколько раз дублировать номер хорошая :).
+
avatar
0
или параметр поменять r1-r255, так чтоб звонило пока батарея не сядет ))))) ( по мне так это все лишнее, если 1 раз не услышал то и 10 не услышишь )
+
avatar
0
  • Maksym
  • 29 мая 2017, 20:32
Когда спишь — с первого звонка легко можно не проснуться. Оно на сон накладывается как звуковое сопровождение и ты не понимаешь что это телефон звонит. Но со временем приходит прозрение что таки звонит телефон. Это может занять минут 5 легко.
+
avatar
0
  • kvolk
  • 30 мая 2017, 10:07
В общем, защита от задвоения номера была на самом деле защитой от повторного включения/отключения сигнала.

uint8_t eepromcheckmphone(String CheckPhoneMNumber) {
  for (uint8_t i = 0; i < 10; i++) {
    if (String(EEPROM.get(data[i].addr, PhoneNum)) == CheckPhoneMNumber) {
      RingPhone = CheckPhoneMNumber;
      if (EEPROM.read(data[i].addr + ManagementOffset) == 1) {
        return 1;
      }
    }
  }
  return 0;
}

Защиту можно отключить, но если в памяти будет два и более одинаковых номера с признаком «m», то устройство будет ставить, снимать, снова ставить и снимать с охраны.

То есть у всех повторяющихся номеров может присутствовать только признак «r», хотя если высвободится память проверкой на задвоение, то можно будет добавить проверку на присутствие номера и если он есть — записывать его в память только с признаком «r».
+
avatar
0
У меня стояла первая сигнализация телефон Nokia контроль состояние датчика на микросхеме HEF4049, до сих пор у соседа работает. Так вот при разрыве геркона телефон звонит пока не садит. Тут вопрос в чем, быстро среагировать на тревожный вызов, ну а если тревожный вызов был в час ночи а утром вы увидели пропущенный звонок то спешить уже нет смысла <Вас Обокрали>. Я выставлял максимальные параметры 255 секунд, то вызов идет один полный. Подежурю MAKSYMa насчет несколько раз дублировать номер
+
avatar
0
  • xlin
  • 29 мая 2017, 22:18
Вечер добрый! Почему в скетче вместо коментариев — квадратики? спасибо
+
avatar
0
В arduino ide усть кнопка исправить кодировку
+
avatar
0
  • xlin
  • 30 мая 2017, 23:55
пробовал-не помогает… все равно иероглифы. версия иде 1.6.9
+
avatar
+1
  • kvolk
  • 31 мая 2017, 00:41
Откройте в другом редакторе.
+
avatar
0
  • kvolk
  • 30 мая 2017, 09:50
В последней прошивке (GSM_2017_05_26-20-22.hex) у всех нормально добавляются номера AddPhone через sms, и правильный ли вывод информации в консоль по команде ListPhone?
Т.е.
1) Подключаем к компу
2) Открываем диспетчер порта
3) Загружаем устройство
4) Шлём смс с добавлением номера (AddPhone)
5) Выполняем в консоли ListPhone


На последних 2 пунктах у меня кривой вывод, как у вас? Не могу понять это связано с перепрошивкой моего телефона или косяк в коде.
+
avatar
0
Вот так у меня, если запрос отправляю с телефона
Не добавляет номер!
+
avatar
0
Вот так у меня, если запрос отправляю с телефона
через консоль добавляет телефон
+
avatar
0
  • kvolk
  • 30 мая 2017, 23:22
Спасибо, то что нужно. Самое интересное что номер добавляется, если после этого перезагрузить и выполнить ListPhone, то все номера отображены будут верно.
+
avatar
0
  • kvolk
  • 31 мая 2017, 14:45
Проблема кроется в нехватке оперативной памяти, как только в файле SoftwareSerial.h уменьшил объём выделяемой памяти под буфер сразу всё заработало, с командой info скорее всего те-же грабли.
+
avatar
0
Какое решение? Надо что-то удалять из прошивки?
+
avatar
0
  • kvolk
  • 31 мая 2017, 15:31
Откомпилировать с параметром
#define _SS_MAX_RX_BUFF 152
+
avatar
0
  • kvolk
  • 31 мая 2017, 17:08
Теперь только при включении тестового режима этот баг появляется.
И в последней прошивке есть один момент, пока модем звонит на тревожные номера снять с сигнализации невозможно, так же невозможно отключить тревожные пины.
Раньше дозвон на основной номер осуществлялся в фоновом режиме, в новой прошивке фоновый режим не может быть реализован.
+
avatar
0
Всем. Привет. Ребят а кто нибудьто может подсказать на основе ардуины GPS ТРЕКЕР. Чтобы прия запросе инфы через смсчас в ответ приходили координаты. А при надобности еще и производилза звонок на номер хозяина.Согласитесь ведь идея хорошая и недорогая. И автономность примерно на сутки. Ардуино 140р.gsm a6 250р.и gps модуль где то480р.аккум.18650 180р. Ну и по мелочиночи ещё немного. Итого чуть больше тысячи. Предназночение данного девайса небольшое отправить координаты если стырили транспортное средство. Если кто знает какой нибудь законченный проект, отпишитесь пожалуцста. Конечно если наш гуру, kvolk не будет против. А может у вас уже есть такой проект, многоуважаемый kvolk. Хотя бычему наброски какие нибудь?
+
avatar
0
  • kvolk
  • 31 мая 2017, 22:34
Предназночение данного девайса небольшое отправить координаты если стырили транспортное средство.
Деньги на ветер. GSM глушилка не позволит вам связаться с вашим авто.
+
avatar
0
  • sls
  • 01 июня 2017, 10:54
kvolk, а можете последний бинарник скомпилить под 3.3В 8МГц или в коде есть завязки на частоту?
+
avatar
0
  • kvolk
  • 01 июня 2017, 13:18
Никаких завязок нет.
+
avatar
0
dmitriynet27 мая 2017, 10:41
0
можно увидеть Вашу печатку под зарядное? И если можно схему в архив в нормальном размере
Не могу понять, как сюда вставить архивный файл.
Если нужно, могу выслать на электронку.
+
avatar
0
тут можно выкладывать ссылкой на облако
+
avatar
0
  • kvolk
  • 02 июня 2017, 17:52
GSM_2017_06_02-17-43.hex — Командам AddPhone и EditMainPhone добавлен параметр «I» (Info), отвечающий за sms уведомление о постановке или снятии устройства с охраны. Теперь после добавления основного номера устройство автоматически перезагружается. Теперь можно вносить в память устройства одинаковые номера. При добавлении второго и последующих дублирующихся номеров с них автоматически будут сняты атрибуты «M», «S», «P» и «I». Эти номера будут использованы для повторного голосового вызова при срабатывании датчиков. Исправлен баг кривого вывода в консоль после выполнения команды AddPhone, теперь информация не выводится автоматически после добавления номера. Добавлена команда Reboot. Занято: 69% SRAM, 99% Flash Memory.
+
avatar
0
dmitriynet02 июня 2017, 11:49
тут можно выкладывать ссылкой на облако
dmitriynet, мне проще скинуть на почту.
+
avatar
0
Здравствуйте господа!
Поделитесь ссылкой на плату ардуинка + модем, когда-то видел пару вариантов, а сейчас ссылки не работают.
+
avatar
0
  • kvolk
  • 02 июня 2017, 21:38
ru.aliexpress.com, искать sim800l и arduino nano, чем больше продаж тем надёжнее.
+
avatar
0
Простите, не правильно обосновал вопрос. Искал файл печатной платы под 800 модем и ардуинку. Точно помню пару месяцев назад, бегло просматривая форум, открывал файл Lay с несколькими вариантами плат. Была маленькая платка с модулями и стабилизатором питания.
+
avatar
0
  • kvolk
  • 02 июня 2017, 22:41
Я ещё не допилил свою, уже несколько раз перерисовываю, а всё что-то не нравится.
+
avatar
0
  • kvolk
  • 02 июня 2017, 22:35
В ближайшей версии:
Теперь вновь при замыкании контактов основного герконового датчика (закрытии двери) устройство мигает синим светодиодом в течение 2 секунд, сигнализируя о нормальной работе датчика, при этом не учитывается поставлено или снято устройство с охраны.

Так же на гугл диске будет всегда лежать прошивка под названием current.hex, в которую будут вноситься срочные изменения. Прошивка current.hex уже выложена и в ней исправлен баг с миганием светодиода при срабатывании датчика.
Занято 100% флэш памяти :) Видимо финальная, если не найдутся ещё баги.
Скетч использует 30720 байт (100%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1415 байт (69%) динамической памяти, оставляя 633 байт для локальных переменных. Максимум: 2048 байт.
+
avatar
0
Всем доброго утра!
Может кто то из пользователей приделал уже к этой сигналке RFID считыватель?
А то, порывшись в интернете и ютюбе, нашёл проекты, но все на Arduino UNO. Но мне кажется, что только для постановки/снятия с охраны это как то слишком роскошно.
Если у кого есть, поделитесь пожалуйста.
+
avatar
0
  • kvolk
  • 03 июня 2017, 07:58
нашёл проекты, но все на Arduino UNO.
UNO особо ничем не отличается от Nano.
+
avatar
0
Во время сработки сигналки нет возможности снять с охраны внешним устройством, то есть при случайной сработке снять сигналку с охраны пока оно не отзвонится и не отпишется всем, нет возможности. То что оно звонит и пишет нет ничего страшного но вот первоочередно она должна снять с охраны, а потом отрабатывать дальше дозвоны и смс. Иначе включенная сирена задолбает соседей ))))
+
avatar
0
  • kvolk
  • 04 июня 2017, 13:56
но вот первоочередно она должна снять с охраны, а потом отрабатывать дальше дозвоны и смс.
Да, это единственный момент который меня так же не совсем устраивает, если получится реализовать механизм дозвона без использования delay, то можно считать проблему решенной.
ЗЫ Это единственно что осталось в планах.
+
avatar
0
  • tree40
  • 06 июня 2017, 10:56
Добрый день!
Не судите строго, я еще только начинаю разбираться с Arduino. Собрал одну такую сигнализацию в минимальной комплектации, только оповещение по SMS о пропадании напряжения сети. Все прекрасно работает, но после долгой работы от аккумулятора при появлении сетевого напряжения SMS не приходят. Я так понимаю включается плата зарядки аккумулятора, которая заряжает акк одним ампером и на работу SIM800L тока блока питания уже не хватает (БП 9В 1А). Подскажите пожалуйста номинал резистора R3 на плате заряда, чтобы ток заряда был в районе 250mA. Аккумулятор использую от телефона Samsung.
Пришли запчасти для второй сигнализации, она уже будет в полной комплектации. Пока развожу печатную плату, возникли попутно небольшие вопросики, а именно в каком положении должна быть перемычка на датчике движения (H или L), как правильно подключить датчики к расширителю портов (интересует именно схема подключения, хотя бы от руки), можно ли к тревожному пину напрямую подключить активный зуммер из набора Arduino.
Заранее благодарен за ответы…
+
avatar
+1
200 мА — 4,7К
250 мА — 5К
Перемычку я ставил в L

в догонку www.kosmodrom.com.ua/pic/TP4056-MOD-1.jpg
+
avatar
0
  • tree40
  • 06 июня 2017, 12:51
Спасибо за картинку. Я так понял что 250mA будет где-то 4,2К. Ток увеличивается при уменьшении сопротивления.
+
avatar
0
это данные с двух разных картинок, но я думю что 4,2к можно ставить смело
+
avatar
0
  • kvolk
  • 06 июня 2017, 17:35
тока блока питания уже не хватает (БП 9В 1А).
9B?! Используйте зарядник 5В 2А — точно хватит.
номинал резистора R3
У меня запаяны 3,9к — примерно 350мА
подключить датчики к расширителю портов
Какая схема? Если это датчик движения, то +5В, GND берём с ардуины и цифровой выход цепляем на любой из восьми входов платы расширителя. Если это геркон, то одним концом к +5В другим на вход платы расширителя. Настраиваем датчики на нужный уровень срабатывания.
напрямую подключить активный зуммер из набора Arduino.
Понятия не имею.
+
avatar
0
  • xlin
  • 07 июня 2017, 22:38
подскажите назначение функции AlarmPinOff из декабрьского скетча. спасибо
+
avatar
0
  • kvolk
  • 08 июня 2017, 13:37
void AlarmPinOff() {
  unsigned long currentAlarmMillis = millis();
  if (currentAlarmMillis - previousAlarmMillis > AlarmInterval * 1000) {
    digitalWrite(AlarmPin, LOW);
    digitalWrite(InverseAlarmPin, HIGH);
  }
}

По истечению времени AlarmInterval * 1000 переключает пины AlarmPin и InverseAlarmPin штатный режим. Простыми словами отключает тревожные пины.

В текущей актуальной прошивке код выглядит вот так:
// ----- Отключение "тревожного пина"
void AlarmPinOff() {
  unsigned long currentAlarmMillis = millis();
  //if ((currentAlarmMillis - previousAlarmMillis > AlarmInterval * 1000) || guard == 0) {//Orig!
  if (((currentAlarmMillis - previousAlarmMillis) / 1000 > AlarmInterval) || guard == 0) {
    digitalWrite(AlarmPin, LOW);
    digitalWrite(InverseAlarmPin, HIGH);
  }
}
+
avatar
+1
  • xlin
  • 08 июня 2017, 22:41

Вот такую штуку набросал, для ленивых ))) (на андроид)
my-files.ru/gjzjxp
+
avatar
0
файл удален с сервиса по причине вируса )))))
+
avatar
0
  • kvolk
  • 09 июня 2017, 09:31
Я думаю что эта прога была написана через конструктор приложений, поэтому её антивирус и забанил. Я уже видел подобные конструкторы. Но всё равно надо быть осторожным.
100% из-за рекламы в приложении бан.
Fortinet Android/Generic.S.5726DB!tr 20170608
WhiteArmor PUP.HighConfidence 20170608
Антивирусы Fortinet и WhiteArmor (мне малоизвестные) заподозрили там вируса, а вот остальные не нашли, аваст не нашел, АВГ не нашел, Кламав, каспер и дохтурвеб тоже ничего не нашли.
Так что я бы не переживал, это моё личное мнение, я не могу гарантировать что там нет вируса, но 99% уверено что файл забанили из-за рекламы, которую оставляет после себя конструктор приложений.
Вот статистика по Вашему файлу.
Вирусы семейства PUP являются потенциально нежелательными программами (английский термин Potentially unwanted program).
+
avatar
0
  • xlin
  • 09 июня 2017, 09:37
верно, app inventor…
+
avatar
0
  • xlin
  • 09 июня 2017, 09:40
никакой рекламы!!!
каждая кнопка-отправка смс, и все
+
avatar
0
  • kvolk
  • 09 июня 2017, 09:43
Это вы так думаете, на самом деле реклама там есть или через какое-то время появится :) Эти конструкторы в том числе за счёт этого и живут.
+
avatar
0
  • xlin
  • 09 июня 2017, 09:54
вот уроды!!! без разрешения пихать чтото…
хотя сгенерированный апк файл-пустой, без лишней грязи…
+
avatar
0
  • xlin
  • 09 июня 2017, 09:31
странновато как то…
(это отправка смс, а что будет с приложухой посерьезней...)
+
avatar
0
  • kvolk
  • 09 июня 2017, 09:34
В конструкторе приложений «пилили» софт?
+
avatar
0
  • kvolk
  • 09 июня 2017, 09:52
а что будет с приложухой посерьезней
Примерно тоже самое.
+
avatar
0
  • xlin
  • 10 июня 2017, 23:12
какой этап(команда) наглухо вешает прогу при отправке смс? команда (AT+CMGS=)?
ps не разбирались сами с этой задачей? (отключение охраны при тревоге)
+
avatar
0
  • kvolk
  • 10 июня 2017, 23:25
отключение охраны при тревоге
В данный момент уже реализовано, тестирую. Сегодня или завтра будет прошивка.
+
avatar
0
  • xlin
  • 10 июня 2017, 23:55
идею не раскроете? я допиливаю ваш декабрьский скетч )))
+
avatar
0
  • kvolk
  • 11 июня 2017, 00:11
Бросайте его, он кривой. Я на него смотрю сейчас и даже не понимаю как это могло работать :)
+
avatar
0
  • kvolk
  • 11 июня 2017, 10:50
идею не раскроете?
Какую именно? :)
+
avatar
0
  • kvolk
  • 11 июня 2017, 00:11
GSM_2017_06_11-00-07.hex — Теперь вновь при замыкании контактов основного герконового датчика (закрытии двери) устройство мигает синим светодиодом в течение 2 секунд, сигнализируя о нормальной работе датчика, при этом не учитывается поставлено или снято устройство с охраны. Команды RingOn/RingOff удалены. Теперь устройство можно снять с охраны во время тревожного вызова, теперь они осуществляются совершаются в фоновом режиме. Занято: 69% SRAM, 99% Flash Memory.
+
avatar
0
SmsOn/Off не убрано еще? (не могу сейчас проверить в железе поэтому спрашиваю)
+
avatar
0
  • kvolk
  • 11 июня 2017, 10:42
Пока нет, мне для отладки они нужны. Я отключаю смс и в консоли видно что там творится.
+
avatar
0
Отловил одну вещь при постановке /снятии охраны сигналки. Если ставить/снимать звонком то приходит смс гуард он/оф, хотя параметр s не стоит на номере
+
avatar
0
  • kvolk
  • 17 июня 2017, 23:02
«Эхо войны»… Если можно так сказать. В начальных прошивках, если у номера не было признака "alarm", но присутствовал признак "managenent" считалось, что при постановке или снятии с охраны этому номеру должна была приходить смс «урезанного» содержания «Guard On/Off». Последние изменения затронули косвенно этот механизм и логично предположить, что этот функционал в текущей прошивке уже не нужен, как и сам признак "managenent". Если нет возражений по поводу исключения этого функционала, то в ближайшей прошивке этот параметр будет исключен.

ЗЫ Ведь всегда можно узнать состояние через «адовую» команду info :)
А вот и сама Инфо
if ((val.indexOf( F ("info")) > -1)) {
    String smstext =  F("Info: PIR O");
    if (PIRGuard == 0) smstext +=  F("FF. ");
    else smstext +=  F("N. ");//3
    smstext += LastEvent;
    delay(2000);
    if (SMSCommand == 1) sms(smstext, "+" + RingPhone, 1);
    if (ConsoleCommand == 1) Serial.println(smstext);
  }


Не выходит каменный цветок...
Совершенно не понятна причина пустых смс.
+
avatar
0
Если нет возражений по поводу исключения этого функционала, то в ближайшей прошивке этот параметр будет исключен.
Возражений нет я думаю, похоже прошивка в финальной стадии, вроде все баги уже отловили ))
+
avatar
0
  • kvolk
  • 23 июня 2017, 15:49
Это будет в ближайшей прошивке, предположительно сегодня:
//Теперь команда Pause не присылает ответное смс. Удалены команды TestOn и TestOff. У всех номеров удалён признак Management.
+
avatar
+4
Переделал резервное питание от 12в с функцией зарядки аккумулятора
Кому интересно чуть позже выложу схему.

+
avatar
0
Выложите схему, пожалуйста.
+
avatar
0
Схема
+
avatar
0
Спасибо
+
avatar
0
Может кто-то поделится рабочей схемой RC522 замка с минимальной обвязкой, без экрана и прочей ерунды, чтобы можно было прицепить к сигналке
+
avatar
0
  • bagotu
  • 16 июня 2017, 13:57
сигналка бомба!
все понятно. СПАСИБО!!!
+
avatar
0
  • bagotu
  • 16 июня 2017, 14:52
красный мигает при постановке на охрану — что это значит?

иногда при запросе Info
прилетает пустая смс
+
avatar
0
  • kvolk
  • 16 июня 2017, 15:12
красный мигает при постановке на охрану — что это значит?
GSM_2017_03_01-23-37.hex —… Теперь после постановки на охрану мигает красный светодиод, пока не будет проверена целостность контура основного герконового датчика. Если контур целый загорается красный светодиод...
Мигает — геркон разомкнут, непрерывно светит — геркон замкнут.
иногда при запросе Info прилетает пустая смс
Причина этого бага не известна, я этой ошибки у себя уже не видел больше двух месяцев.
+
avatar
0
  • bagotu
  • 16 июня 2017, 15:48
хорошо. а если не предполагается использовать геркон, а только PIR и то по радио? замкнуть его на вечно… (в общим кому как нравится :) )

еще вопрос. микрофон работать не должен при дозвоне?
(просто интересно :) )
+
avatar
0
  • kvolk
  • 16 июня 2017, 16:19
хорошо. а если не предполагается использовать геркон, а только PIR и то по радио? замкнуть его на вечно… (в общим кому как нравится :) )
Да, пока посадить на +5В через сопротивление 10 кОм.
В ближайшей прошивке добавлю возможность отключения герконового датчика.
микрофон работать не должен при дозвоне?
Нет, там отбивает сразу. Можно попробовать добавить смс параметр при включении которого будет меняться режим работы:
1) Постановка/снятие по звонку
2) Соединение с абонентом и включение микрофона.
+
avatar
0
Нет, там отбивает сразу. Можно попробовать добавить смс параметр при включении которого будет меняться режим работы:
1) Постановка/снятие по звонку
2) Соединение с абонентом и включение микрофона.
Тогда надо вводить DTMF команды, например, после соединения нажать -1 поставить на охрану, нажать 2-прослушать комнату. Но на это точно нет памяти уже ))
+
avatar
0
  • kvolk
  • 16 июня 2017, 17:23
Но на это точно нет памяти уже ))
на такую реализацию точно не хватит.
+
avatar
0
  • bagotu
  • 16 июня 2017, 17:11
Да, пока посадить на +5В через сопротивление 10 кОм.
Так и сделал.
Нет, там отбивает сразу.
Я не об этом. Модем когда звонит, есть время послушать. Но это уже бзыки…
+
avatar
0
  • kvolk
  • 16 июня 2017, 17:24
Модем когда звонит, есть время послушать.
Да, конечно. Если подключен микрофон можно послушать только на 800-м и на А6 модемах.
+
avatar
0
  • bagotu
  • 16 июня 2017, 17:42
У меня 800. молчит зараза. Припаян на прямую микрофон конденсаторный
+
avatar
0
  • kvolk
  • 24 июля 2017, 14:19
а если не предполагается использовать геркон,
В ближайшей прошивке добавлю возможность отключения герконового датчика.
Готово.
+
avatar
0
  • lexx
  • 17 июня 2017, 00:23
Подскажите кто знает — схему доработки питания хочу собрать ее на bread board плате так как не хочу травить плату — есть аналоги компонентов не smd?
+
avatar
0
Подскажите, кто знает, у GSM модуля A6 mini нет внутреннего DTMF?
+
avatar
0
  • kvolk
  • 17 июня 2017, 22:48
Нет. С чего бы ему там взяться?
+
avatar
+1
Ну, в SIM800L есть, думал и в A6 есть.
+
avatar
0
  • kvolk
  • 18 июня 2017, 09:32
Прошу прощения, этого я не знал, возможно и в А6 тоже есть.
+
avatar
0
Здраствуйте kvolk. Скажите есть ли у вас в планах сделать GPS трекер для авто?? Спасибо.
+
avatar
0
  • kvolk
  • 22 июня 2017, 09:45
Не планировал.
+
avatar
0
Здравствуйте, Kvolk! Давно слежу за темой. Поставил последнюю прошивку. Тестирую со дня появления, модем м-590. На запросы инфо с телефона приходят пустые смс. После полного сброса какое то время работает нормально. Потом приходит информация только по пир датчику, и спустя еще какое то время снова пустые смс.
+
avatar
0
  • kvolk
  • 30 июня 2017, 10:48
Да, тоже заметил этот баг, временно лечим смс командой Reboot. Причина бага пока не выявлена. Я полагаю что это из-за приближения к «критическим 74% озу» при занятости которых сигналка ведёт себя вообще неадекватно.
Постараюсь на этой неделе выложить прошивку, там кое что «выпилено» и высвобождено чуть больше ОЗУ.
+
avatar
0
  • Aduard
  • 03 июля 2017, 14:03
Я пользуюсь прошивкой 2017_01_03-22-51, работает очень хорошо, пустые смс не приходят.
+
avatar
0
Здравствуйте, также заметил подобный баг. Сначала думал что из-за моих активных действий в порт-мониторе (только собрал — изучаю).
Guard ON. Button
Sent! +38050327,,,, ->
Alarm! Main sensor!
Sent! +38050327,,,, ->
Также пустые смс на все события.
+
avatar
0
  • xlin
  • 03 июля 2017, 22:42
Добрый вечер! Вопрос по питанию sim800-кто как питает, от чего, какие напряжения, и что бывает если напруга выходит за рамки допустимого?
я хочу запитать модем от зарядника ТР4056, так там на выходе больше 5 вольт…
+
avatar
0
  • kvolk
  • 03 июля 2017, 23:00
4,2 v с OUT'a tp4056. Если будет превышение модем об этом напишет в консоли и отключится (или сгорит). Зачем именно с зарядника тпшки? Почему с аута не хотите? Там как раз 4,2 в.
+
avatar
0
  • xlin
  • 04 июля 2017, 21:09
4,9 в. на двух модулях зарядки, и на бат и на оут идёт 4,9 вольта… чо за хня…
+
avatar
0
  • kvolk
  • 04 июля 2017, 22:03
Не должно быть такого, с выхода аккумулятора и на OUT TP4056 не должно быть больше 4,25В. В тестере крона не села случайно?
+
avatar
0
  • xlin
  • 06 июля 2017, 14:45
индикатор батарейки горит… а это может влиять? замерьте пжлста напругу на выходе (OUT) и на акуме (BAT), спасибо, нет новой кроны под рукой… )
+
avatar
0
  • kvolk
  • 06 июля 2017, 15:04
Ещё как может, меняйте крону чем ниже напряжение на кроне — тем выше будут показания мультиметра.
+
avatar
0
  • kvolk
  • 06 июля 2017, 15:14
Чего там замерять? Говорю же не выше 4,2 В.
+
avatar
0
  • kvolk
  • 04 июля 2017, 21:57
GSM_2017_07_04-21-52.hex — Теперь команда Pause не присылает ответное смс. Удалены команды TestOn и TestOff. У всех номеров удалён признак Management. Занято: 68% SRAM, 96% Flash Memory.
+
avatar
0
  • bagotu
  • 06 июля 2017, 13:12
Есть вопрос по сигналке. Можно одну зону сделать постоянно включенной что бы навесить пожарный датчик (датчик протечки). Сложность станет в вопросе оповещения наверно.
+
avatar
0
  • kvolk
  • 06 июля 2017, 15:05
Думаю что можно, добавлю в план.
+
avatar
0
А можно его вместо датчика движения по выбору, или датчик движения или еще один геркон.
+
avatar
0
  • kvolk
  • 07 июля 2017, 12:05
Если получится, то можно будет любой из датчиков включать в такой режим. Слушать датчик вне зависимости от состояния сигналам.
+
avatar
0
  • bagotu
  • 08 июля 2017, 11:33
было бы круто. беспроводный датчик все равно крутится через «свою» pro mini. этак через расширение портов можно получить 8 зон. у каждой свое название. датчиков по ходу может быть много, причем в каждой зоне. одна проблема, стены и дальность оповещения. ну и количество датчиков равно количеству тормозов и затыков )))
+
avatar
0
  • kvolk
  • 21 июля 2017, 10:11
было бы круто.
Есть ли смысл делать это для основных двух датчиков (геркона и датчика движения) или только на плату расширения сделать такой функционал?

UPD. Считаю, что работу основных датчиков следует оставить «как есть», а работу датчиков на плате расширения изменить в соответствии с Вашим предложением.
+
avatar
0
  • bagotu
  • 21 июля 2017, 22:01
абсолютно поддерживаю.
+
avatar
0
  • kvolk
  • 10 августа 2017, 09:12
Начал смотреть код для платы расширения и с удивлением обнаружил что устройство не проверяет поставлено устройство на охрану или нет. То есть, если на плате расширения сработает какой — либо из датчиков, то в любом случае будет отправлено уведомление.
Жесть…
Сейчас подключу плату, буду проверять.
Странно что этого никто не заметил.
+
avatar
0
  • kvolk
  • 10 августа 2017, 09:22
В общем так, идея не может быть реализована, так как вся группа датчиков платы расширения обрабатывается одновременно, чтобы обрабатывать каждый датчик по отдельности нужен большой объём свободной памяти. Можно реализовать включение или отключение форсированной обработки группы этих датчиков. То есть:
PCFForceOn — постоянный мониторинг группы всех датчиков модуля, с последующим уведомлением.
PCFForceOff — мониторинг группы всех датчиков модуля только при постановке устройства на охрану, с последующим уведомлением.
Другой перспективы я не вижу.
+
avatar
0
  • bagotu
  • 10 августа 2017, 11:14
Ну т.е. будет отправляться смс но без звонка.
в принципе тоже не плохо.
+
avatar
0
  • kvolk
  • 10 августа 2017, 11:32
Почему без звонка?
Сработал датчик -> Оправились смс по указанным номерам -> отзвонилась по указанным номерам.
Просто будет выбор: мониторить только при постановке на охрану или мониторить всегда.
+
avatar
0
  • qyqr
  • 09 июля 2017, 01:42
Интресный проект!
kvolk, а переход на платформу ESP еще не начали? )
+
avatar
0
  • kvolk
  • 09 июля 2017, 15:40
Пока ещё не начинал, тут на ардуине косяков хватало. По максимуму всё выжму из ардуины и перееду на есп.
+
avatar
0
не рассматривали возможность переезда на
ru.aliexpress.com/wholesale?catId=0&initiative_id=SB_20170709114124&SearchText=STM32F103C8T6?
ресурсов многим больше, стоимость как и arduino nano ;)
+
avatar
0
  • kvolk
  • 09 июля 2017, 23:20
ресурсов многим больше
После компиляции — «не очень многим». У есп тоже стоимость как у ардуины.
+
avatar
0
ну оперативки точно больше ;)

на прошивке GSM_2017_07_04-21-52.hex заметил, что пустые смс в ответ на info приходят полсле срабатывания датчика.
+
avatar
0
  • kvolk
  • 16 июля 2017, 16:26
пустые смс в ответ на info приходят полсле срабатывания датчика.
Спасибо, проверю.
+
avatar
0
  • kvolk
  • 21 июля 2017, 10:07
Огромное спасибо, проблема решена. В общем как и предполагалось всё из-за нехватки оперативной памяти, так как текст сообщения формируется о одной функции, модифицируется в другой и отправляется в третьей, то на протяжении всего этого процесса память переменных не очищалась и… в общем это жесть :)

В ближайшее время будет новая прошивка.
+
avatar
0
  • xlin
  • 14 июля 2017, 22:28
оператор «летай» кроме татарстана еще где нибудь есть? с балансом намучился, приходят цифры (unicode), пришлось перекодировать строку в удобочитаемый вариант. Если кто пытается осилить эти же грабли, дам код для конвертации.
ps кто каким оператором пользуется? (почему то мега и теле2 не хотят регаться в сим800)
+
avatar
0
  • Maksym
  • 14 июля 2017, 23:14
Киевстаром думаю пользоваться. Лайф заблочит симку.
+
avatar
0
  • bagotu
  • 20 июля 2017, 06:40
на киевстаре есть специальный тариф «ДАТЧИК»
специально для этих целей. 1 грн в сутки абонплата. правда только 20 смс в сутки в пакете.
а дальше каждая смс + бабки. во время отладки жрет как не в себя )))
+
avatar
0
  • lufton
  • 17 июля 2017, 17:46
Кто-нибудь реализовал подключение радио-модульных датчиков для контроля отдаленных участков типа гаража?
+
avatar
0
  • kvolk
  • 19 июля 2017, 09:43
А в чём сложность-то?
+
avatar
0
  • lufton
  • 20 июля 2017, 22:29
Прочитав мануал по функциям понял, что можно навешивать до 8 датчиков а-ля «кнопка», про реализацию датчиков по радио не видел.
Можете вкратце описать куда смотреть и допиливать код?
+
avatar
0
  • kvolk
  • 21 июля 2017, 00:23
Вы хотя бы модель датчика озвучили.
+
avatar
0
  • bagotu
  • 23 июля 2017, 21:15
Вот тут kvolk давал наводку:
«Вы можете взять Arduino Pro Mini 168, прикрутить к ней считыватель RFID, радиобрелки, другие «свистелки-перделки» и уже этой сборкой управлять основным устройством.»
+
avatar
0
  • kvolk
  • 24 июля 2017, 11:45
управлять основным устройством
А тут не управлять хотят, тут радиодатчики мониторить нужно.
+
avatar
0
  • bagotu
  • 24 июля 2017, 12:53
ну в общим так.

#include <RCSwitch.h>
#include <avr/wdt.h>

RCSwitch mySwitch = RCSwitch();
int ledPin = 13; // светодиод будет тут
int timer = 0;
int signal_flag = 0;

void setup() {
  
//  Serial.begin(9600);

  mySwitch.enableReceive(0);  // приемник на pin 2 (DATA) 
  pinMode(ledPin,OUTPUT);

  wdt_enable(WDTO_250MS);
}

void loop() {
  delay(10);
  if (signal_flag == 1)timer++;
  if(timer == 100) {
    digitalWrite(ledPin,LOW);
    signal_flag = 0;
    timer = 0; 
    }
    
  if (mySwitch.available()) {
    
    int value = mySwitch.getReceivedValue();
    
/*    
    if (value == 0) {
      Serial.print("000");
    } else {
      Serial.print("   ");
      Serial.print( mySwitch.getReceivedValue() );

    }
*/

    if (value == 6953481) {   // 6953481 - код датчика
      digitalWrite(ledPin,HIGH);
      signal_flag = 1;
    }
    mySwitch.resetAvailable();
  }
  wdt_reset();
}


сторожевая собака там в общим не нужна. (осталась от плодов войны с приемником )) )
открываем сериал и читаем код своего датчика.
затем вписываем его в код.
в данном случае нога 13 Arduino Pro Mini (она же LED) подключается вместо PIR датчика, кстати будет видно есть сработка или нет.

приемник типа такого (сам поставил и оказалось г… редкое) от него были все траблы по началу. часто тупо не принимал сигнал через какое то время. не надежная система получалась.


надо ставить такой:

работает без нареканий. кварцевая стабилизация. экран. ну в общим пойдет из доступных и не дорогих.

Ну в заключении. надо учесть, что частота 433мГц достаточно забита. На ней сидят все сигналки + сигналки авто, брелки и прочая лобуда. 315мГц конечно лучше. и дальше ))
В общим у меня работает на 433 потому что пришел такой датчик из китая :)
Пока без нареканий.
+
avatar
0
  • bagotu
  • 25 июля 2017, 06:52
там ошибочка вышла… сорри.
надо заменить этот кусок
должно быть так:

    float value = mySwitch.getReceivedValue();
    
/*    
    if (value == 0) {
      Serial.print("000");
    } else {
      Serial.print("   ");
      Serial.print( mySwitch.getReceivedValue() );
    }
*/

    if (value == 6953481) {   // 6953481 - код датчика
      digitalWrite(ledPin,HIGH);
      delay(50);
      signal_flag = 1;
    }
    mySwitch.resetAvailable();
  }
  wdt_reset();
}
+
avatar
0
  • xlin
  • 17 июля 2017, 23:03
Временами модем зависает, гудки идут, реакции нуль.как можно отслеживать зависания и перезагрузить модем?
+
avatar
0
  • kvolk
  • 19 июля 2017, 09:43
Никак, смотрите питание модема, меняйте модем. У меня за год ни разу не завис ни модем, ни ардуина.
+
avatar
0
  • bagotu
  • 20 июля 2017, 06:34
имело место такое когда модем был подключен через преобразователь уровней.
психанул и подключил на прямую и без резисторов.
ни разу не зависал. модем sim800L
+
avatar
0
Уважаемый kvolk
Не смогли-бы вы поправить последний открытый скетч, лежащий на этом сайте для нормального получения ответа на запрос баланса maney?
модуль стоит А6
+
avatar
0
  • kvolk
  • 20 июля 2017, 12:24
Попробуйте заменить эту процедуру

// ----- Команда запроса баланса
void balance() {
  mySerial.print(F("AT+CUSD=1,\""));
  mySerial.print(BalanceNumber);
  mySerial.println("\",15");
}
+
avatar
0
Попробовал, не сработало

В терминале 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

на телефон пришла ОЕ
+
avatar
0
  • kvolk
  • 20 июля 2017, 14:12
Ответ от оператора приходит на Украинском языке. Узнайте номер запроса баланса с ответом на латинице.
+
avatar
0
Может я что-то не понимаю…
На телефон приходит сообщение латинскими буквами но смысл Украинский.
Оператор может поменять сообщения на ангийский но все сообщения будут на англицком, что меня в принципе устраивает. Для этой сигалки это не повредит?
и *101# и #101# ответ абсолютно одинаков
+
avatar
0
  • kvolk
  • 20 июля 2017, 14:27
Это не латиница:
"⸮0⸮⸮⸮⸮⸮:HF⸮⸮⸮:(6s⸮`⸮⸮⸮⸮Q⸮⸮t⸮⸮⸮a⸮⸮]1⸮g4}ur⸮⸮⸮vY"⸮⸮sw>
"⸮A1⸮vs⸮`1⸮⸮,⸮⸮iz⸮~⸮⸮⸮w⸮⸮⸮⸮0}⸮n⸮⸮y⸮⸮M⸮⸮⸮2⸮~⸮⸮⸮or⸮⸮v⸮]⸮0"
На латинице это выглядело бы так:
«Vash balans 10000 griven :)»
Какой номер запроса баланса используете на телефоне?
+
avatar
0
*101# Для телефона
В программе #101#
+
avatar
0
  • kvolk
  • 20 июля 2017, 14:33
А в актуальной прошивке запрос баланса работает как надо? Или такой же кавардак?
+
avatar
0
Наверно я его не прошил У меня плата УНА и прошиватель виснет…
+
avatar
0
У меня МТС тоже, сообщения приходят нормально
+
avatar
0
Прошивка последняя? или открытая? аGSM модуль какой?
+
avatar
0
прошивка последняя, модуль сим800с
+
avatar
0
  • xlin
  • 20 июля 2017, 19:37
симка новая? у меня мтс, мега не регаются, работает только летай (здешний опсос). может ли это как то связано с питанием симки?
+
avatar
0
В смысле не могу попробовать
+
avatar
0
  • kvolk
  • 20 июля 2017, 22:17
В смысле не могу попробовать
Откомпилировать прошивку под Uno?
Прошивка для Уны в папке Uno на гугл-диске.
+
avatar
0
Спасибо.На команду money- приходит ответ краказяблами, на команду info- пустое сообщение. У моего оператора (Вадафон)код запроса баланса по умолчанию *101# на запрос #101# приходит тот же ответ(на телефон. Можетвся проблема в GSM модуле?
Он у меня A6 mini?
+
avatar
0
kvolk
при старте в терминале вижу таблицу состоятия
есть такая строка Number: #100# перед масивом номеров
Если это запрос баланса то нужно поменять: #101#
+
avatar
0
  • kvolk
  • 21 июля 2017, 10:02
Если это запрос баланса то нужно поменять: #101#
Естественно, там по умолчанию прописана строчка для билайна (потому что у меня билайн).
BalanceNum — Изменение номера запроса баланса и обработка длины ответа запроса. Значение по умолчанию для Beeline: #100#L22.
Пример команды:
BalanceNum:#103#L24

Синтаксис команды:
BalanceNum — команда
: — разделитель
#103# — номер запроса баланса
L24 — Длина (len) пересылаемого ответа 24 символа, обрезаем спам из запроса баланса.
на команду info- пустое сообщение
Команду Инфо только что победил, в ближайшей прошивке будет исправлено.
+
avatar
0
  • kvolk
  • 21 июля 2017, 10:08
Он у меня A6 mini?
Есть сомнения? :))))
+
avatar
0
Да нет а там уже не знаю.
Вот посчитал у меня длина ответа 26 символов, включая пробелы
Если не трудно поправь запрос баланса в прошивке на УНО
+
avatar
0
  • kvolk
  • 21 июля 2017, 10:44
Если не трудно поправь запрос баланса в прошивке на УНО

Что поправлять — то? Вы сами можете изменять номер запроса баланса и длину ответа, прочтите внимательно пост выше или сходите в раздел «Команды для HEX-прошивки».

Команда:
BalanceNum — Изменение номера запроса баланса и обработка длины ответа запроса.

Пришлите на сигналку смску с содержанием BalanceNum:#101#L26
или выполните такую же команду в консоли.
+
avatar
0
  • kvolk
  • 24 июля 2017, 11:55
Проблема решена, всё получилось?
+
avatar
0
нет
+
avatar
0
  • kvolk
  • 25 июля 2017, 12:05
нет
Внизу ответ написал.
+
avatar
0
На прошивках 06-11-00-07 и 07-04-21-52 при звонке на сигналку модем не успевает отбить входящий вызов. В итоге фиксируется два входящих, и соответственно два изменения состояния сигнализации. В сигналке симка киевстар, вызов с водафона. Также напрошивке 07-04-21-52 через некоторое время, перед основным номером добавляется второй плюс, после чего вызовы и смс не проходят.
+
avatar
0
  • kvolk
  • 22 июля 2017, 23:02
Спасибо, посмотрю как можно исправить. С вторым плюсом ситуация совершенно непонятная.
+
avatar
0
  • kvolk
  • 24 июля 2017, 11:55
Итак, что касается второго плюса, скорее всего ардуина перезагружается и не понимает какой у неё установлен модем, по умолчанию сигналка считает, что у неё модем 590 который не передаёт знак плюса и автоматически в коде добавляет ещё один плюс.
GSM Alarm 17.07.20

Read eepromconfig:
SendSms: 1
RingTime: 40
Test: 0
Led: 1
Guard: 0
SleepTime: 15
AlarmPinTime: 60
ReedSwitchGuard: 1
PIRGuard: 0
WatchPower: 1
WatchPowerTime: 0
GuardButton: 0
DelayBeforeGuard: 0
DelayBeforeAlarm: 0

Balance Number: #100#
Length to return: 22

Read array phone:
№ -> Phone -> s -> r -> p -> i
1 -> 7905******* -> 1 -> 1 -> 1 -> 1
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
System -> Guard OFF.

teston

OK

OK

OK

OK

OK

ATE
ATE

OK

AT
AT

OK

ATI
ATI

SIM800 R13.08

OK

modemid=1
Previous ID = 2
Emulate: M590e
Current ID = 1

modemid=1

Ring from: ++7905*******

RING

+CLIP: "+7905*******",145,"",0,"",0

AT+CHUP

BUSY

OK
Что касается задвоения Ринга, эта проблемы была решена ранее. Давайте сначала с плюсом разберёмся.
+
avatar
0
Проблема добавления второго плюса к номеру входящего вызова, и сдвоенного вызова в моем устройстве, также проявляется и на прошивке 07-24-02.
Версия модема
ATI
SIM800 R14.18
После ввода команды Modemid=2 эти проблемы уходят, но до очередной перезагрузки ардуины.
Возможно ли перенести команду modemid в энергонезависимую область, к командам конфигурации устройства?
+
avatar
0
  • kvolk
  • 25 июля 2017, 20:05
Возможно ли
Возможно.
Очень странно, устройство должно само определять модем.
Включите тестовый режим и перезагрузите устройство, введите команду
ModemID, затем
ATI
Покажите вывод этих команд.
+
avatar
0
MODEMID
Previous ID = 2
Emulate: SIM800L
Current ID = 2

MODEMID

ATI
ATI

SIM800 R14.18

OK
+
avatar
0
Вот перезагрузил кнопкой

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
+
avatar
0
После перезарузки кнопкой ардуины

modemid
Previous ID = 0
Emulate: No modem.
Current ID = 0

modemid

ati
ati

SIM800 R14.18

OK

Первый раз перезагрузил командой Reboot
+
avatar
0
  • kvolk
  • 25 июля 2017, 21:34
Не определяет модем, придётся допиливать сохранение модема вручную.
У меня нет 14 ревизии этого модема, так бы проверил в чём дело :(
PS мне кажется модем тупит, или глючный от этого и второй ринг проходит. +5В не подавали на этот модем?
+
avatar
0
5v не подавал, второй звонок проходит когда модем не определен (после перезагрузки). И это не второй звонок, а скорее не отбитый первый. Я слышу сигналы вызова, вижу как изменяется состояние охраны один раз, затем второй раз. И все это время длится входящий звонок, который прекращается таймингом оператора.
После отправки команды modemid=2 вызов завершался нормально. По крайней мере в течении нескольких десятков пробных вызовов на протяжении суток.
+
avatar
0
  • kvolk
  • 25 июля 2017, 22:07
И это не второй звонок, а скорее не отбитый первый.
Это радует, тогда дело в 14 ревизии модема. Завтра прикручу сохранение настроек модема. Заказал сейчас ещё один сим800л, надеюсь приедет 14 ревизия и получится его победить.
+
avatar
0
  • kvolk
  • 26 июля 2017, 10:21
Обновитесь.
+
avatar
0
Здравствуйте Kvolk! Прошу прощения что добавил Вам забот своим невежеством. Основная проблема неверного определения модема и сдвоенного вызова была в согласовании уровней RX TX. Я ориентировался на схему с этого форума, с согласованием уровней модема через делитель 1\10ком по RX и резистором 1ком на линии TX. Аналогичную схему согласования видел на других форумах в подобных устройствах. Сегодня пересчитал делитель и перепаял на 2.8в согласно мануалу, и избавился от сдвоенного вызова в 9 случаях из 10. Возможно на выходных сделаю преобразователь на транзисторах. Сейчас на последней прошивке, корректно работает и автоопределение модема.
+
avatar
0
  • kvolk
  • 27 июля 2017, 23:20
Зачем Вам преобразователь уровней? Без него всё прекрасно работает.
+
avatar
0
Почти все, пару раз отловил сдвоенный вызов. Один раз при отработке PIR.
+
avatar
0
  • kvolk
  • 24 июля 2017, 12:17
GSM_2017_07_24-12-02.hex — Добавлены команды ReedSwitchOn/ReedSwitchOff для мониторинга основного герконовго датчика, теперь его можно включать/отключать так же как и датчик движения. Исправлен баг команды Info. Команды TestOn и TestOff снова присутствуют в прошивке. Занято: 68% SRAM, 96% Flash Memory.
Спасибо товарищу aprilsfunk за помощь с командой Info.

UPD. Теперь прошивки будут выкладываться не только для Nano, но и для Uno.
UPD. На одном из устройств был замечен баг, после перезагрузки не восстанавливались настройки из энергонезависимой памяти. Явным признаком этого бага являлось то, что после физической перезагрузки (именно отключение питания, а не команда Reboot) в консоль при загрузке выводилось значение параметра Guard: -1. При этом Memtes проходил успешно. Возможно это проблема именно этого устройства.
+
avatar
0
Возможно вместо датчика движения подключить 2 геркон, на выбор датчик движения или геркон? Чтобы можно было поставить на окна или 2-ю дверь с моментальной сработкой как у датчика движения.
+
avatar
0
  • kvolk
  • 24 июля 2017, 16:51
Конечно, для датчика движения используется 2 пина: обычный и инверсный. Используйте нужный в зависимости от типа геркона.
+
avatar
0
Не понял, как подключить на датчике движения три контакта +- и сигнал. Как подключить обычный размыкающийся геркон на + и А0?.. И хотелось чтобы сообщение менялось например «Alarm Sensor 2». Может команду консольную добавить на выбор между датчиками.
+
avatar
0
  • kvolk
  • 24 июля 2017, 21:09
Как подключить обычный размыкающийся геркон на + и А0?
mysku.club/blog/ebay/43282.html#comment2064322 аналогично, только для пинов
UPD! Всё в голове уже спуталось, увы не выйдет ничего. Нет никакого инверсного входа для герконового датчика. Возьмите плату расширения. Ведь с неё намного удобнее.
Можно попробовать притянуть этот вход к земле и через резистор подать туда +5В. Как только отключится земля через геркон на этом входе и появится 5В сработает сигналка.
И хотелось чтобы сообщение менялось например «Alarm Sensor 2».
Может быть тогда так:
Alarm! Main sensor! — для основного
и
Alarm! Secondary sensor! — для вторичного?
Может команду консольную добавить на выбор между датчиками.
Этой фразы не понял :(.
+
avatar
0
  • bagotu
  • 25 июля 2017, 06:56
на сколько я понимаю. датчики на плате расширения, в консоле можно обозвать как угодно. в чем проблема тогда?
+
avatar
0
  • kvolk
  • 25 июля 2017, 06:59
Да, именно так.
+
avatar
0
Я имел ввиду, что консольной командой переводить работу выхода в режим геркона или датчика движения. Будет очень удобно, не использовать расширитель портов, для большинства задач этого будет достаточно.
Alarm! Main sensor! — для основного
и
Alarm! Secondary sensor! — для вторичного.
Пы.Сы. Если еще в режиме геркона проверять целостность цепи, как в первом датчике, вообще будет супер.
+
avatar
0
  • kvolk
  • 25 июля 2017, 15:36
Добавлю в план, если хватит ресурсов добавлю в прошивку.
+
avatar
0
спасибо
+
avatar
0
Можно убрать с обработки PIR датчика команду DelayBeforeAlarm, чтобы она не действовала на него. Этот датчик должен быть с моментальной сработкой. Нужно на случай проникновения, например через окно или другую дырку, чтобы сигналка сработала сразу не ожидая снятия с охраны.
+
avatar
0
  • kvolk
  • 26 июля 2017, 21:37
В таком случае придётся всю логику работы переделать для датчиков. Попробую.
+
avatar
0
  • kvolk
  • 08 августа 2017, 15:18
В связи с тем, что памяти нет и необходимо
переводить работу выхода в режим геркона или датчика движения.
В таком случае будет логично исключить команды ReedSwitchOn, ReedSwitchOff, PIROn, PIROff и всё что с ними связано, так как их можно будет отключать/включать через изменение логического уровня срабатывания датчика командой MainSensorHigh/MainSensorLow (или вовсе отключать обработку датчика, например через команду MainSensorOff).

Глобальные изменения, возможно я что-то не учел?...
+
avatar
0
можно тогда, например, А1 сделать тоже в режиме High/ Low, чтобы не занимать 2 порта, а управление внешним устройством перенести на А2 (ну или наоборот), А3 — исключить.
+
avatar
0
  • kvolk
  • 08 августа 2017, 15:48
можно тогда, например, А1 сделать тоже в режиме High/ Low, чтобы не занимать 2 порта, а управление внешним устройством перенести на А2, А3 — исключить.
Нет, нельзя. Все порты останутся как и были, у тех кто уже вытравил плату такой перенос портов не прокатит.
D6 — герконовый датчик
A0 — датчик движения HC-SR501
A1 — Вход для внешнего управления.
A2 — Инверсный вход для внешнего управления.
A3 — Настраиваемый (+5В или GND) выход для управления внешними устройствами.
Будет предположительно так:
D6 — Main sensor.
A0 — Second sensor.
И команды соответственно:
MainSensorHigh/MainSensorLow/MainSensorOff
SecondSensorHigh/SecondSensorLow/SecondSensorOff
Частичное удаление ReedSwitchOn, ReedSwitchOff, PIROn, PIROff уже высвободило чуть более 2% памяти, с учётом того что обработчики новых команд уже в коде реализованы, и присутствует тестовый режим и ручная установка модема, которые также можно безболезненно «выпилить» из прошивки.
На этой неделе попробую «допилить» прошивку под этот функционал.
+
avatar
0
D6 — Main sensor.
A0 — Second sensor.
Возможно изменение своего текста путем консольной команды, например, D6-Achtung Dver, A0-Achtung Okno?
На А0 будет реализована моментальная сработка?
+
avatar
0
  • kvolk
  • 08 августа 2017, 20:24
Возможно изменение своего текста
Нет, в таком случае много оперативной памяти потребуется.
На А0 будет реализована моментальная сработка?
Планирую каждому датчику своё (регулируемое) время срабатывания сделать.
+
avatar
0
  • kvolk
  • 10 августа 2017, 08:10
консольной командой переводить работу выхода в режим геркона или датчика движения.
в режиме геркона проверять целостность цепи
Полностью реализовано, так же для каждого из этих датчиков (main, second, PCF) может быть установлено своё время срабатывания.
В жертву принесён тестовый режим :( Прошивка будет в ближайшее время.
+
avatar
0
  • kvolk
  • 10 августа 2017, 10:06
В жертву принесён тестовый режим :(
Из прошивки удалена команда SMSOn/Off и всё что с ней связано.
+
avatar
0
  • kvolk
  • 24 июля 2017, 21:21
Я тут такой бред написал :)
+
avatar
0
Так я и не добился правильной работы на команду БАЛАНС.Заказал у оператора получение смс на англицком результат -0 Может это из за GSM модуля?
Есть возможность получать сообщения в транслите, на русском и англицком
Стоит пробовать? Может кто собирал на модуле A6 Mikro?
+
avatar
0
  • kvolk
  • 25 июля 2017, 10:42
A6 Mikro
или Mini?
Ссылку на модем дайте.
Вывод команды ListConfig в консоль покажите.
На A6_Mini всё прекрасно работает, проверял лично.
+
avatar
0
мини

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
+
avatar
0
  • kvolk
  • 25 июля 2017, 11:38
Вам не кажется что там полный бред? :)
Выполните MemTest потом FullReset для верности и заново настройте устройство, 99% всё будет работать как и должно.
И прошейтесь на последнюю прошивку.
+
avatar
0
Ну не идет процес…
Вот сейчас 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 не отсылает.Мой номер в первой ячейке
+
avatar
0
  • kvolk
  • 25 июля 2017, 13:44
Проверьте баланс этой симкарты в телефоне.
Вам прилетает в ответ не балнс, а какое-то сервисное сообщение от оператора.
+
avatar
0
Приходит баланс
Вчера заказал услугу английского
*120*93# пришло сообщение о подтверждении…
Сегодня ответ на запрос баланса — Na vashomu rahunku 11.11grn
И как это победить?
+
avatar
0
  • kvolk
  • 25 июля 2017, 14:11
Не пойму что побеждать?
Если эта симкарта в телефоне какой командой запрашиваете баланс чтобы пришел ответ
«Na vashomu rahunku 11.11grn»?
+
avatar
0
*101#
#101#
Ответ приходит на телефон абсолютно одинаковый…
+
avatar
0
  • kvolk
  • 25 июля 2017, 14:23
Вставьте симкарту в сигналку, включите устройство, выполните команду TestOn.
Перезагрузите устройство. Выполните команду Money из консоли.
Ответ выложите сюда.
+
avatar
0


www.2150692.ru/files/a6_at_commands.pdf

может поможет;)
+
avatar
0
  • kvolk
  • 25 июля 2017, 14:40
mySerial.println( F ("AT+CSCS=\"GSM\"")); //Режим кодировки текста

Модем конфигурируется при загрузке.
+
avatar
0
вот так с включенным teston
+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
+
avatar
0
  • kvolk
  • 25 июля 2017, 15:17
Выполните команды в консоли
AT+CUSD=1
ATD*100#;
Тестовый режим должен быть включен.
Ответ сюда выложите.
+
avatar
0
AT+CUSD=1
AT+CUSD=1

OK

ATD*100#
ATD*100#

+CME ERROR:500

На ATD*101# ответ

atd*101#
atd*101#

+CME ERROR:500
+
avatar
0
  • kvolk
  • 25 июля 2017, 15:42
Выполните
AT+CUSD=1
AT+CUSD=1,"#100#",15


Ссылку на модем дайте, что за модем у Вас.
+
avatar
0
AT+CUSD=1
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
+
avatar
0
  • kvolk
  • 25 июля 2017, 16:06
Эта симкарта случайно не предназначена только для планшета или смартфона? Какой тарифный план на этой симкарте? Регистрация в сети модемом проходит нормально?
Попробуйте с симкой другого оператора.
+
avatar
0
Тариф VADAFONE RED XS Для смартфона Это как-то может влиять?
+
avatar
0
  • kvolk
  • 25 июля 2017, 16:20
Да, ниже постом написал что необходимо сделать.
+
avatar
0
  • kvolk
  • 25 июля 2017, 16:19
Итак по порядку.
Выполните команды:
AT+СSCS="USC2"
AT+CUSD=1
AT+CUSD=1,"#100#",15
потом
AT+СSCS="PCCP936"
AT+CUSD=1
AT+CUSD=1,"#100#",15
потом
AT+СSCS="HEX"
AT+CUSD=1
AT+CUSD=1,"#100#",15


И ответы сюда выложите.
+
avatar
0
AT+CSCS=«USC2»
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
+
avatar
0
  • kvolk
  • 25 июля 2017, 18:25
Не вижу ответа в кодировке USC2. Выполните:

AT+CSCS="USC2"
AT+CUSD=1
AT+CUSD=1,"#100#",15
+
avatar
0
AT+CSCS=«USC2»
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
+
avatar
0
  • kvolk
  • 26 июля 2017, 08:35
Есть возможность вставить симку другого оператора и проверить?
+
avatar
0
Я тоже об этом думал.Чуть позже вставлю старый МТС, который без инета и отпишусь
+
avatar
0
это дело не в симкарте. на модеме A6 ответ баланса приходит в семибитной кодировке, вот почитайте:
arduino.ru/forum/apparatnye-voprosy/gsm-a6-vopros-pro-ring
там все хорошо расписано.
можете выложить код по сработке датчика движения, смс после 3й сработки датчика?
И вообще было бы познавательно взглянуть хотя бы на промежуточные коды hex прошивок, поделитесь?
+
avatar
0
  • kvolk
  • 03 августа 2017, 21:48
это дело не в симкарте.
Всё оказалось куда проще:)
можете выложить код по сработке датчика движения, смс после 3й сработки датчика?
В устройстве нет обработки количества срабатываний датчика движения, владелец уведомляется при каждом срабатывании.

Если Вам это поможет:
// ----- Проверка состояния датчика движения
void PIRDetect() {
  if (PIRGuard == 1) {
    PIRState = digitalRead(PIRPin);
    if (PIRState == HIGH && PIRFlag == 0 && guard == 1) {
      PIRFlag = 1;
      delay(100);
      if (LedOn == 1) digitalWrite(GLed, LOW);
      SendSmsText = Warn + ( F ("PIR sensor!"));
      PrepareAlarm(0, 1);
    }
    if (PIRState == LOW && PIRFlag == 1) {
      PIRFlag = 0;
      delay(100);
    }
  }
}


… поделитесь?
Извините, но пока нет.
+
avatar
0
  • kvolk
  • 26 июля 2017, 10:20
GSM_2017_07_26-10-03.hex — Добавлена команда ModemID. Автоматическое определение модема осуществляется только если значение этого параметра равно 0. После установки значения параметра равным 0 производится автоматическая перезагрузка устройства. Занято: 68% SRAM, 98% Flash Memory.
+
avatar
0
И опять я о балансе… С карточкой Лайф пости то-же самое…
+
avatar
0
  • kvolk
  • 27 июля 2017, 12:00
Arduino Uno? Попробуйте собрать на Nano. Может быть дело в ардуине.
+
avatar
0
  • Lagros
  • 27 июля 2017, 22:07
Подскажите.
Можно-ли сделать такое:
На дверь поставить концевик.
При закрытой двери питание отсутствует.
При открытии двери концевик подключает к схеме акб.
GSM модуль устанавливает соединение и звонит.
Все. Больше ничего не нужно.
+
avatar
0
  • kvolk
  • 27 июля 2017, 23:23
Можно-ли сделать такое
Можно, но это бессмысленное занятие. Объясняю почему:
При закрытой двери питание отсутствует.
Если вскроют дверь, то для того чтобы войти в помещение потребуется 2-3 секунды. За это время модем даже в сети не успеет зарегистрироваться, не говорю уже о вызове или отправке смс.
+
avatar
0
  • Lagros
  • 28 июля 2017, 11:47
Объясню ситуацию: Я хочу поставить это в подвал. Это в моем доме. Там периодически вскрывают дверь (могут прошерстить ВЕСЬ подвал). И все переворачивают вверх дном. Особо ценного ничего нет. Но утомляет постоянно наводить порядок. Скорее всего это делает кто-то с нашего подъезда. Само устройство замаскирую. Оно будет не заметно. Когда они вскрывают дверь, то ее не закрывают. И начинают там куралесить. Поэтому установка соединения и звонок на мобильный должен пройти без проблем.
Даже если дверь и закроется, то легко можно предусмотреть задержку отключения питания на пару минут.
+
avatar
0
  • kvolk
  • 28 июля 2017, 16:31
Наверное Вам сюда стоит заглянуть.
+
avatar
0
Здравствуйте реализуйте пожалуйста функкцыю сигнализатора подключения модема к сети, т.е если модем подключен к сети оператора то горит светодиод,
+
avatar
0
  • kvolk
  • 29 июля 2017, 08:51
Если Вы не уверены в уровне сигнала может быть стоит использовать внешнюю антенну? Я не уверен что на это хватит места.
+
avatar
0
sim800 и А6 итак имеют свой сигнализатор
+
avatar
0
у меня m590
+
avatar
0
gsm.println(«AT+COPS?»);
if (gsm.find("+COPS: 0")) break;
чтоб при включении в цикле
спрашивал к какой сети подключен и про ответе +cops 0 зажечь светодиод.
+
avatar
0
  • kvolk
  • 29 июля 2017, 14:52
Зачем? Какой смысл?
+
avatar
0
чтоб было видно что модем зарегистрировался
+
avatar
0
  • kvolk
  • 29 июля 2017, 19:09
А если модем через (пять, десять двадцать минут) пол часа потеряет сеть?
+
avatar
0
что означает команда AT+CHUP?
+
avatar
0
  • kvolk
  • 29 июля 2017, 14:25
AT+CHUP — отклонить вызов.
На первой же строчке в любом поисковике.
+
avatar
0
у меня когда отзванивается, после завершения вызова в мониторе порта видно АТ +CHUP ERROR циклично! так должно быть?
+
avatar
0
  • kvolk
  • 29 июля 2017, 14:55
Да, тоже заметил это, поправлю. Это связано с фоновыми вызовами и пустыми данными в ячейках памяти.
+
avatar
0
Добрый день, за темой слежу очень давно все уже на руках но все не как не соберусь собрать все в кучу.
Есть просьба к автору: если есть возможность (и хватает памяти в дуине) прикрутить релейный модуль с привязкой к соответствующей команде, например для электрического замка (импульс 1,5-2с) или включения таймера света. Команду можно сделать изменяемую, время импульса или переключение реле тоже изменяемое для разных задач.
+
avatar
0
  • kvolk
  • 31 июля 2017, 23:26
Добавлю если хватит памяти.
+
avatar
0
  • kvolk
  • 03 августа 2017, 22:53
Готово. Обновитесь.
+
avatar
0
Спасибо, нужная вещь.
+
avatar
0
да тоже хотел попросить добавить выход для управления нагрузкой
+
avatar
0
  • kvolk
  • 03 августа 2017, 23:18
GSM_2017_08_03-22-03.hex — Теперь сигнализация может управлять внешними устройствами. Для управления используется аналоговый выход A3 (D17 — используется как цифровой). Логический уровень выхода (+5В или GND) может быть изменен, после изменения уровня через команду настройки устройство автоматически будет перезагружено. Длительность сигнала управления внешним устройством может быть изменена. Добавлены команды ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Некоторые изменения в логике работы команд управления. Оптимизация памяти. Занято: 68% SRAM, 99% Flash Memory.
UPD. В планах так же остались следующие «допилы»:
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. Полагаю что сразу возникнут вопросы по поводу:
Некоторые изменения в логике работы команд управления. Оптимизация памяти.
Рассказываю:
Было так:

    if ((val.indexOf( F ("teston")) > -1)) {
...
    }
    if ((val.indexOf( F ("testoff")) > -1)) {
...
    }

Стало так:

  if ((val.indexOf( F ("testo")) > -1)) {
    if ((val.indexOf("n") > -1)) {
...
    }
    else {
...
    }
  }

Как следствие, команда "TESTOuiourewjrkldk" будет отработана и выключит тестовый режим, включить тестовый режим сможет и команда "TESTOhjfkdssdpNgdfgd".
Команды GuardOn и GuardOff эти изменения не затронули, и срабатывают только по полному совпадению.
Эти изменения позволили высвободить дополнительно около 3% флэш памяти, и без урезания функционала добавить управление внешними устройствами.
+
avatar
+1
в ответ на watchpoweron1 получил смс Watch the power ONFF
+
avatar
0
  • kvolk
  • 09 августа 2017, 12:46
Спасибо, сейчас гляну.
+
avatar
0
  • kvolk
  • 09 августа 2017, 13:07
Банально из-за невнимательности. Такая же проблема с «GuardButtonOn1/2/Off».
Починил, но есть одна трудность, уже начал процесс «глобального» изменения прошивки, и теперь только два пути:
1) Допилить глобальные изменения в прошивке и в неё уже внести эти исправления — требуется время.
2) Если допилить не получается — откат на последнюю (текущую), в неё вношу исправления и выкладываю — так же, необходимо время.

Выложу сейчас исправленную прошивку.
+
avatar
0
  • kvolk
  • 09 августа 2017, 13:39
Починил, обновитесь.
Nano_GSM_2017_08_03-22-03-fix.hex
или
Uno_GSM_2017_08_03-22-03-fix.hex
+
avatar
0
Добрый день.
Возникла проблема с управлением устройством. Пользую открытый скетч переделанный под свои хотелки…
Устройство не принимает SMS/ Модем A6 MINI
При старте модем на команду mySerial.println(«AT+CNMI=2,2»);
отвечает OK
AT+CNMI=K
В HEX прошивке все ОК.
Где моя ошибка?
Даже в Вашем чистом скетче(без моих переделок) скомпиликованом то-же самое
+
avatar
0
  • kvolk
  • 04 августа 2017, 09:23
Устройство не принимает SMS/ Модем A6 MINI
Не принимает — не может быть. Может быть номер проверку не проходит? Покажите лог из консоли.
AT+CNMI=K
Буфер софтваресериал увеличили?
+
avatar
0
Cпасибо. переставлял систему а за буфер забыл…
+
avatar
0
Преобразованием уровней, установкой фиксированной частоты обмена, дополнительными емкостями по питанию, проблему сдвоенного вызова решить не удалось.
Сейчас отловил в консоли крякозябры, причем может стабильно работать несколько часов, потом опять проблемы.
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, которая не подходит.
Наверное придется заказывать другой модуль.
+
avatar
0
  • kvolk
  • 06 августа 2017, 20:49
Прошивку открытую используете?
+
avatar
0
Начал с 06.11 и до 08.03.22
+
avatar
0
  • kvolk
  • 07 августа 2017, 08:13
Преобразователь уровней убрали? Тестовый режим отключен?
+
avatar
0
Преобразователь убрал, оставил как было делитель на rx и резистор на tx. Крякозябры отловил с включенным тестовым режимом. После прошивки ардуины с мемтестом и фулресетом, несколько звонков проходят нормально, а дальше начинаются глюки.
+
avatar
0
  • kvolk
  • 09 августа 2017, 13:09
оставил как было делитель на rx и резистор на tx.
С какой целью?
Крякозябры отловил с включенным тестовым режимом.
Кракозябры возможны в тестовом режиме — буфера может не хватать для всего того что сыпется от модема.
После прошивки ардуины с мемтестом и фулресетом, несколько звонков проходят нормально, а дальше начинаются глюки.
Почти неделя — полёт нормальный на 590 модеме, сегодня забыл снять с охраны — ночью отключали свет на полтора часа :)
+
avatar
0
Делитель для снижения напряжения линииТХ ардуины
с 5в до 2.8в необходимых модему. Попробую подключить напрямую. Ещё хотел раздельно запитать модем и ардуину.
+
avatar
0
  • kvolk
  • 08 августа 2017, 09:11
Сегодня заметил, в «боевом» устройстве на контроллере заряда-разряда мигает светодиод. Разобрал — сдох аккумулятор. На клеммах аккумулятора 0,012В и выше не поднимается. Аккумулятор Samsung ICR18650 — 26D, б/у, до этого очень долго трудился в батарее от ноутбука.
+
avatar
0
  • PrSergey
  • 10 августа 2017, 10:48
Добрый день, подскажите пожалуйста как должен вести себя контроллер заряда-разряда (светодиоды) у меня светится синий и красный, напряжение на аккумуляторе и на выходе выше 3,9 не поднимается (хотя полностью заряженый должен быть 4,2), подергав аккумулятор в держателе иногда тухнет синий но через время снова загорается.
+
avatar
0
  • kvolk
  • 10 августа 2017, 11:12
как должен вести себя контроллер заряда-разряда (светодиоды)
Я использую плату доработки источника резервного питания. При заряде у меня горит постоянно красный, по окончании — загорается фиолетовый (4,2 В на клеммах аккумулятора). Как только напряжение на аккумуляторе падает до 4,05 В (примерно) снова загорается красный и начинается заряд до 4,2 В — на нормальном аккумуляторе такой «дозаряд» (горит красный светодиод) происходит раз в 2-3 дня и то не всегда можно это заметить. То есть практически всегда горит фиолетовый светодиод.
Если плату не использовать происходит примерно тоже самое, только по несколько раз в сутки (насилие над аккумулятором). Аккумулятор в любом случае должен заряжаться до 4,2 В, загорелся фиолетовый светодиод — пол часа (час, может чуть больше) светится и потом снова на дозаряд (красный светодиод).

напряжение на аккумуляторе и на выходе выше 3,9 не поднимается
Попробуйте подключить этот аккумулятор просто к контроллеру заряда, сможет ли он его зарядить до 4,2 В? Может быть тухлый аккумулятор, греется ли он во время заряда?
+
avatar
0
  • PrSergey
  • 10 августа 2017, 11:40
Аккумулятор просто подключен к контроллеру (пока без сигнализации гоняю) в процессе заряда — не греется, если таковой присутствует (я про заряд). Попробую другой аккумулятор. Контроллер заряда «голый» без доработок.
Спасибо за ответ.
+
avatar
0
  • kvolk
  • 10 августа 2017, 11:44
Если оставить аккумулятор на сутки в покое, сильно ли упадёт напряжение за это время? Что за аккумулятор используете?
+
avatar
0
  • PrSergey
  • 10 августа 2017, 12:32
18650 б.у. из ноутбучной сборки HP на самих «банках» не какой маркировки.
+
avatar
+2
  • kvolk
  • 10 августа 2017, 12:55
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, SecondSensorLevelHigh/SecondSensorLevelLow, MainDelayBeforeAlarm, SecondDelayBeforeAlarm, PCFDelayBeforeAlarm. Занято: 68% SRAM, 99% Flash Memory.
Если Вам не нужен функционал этой прошивки используйте предыдущую GSM_2017_08_03-22-03-fix-02.hex.
На этом и закончим, новый функционал вноситься в прошивки не будет, только исправления выявленных ошибок.
В дальнейшем будут выкладываться прошивки с суффиксом -fix- и порядковым номером исправления.
+
avatar
0
  • kvolk
  • 10 августа 2017, 13:02
GSM_2017_08_03-22-03-fix-02.hex — Исправлена работа платы расширения при котором устройство всегда уведомляло о срабатывании датчиков, вне зависимости от того поставлено устройство на охрану или нет.
+
avatar
0
Что с командами PIROn/Off — как они теперь работают?
+
avatar
0
  • kvolk
  • 11 августа 2017, 14:46
В прошивке GSM_2017_08_03-22-03 эти команды не исключены, и работают как и прежде. В данный момент образовалось две итоговые прошивки это GSM_2017_08_03-22-03 и GSM_2017_08_10-12-17 в них будут в дальнейшем вноситься фиксы.
+
avatar
0
Респект за проделанную работу
+
avatar
0
Прошивка GSM_2017_08_10-12-17.hex, не загорается красный светодиод (D10) постановки на охрану, при разрыве геркона, моргает.
+
avatar
0
  • kvolk
  • 12 августа 2017, 08:42
Покажите вывод ListConfig.
+
avatar
+1
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: *101#
Length to return: 26
+
avatar
0
  • kvolk
  • 14 августа 2017, 21:07
Исправлено. Обновитесь GSM_2017_08_10-12-17-fix-01.hex.
+
avatar
+1
Новый ListConfig
Не работает команда 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
+
avatar
0
  • kvolk
  • 14 августа 2017, 09:56
Спасибо, это починил.
+
avatar
0
  • kvolk
  • 14 августа 2017, 21:07
Исправлено. Обновитесь GSM_2017_08_10-12-17-fix-01.hex.
+
avatar
0
  • kvolk
  • 14 августа 2017, 20:57
UPD. Забыл ещё описать две команды для прошивки GSM_2017_08_10-12-17.hex:
Добавлены команды MainSensorLevelOff, SecondSensorLevelOff
MainSensorLevelOff — обработка датчика на входе (D6) отключена
SecondSensorLevelOff — обработка датчика на входе (A0) отключена
+
avatar
0
  • iwizard
  • 29 сентября 2017, 07:28
Есть в планах сигнализация на ESP? помню как то вы говорили что как закончите с этой будете экспериментировать с 8266
+
avatar
0
  • kvolk
  • 29 сентября 2017, 11:28
В планах есть, но со свободным временем проблема.
+
avatar
0
Может есть смысл на ESP32? Там и ресурсов больше и ЖПРС можно организовать. Разница в цене между 32 и 8266 около 2х долларов
https://www.banggood.com/ESP32-Development-Board-WiFiBluetooth-Ultra-Low-Power-Consumption-Dual-Cores-ESP-32-ESP-32S-Board-p-1109512.html
+
avatar
0
  • kvolk
  • 06 октября 2017, 09:15
Интересная железка, возможно есть смысл.
+
avatar
0
  • kvolk
  • 14 августа 2017, 21:10
Обновление GSM_2017_08_10-12-17-fix-01.hex.
+
avatar
0
kvolk Подскажи: после отправки каждой смс приходит ответ +CMGS: 210.
210 это я понимаю счетчик успешно отправленных смс. Его нужно обнулять?
+
avatar
0
  • kvolk
  • 22 августа 2017, 09:33
Его нужно обнулять?
Нет, не нужно.
+
avatar
0
Спасибо
+
avatar
0
Подскажите: После использования модема в другом устройстве перестал отправлять сообщения и реагировать на них.
Вот ответ на команду 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
+
avatar
0
Вот так выглядит в терминале:
это после старта скетча
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
Что я сделел не так?
+
avatar
0
  • kvolk
  • 29 августа 2017, 14:09
Что я сделал не так?
Не могу Вам сказать, проверьте на актуальной прошивке.
+
avatar
0
последня актуальная прошивка-управление работает(через смс)
Команда teston светодиод синий помигает несколько раз и гаснет, через приблизительно минуту повтор В терминале на команду teston 5 раз ОК Так должно быть?
+
avatar
0
  • kvolk
  • 29 августа 2017, 17:00
последня актуальная прошивка-управление работает(через смс)
Значит с модемом всё ок.
Команда teston светодиод синий помигает несколько раз и гаснет, через приблизительно минуту
Спасибо, проверю.
повтор В терминале на команду teston 5 раз ОК Так должно быть?
Да, это инициализация модема. Ответы модема на пришедшие ему комнады с настройками.
+
avatar
0
  • PrSergey
  • 29 сентября 2017, 11:32
Добрый день, подскажите не могу залить прошивку GSM_2017_08_10-12-17-fix-01.hex В конце «заливки» — Download Failed, предыдущая без «FIX» заливается без проблем.
+
avatar
0
  • kvolk
  • 29 сентября 2017, 11:41
Скорее всего заливаете прошивку скомпилированную для Uno в Nano или наоборот. Заново скачайте.
+
avatar
0
  • PrSergey
  • 29 сентября 2017, 11:44
Брал в папке Nano, может быть, что там перепутаны?
+
avatar
0
  • kvolk
  • 29 сентября 2017, 11:46
Вечером проверю, прошью свои железяки. На гугл диске прошивки с названием GSM_2017_08_10-12-17-fix-01.hex нет, есть только Nano_GSM_2017_08_10-12-17-fix-01.hex и Uno_GSM_2017_08_10-12-17-fix-01.hex
+
avatar
0
  • PrSergey
  • 02 октября 2017, 10:28
Брал именно Nano_GSM_2017_08_10-12-17-fix-01.hex с гугл диска. И не в какую.
+
avatar
0
  • kvolk
  • 02 октября 2017, 20:03
Обе прошивки скачал с гугла и залил в устройство без каких либо трудностей:

Наверное что-то не так с вашей ардуиной.
+
avatar
0
  • PrSergey
  • 04 октября 2017, 11:50
Возможно, жаль, что уже распаяна. Может подскажете, что можно сделать?
+
avatar
+1
  • kvolk
  • 04 октября 2017, 13:53
Проверить на другой ардуине, и пересадить ардуину на «разъём».
+
avatar
0
  • Deryn
  • 04 октября 2017, 10:06
добрый день подскажите пожалуйста как поменять прошивку в hex файле
+
avatar
0
  • kvolk
  • 04 октября 2017, 11:24
Добрый день, никак.
+
avatar
0
  • Deryn
  • 04 октября 2017, 13:02
а что делать? брать вашу прошивку!
+
avatar
0
  • kvolk
  • 04 октября 2017, 13:09
Всегда есть выбор, можно не брать и написать свою.
+
avatar
0
  • Deryn
  • 04 октября 2017, 16:13
я начынающий я в етом деле ноль я уже всьо купыл и подсоеденил а с прошивкой розобратса немогу! помогите мне
+
avatar
0
  • kvolk
  • 04 октября 2017, 16:17
Читайте обзор ещё раз, там всё подробно расписано.
+
avatar
0
  • Deryn
  • 04 октября 2017, 16:23
дайте подсказку что би я точно розобрался
+
avatar
0
  • kvolk
  • 04 октября 2017, 16:30
Разобраться в чём? :)
+
avatar
0
  • Deryn
  • 04 октября 2017, 16:38
в прошивке!
+
avatar
0
  • kvolk
  • 04 октября 2017, 16:42
Инструкция по прошивке
— подключаем Arduino в USB-порт
— выбираем Hex файл
— выбираем тип Arduino Nano
— выбираем COM порт, который создался при подключении Arduino к USB
— скорость 57600
— нажимаем Upload
В обзоре написано.
+
avatar
0
  • Deryn
  • 04 октября 2017, 16:43
а как записать свой номер?
+
avatar
0
  • kvolk
  • 04 октября 2017, 16:57
Читайте обзор. Там есть список команд для HEX прошивки.
+
avatar
0
  • Deryn
  • 04 октября 2017, 16:59
я всьо написал все ы прошил а оно нехочет перезванывать вызов сбивает а перезванывать нехочет!
+
avatar
0
  • kvolk
  • 04 октября 2017, 17:02
Открою секрет, «оно» не перезванивает :)
+
avatar
0
  • Deryn
  • 04 октября 2017, 17:06
можите реально помочь или нет мне для депломной робити нада!
комментарий скрыт
+
avatar
0
  • Deryn
  • 04 октября 2017, 17:14
я к вам обращаю пожалуйста помогите с прошивкой пж
+
avatar
0
  • Deryn
  • 04 октября 2017, 17:21
я серйозно помогите мне сделать я не отстану
+
avatar
0
  • Deryn
  • 04 октября 2017, 19:24
ага давайте помогайте мне
+
avatar
0
Внимательно проситайте обзор. Не грузите автора ненужными вопросами. Все есть в озоре.
+
avatar
0
  • Deryn
  • 04 октября 2017, 20:30
я понимаю но мне нада информация он мне ее недает и что мне делать я его прошу а он только ржот
+
avatar
+2
  • Maksym
  • 05 октября 2017, 00:44
Есть проверенный способ — написать в ООО «Спортлото», 109316, Москва, Волгоградский проспект, д. 43, корп. 3.
+
avatar
0
ПРОЧИТАЙТЕ ВНИМАТЕЛЬНО всю статью и комментарии. Здесь все подробно описано!
Или ищите другую тему для дипломной )
+
avatar
0
  • Deryn
  • 19 октября 2017, 16:16
здраствуйте я хочу спросить я все подключил всьо правильно но светодыод светытса синим от чего она может зависать подскажите пожалуйста
+
avatar
0
  • kvolk
  • 19 октября 2017, 16:25
здраствуйте...
Мы без Вас скучали :)
+
avatar
0
  • Deryn
  • 19 октября 2017, 16:36
ну так ви мне поможыте
+
avatar
0
  • kvolk
  • 19 октября 2017, 16:46
ну так ви мне поможыте
А мы тут чем занимаемся? Поможым… :)
+
avatar
0
  • Deryn
  • 19 октября 2017, 16:50
ну так помогайте
+
avatar
0
  • kvolk
  • 19 октября 2017, 17:00
ну так помогайте
Она может зависать по разным причинам, первая основная причина, например, это неправильное подключение.
+
avatar
0
  • Gienekb4
  • 22 октября 2017, 21:15
kvolk Подскажи: У меня есть модуль M590E.
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 отправляется правильно
+
avatar
0
  • kvolk
  • 23 октября 2017, 10:12
… что вы изменили...
После открытого скетча sketch_02_12_2016.ino было внесено огромное количество изменений.
… но SMS слишком короткий, хотя в мониторе порта гораздо больше.
Покажите лог из монитора порта и то. что приходит в смс. Текст должен быть одинаковый.


...
  if ((val.indexOf( F ("money")) > -1)) {
    balance(ConsoleCommand);
  }
...
void balance(uint8_t from_console) {
  if (from_console == 1) ConsoleEvent = 1;
  delay(1000);
  mySerial.print(F("AT+CUSD=1,\""));
  mySerial.print(BalanceNumber);
  mySerial.println("\",15");
}
...
+
avatar
0
  • Gienekb4
  • 23 октября 2017, 10:34
Спасибо за ответ. Я знаю, что было сделано много изменений, но я хотел знать, почему ABORTED появился в открытом скетчу.
С длиной SMS уже устранил проблему. Я использовал команду BalanceNum: * 101 # L60 и все в порядке.
+
avatar
0
  • kvolk
  • 23 октября 2017, 11:02
но я хотел знать, почему ABORTED появился в открытом скетчу.
только это:
mySerial.print(F(«AT+CUSD=1,\»"));
mySerial.print(BalanceNumber);
mySerial.println("\",15");
+
avatar
0
  • Gienekb4
  • 23 октября 2017, 11:27
Почему эти описания различаются:
mySerial.print(F("AT+CUSD=1,\""));
  mySerial.print(BalanceNumber);
  mySerial.println("\",15");


и

mySerial.print(F(«AT+CUSD=1,\»"));
mySerial.print(BalanceNumber);
mySerial.println("\",15");


Меня интересуют кавычки.
+
avatar
0
  • kvolk
  • 23 октября 2017, 12:12
Потому что движок сайта меняет кавычки, если код вставлен не как код :)
Правильно:
mySerial.print(F("AT+CUSD=1,\""));
  mySerial.print(BalanceNumber);
  mySerial.println("\",15");
+
avatar
0
  • Gienekb4
  • 23 октября 2017, 16:46
Я пытаюсь получить правильное значение в открытом скетчу, но не могу добиться успеха. Во время компиляции программа «кричит», «нет декларации переменных» — (ConsoleCommand, uint8_t from_console, ConsoleEvent).
Да, я знаю, для вас это «хлеб с маслом», но для меня, в чужой программе, трудно вносить исправления.
+
avatar
0
  • kvolk
  • 23 октября 2017, 17:15
В открытом скетче отсутствуют эти переменные, вот поправил код:

  if ((val.indexOf( F ("money")) > -1)) {
    balance();
  }

void balance(){
  delay(1000);
  mySerial.print(F("AT+CUSD=1,\""));
  mySerial.print(BalanceNumber);
  mySerial.println("\",15");
}
+
avatar
0
  • Deryn
  • 23 октября 2017, 19:16
ау вы тут от чего он ещо может глючить
+
avatar
0
  • Gienekb4
  • 23 октября 2017, 19:21
Он компилируется правильно, но теперь есть «чудеса».
После команды «Money» в мониторе порта получаю:
Event: +48xxxxxxxxx
Q⸮⸮5E⸮I⸮⸮$KLM⸮
48xxxxxxxxx

+CUSD: 0,"правильный текст
SMS sended! Phone: +48xxxxxxxxx; Message: правильный текст
T+CMGS="+48xxxxxxxxx"

ERROR
⸮⸮	֤^\⸮taҁ⸮⸮⸮⸮18-10-14 A


SMS не отправляется. Как это понимать?
+
avatar
0
  • kvolk
  • 23 октября 2017, 23:01
Как это понимать?
Что у вас с памятью, сколько свободной, сколько занято?
Это сделали?
В файл SoftwareSerial.h (C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.h) необходимо внести изменения

было так:

#define _SS_MAX_RX_BUFF 64 


стало так:

#define _SS_MAX_RX_BUFF 192
+
avatar
0
  • Gienekb4
  • 23 октября 2017, 23:41
Скетч использует 12230 байт (39%) памяти устройства. Всего доступно 30720 байт.
Сделал это изменение. Теперь я получаю:
Event: +48xxxxxxxxx
$ը*OL⸮*1b⸮⸮5

48xxxxxxxxx

+CUSD: 0,"Полный баланс от оператора",15

OK

SMS sended! Phone: +48xxxxxxxxx; Message: Содержание баланса без "мусора"
T+CMGS="+48xxxxxxxxx"

ERROR
⸮zos±⸮⸮b"⸮K⸮⸮V$⸮2018-10-21 AT+CUSD=0

OK


SMS не отправляется.
+
avatar
0
  • kvolk
  • 24 октября 2017, 13:35
Модем подключен к ардуине напрямую без делителя напряжения?
+
avatar
0
  • Gienekb4
  • 24 октября 2017, 15:20
Нет, с делителем напряжения.
Все команды выполняются правильно, смс отправляются,
кроме команды «money»
+
avatar
0
  • kvolk
  • 24 октября 2017, 15:29
Перефразирую. Преобразователь уровней между модемом и ардуиной есть?
PS сюда загляните, если есть преобразователь уровней — убрать.

mysku.club/blog/ebay/43282.html#comment2163376
+
avatar
0
  • Gienekb4
  • 24 октября 2017, 16:23
Да, у меня есть делитель уровней, но мой делитель немного отличается — делитель 1,2ком\1,5ком по RX и резистором 220ом на линии TX.
Я удалил этот разделитель, но это ничего не изменило.
После команды «money» продолжает появляться «мусор»
+
avatar
0
  • kvolk
  • 24 октября 2017, 16:33
удалил этот разделитель, но это ничего не изменило.
Попробуйте притянуть к земле и RX через 10кОм, и TX через 10 кОм как тут на схеме mysku.club/blog/ebay/43282.html#comment2007147

Попробуйте увеличить буфер до 256
#define _SS_MAX_RX_BUFF 256

Сколько оперативной памяти занимает проект?

Скиньте сюда полный лог после компиляции, и в какой версии Arduino IDE вы компилируете проект?
+
avatar
0
  • Gienekb4
  • 24 октября 2017, 18:54
Эта схема как-то «странная». Почему делитель на TX, а не на RX (arduino)? Я сделал это как вы посоветовали — никаких изменений
Я увеличил буфер до 256, но это ничего не меняет.
Это полный лог после компиляции:
В эскизе используется 12132 байт (39%) программной памяти. Максимум 30720 байт.
Глобальные переменные используют 1119 байт (54%) динамической памяти, оставляя 929 байтов для локальных переменных. Максимум 2048 байт.
Arduino IDE — 1.8.4
+
avatar
0
  • kvolk
  • 24 октября 2017, 15:44
Все команды выполняются правильно, смс отправляются,
кроме команды «money»
mysku.club/blog/ebay/43282.html#comment2151394
mysku.club/blog/ebay/43282.html#comment2163376
+
avatar
0
В моем случае все решилось заменой модема. Работает как с преобразованием уровней, так и без. Новый модем пришел тоже 14 ревизии.
+
avatar
0
  • Gienekb4
  • 24 октября 2017, 21:28
Таких «чудес» я никогда не видел.
Если я включу устройство и в первую очередь пошлю другую команду, например, «Info», — все в порядке, смс приходит.
И затем посылаю команду «money», я получаю:

Event: +48xxxxxxxxx
AT⸮M⸮b⸮)S"$LM
48xxxxxxxxx

+CUSD: 0,"Полный баланс от оператора",15

OK

SMS sended! Phone: +48xxxxxxxxx; Message: Содержание баланса без "мусора"
AT+CMGS="+48xxxxxxxxx"

> Po⸮х⸮	I֤^\^tan⸮⸮⸮ 2018-10-21 
+CMGS: 87

OK
AT+CUSD=0

OK



По телефону приходит SMS с действительным балансом.

И как вы сейчас это понимаете?
+
avatar
0
  • kvolk
  • 25 октября 2017, 10:18
И как вы сейчас это понимаете?
Есть возможность проверить с другим модемом?
+
avatar
0
  • Gienekb4
  • 25 октября 2017, 21:54
Мне потребовалось много времени, чтобы добраться до нового модема M590E. Наконец, я смог проверить работу команды «money» на втором модемом. Он работает на скорости 38400 (старый на 9600). После перекомпиляции программы все работает очень хорошо, «мусор» больше не появляется. Оказалось, что «виновником» был модем.
Большое вам спасибо за вашу помощь и терпение.
+
avatar
0
  • kvolk
  • 26 октября 2017, 08:38
Уже второй случай из-за модема, добавлю это в обзор, спасибо за информацию.
+
avatar
0
  • Deryn
  • 23 октября 2017, 12:18
Я подключил все правильно о чего ещо может он зависать?
+
avatar
0
  • Deryn
  • 23 октября 2017, 20:31
ау мне кто небудь поможет
+
avatar
0
Чем помочь? Читать научить или что? В начале все описано и разжевано, что может быть не понятно!!! Научитесь конкретно ставить вопрос, по существу, тогда помогут.
+
avatar
0
  • kvolk
  • 27 октября 2017, 14:56
Медленно, но верно мы идём к логическому завершению:) Deryn, наверное самый молодой из этой аудитории, поэтому нам так «непросто» понять его.
+
avatar
0
kvolk Подскажи может знаешь…
Ситуация выглядит так: Собираю проэкт заливаю в плату все работает…
Потом скачиваю библиотеку от Даласа похоже все работает но при заливке скетча в плату
в терминале порта вижу
AT+CMGF=1

OK
AT+CSCS=«GSM»

OK
AT+CNMI=
и смс устройство не отправляет.
В скетче ссылок на далас нет
Удаляю ардуину, чишчу реестр ставлю по новому ардуину результат тот-же.
Переставил операционку поставил ардуину пробую все ОК ставлю библиотеку от дадаса и все опять.
Кто может сталкивался с таким?
Тот же скетч на другой машине, без даласовской библы все ОК
+
avatar
0
  • kvolk
  • 30 октября 2017, 10:54
Открытый скетч переделываете? Не хватает буфера.
В файл SoftwareSerial.h (C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.h) необходимо внести изменения

было так:

#define _SS_MAX_RX_BUFF 64

стало так:

#define _SS_MAX_RX_BUFF 192
+
avatar
0
Да переделываю
Изменения внес сразу после установки
Даже пробовал 256
Тот же скетч на другой машине, без даласовской библы все ОК
+
avatar
0
  • kvolk
  • 30 октября 2017, 16:23
Сколько памяти занято? Покажите лог после компиляции.
+
avatar
0
спасибо за наводку. Нашел проблему.Библиотеку поправил в Папке с установленной ардуиной, а она ее потянула с дрегого места:

Используем библиотеку SoftwareSerial версии 1.0 из папки: C:\Users\Администратор\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\libraries\SoftwareSerial
Поправил там и все стало на место…
+
avatar
0
Можно сделать вывод информации в смс на основной номер этих команд ListSensor, ListConfig, ListPhone ??
+
avatar
+1
  • kvolk
  • 07 ноября 2017, 11:46
Попробую.
+
avatar
0
  • kvolk
  • 12 ноября 2017, 00:15
Увы, нет времени…
+
avatar
0
Ну может чуть позже получится. Не всегда есть возможность подключиться через терминал, а конфиги со временем забываются
+
avatar
+2
  • kvolk
  • 12 ноября 2017, 00:34


Исходники последних прошивок забираем на гуглдиске.
+
avatar
0
  • kvolk
  • 12 ноября 2017, 01:09
Если нужны исходники промежуточных версий — выложу.
+
avatar
0
У меня продолжается фигня с модемом. Оказалось, что для того, чтобы этот долбаный IOT-GA6 (прислали вместо стандартного А6) нормально принимал данные с ардуино нано, нужно его выводы U_RXD/U_TXD, к торорым собственно и подключаем сериал ардуино, подтянуть к массе резисторами 10кОм, иначе — модем еще кое-как передавал данные, но совершенно отказывался их принимать. Для проверки соединения нашел и подправил такой скетч, этот скечт прогоняет данные между аппаратным сериалом и софтверным, по тем же ногам, что автор использовал в своей прошивке HEX:

// this sketch is used for testing LoNet with Arduino 

// Connect VIO to +5V
// Connect GND to Ground
// Connect RX (data into SIM800L) to Digital 11
// Connect TX (data out from SIM800L) to Digital 10

#include <SoftwareSerial.h>
//#include <AltSoftSerial.h>

SoftwareSerial mySerial(9, 8); // RX, TX

void setup()  
{
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  mySerial.begin(9600);

}

void loop() // run over and over
{
  if (mySerial.available())
    Serial.write(mySerial.read());
    
  if (Serial.available())
  { 
    while(Serial.available())
    {
      mySerial.write(Serial.read());
    }
    mySerial.println();
  }
}


Чтобы эта собака раз и навсегда перешла на баундрейт 9600, нужно ввести команду
ATZ+IPR=9600
команда AT+IPR=9600 меняет баундрейт до перезагрузки.
ОК! Модем нормально коннектится через ардуино, при звонке выдает
RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

RING

+CIEV: "CALL",0

NO CARRIER

+CMTI: "SM",8


Прошиваю последнюю НЕХ прошивку, пробую звонить на модем — нифига! Мастер-номер не принимается, вообще ничего не происходит. Перебираю все, от 0 до 3 ModemID, звоню и… снова нифига!

Да что-же это такое?! Уже мозг кипит!
+
avatar
0
Разобрался. Хм… Я таки умудрился RX\TX выводы перепутать, соответствено в скетче вверху, в строке
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, не совсем баг, скорее недоработка.
+
avatar
0
вот что мой модем выдает при звонке с телефона сына
RING

+CLIP: "693826ХХХ",129,,,,1

RING

RING

RING

RING

+CIEV: "CALL",0 \\ я сбросил звонок

NO CARRIER


а вот, что с моего номера
+CLIP: "34642012ХХХ",145,,,,1

RING

RING

RING

RING

RING

RING

RING

RING

+CIEV: "CALL",0

NO CARRIER
+
avatar
0
  • kvolk
  • 17 ноября 2017, 11:18
Пробую отдельно внести номер сына в формате +34693ХХХХХХ, программа матерится, что номер уже присутствует.
Ага, тоже баг, потому что подстрока 693ХХХХХХ присутствует в строке 34693ХХХХХХ.
Отключите проверку на задвоение номеров (eepromaddphone).

Имхо, номер нужно разделять на две переменные…
При всём желании я не смог бы проветрить эту реализацию, у нас нет таких заморочек с кодами.

если стереть номер
Ребут.
При добавлении не выводится список номеров...
Было удалено из-за нехватки ОЗУ.
GSM_2017_06_02-17-43.hex —… Исправлен баг кривого вывода в консоль после выполнения команды AddPhone, теперь информация не выводится автоматически после добавления номера.
+
avatar
0
Проблему с АОНом удалось решить. Правда ценой ещё одной функции и двух переменных: InternetionalCode и NumLength. В первой соответственно код страны, во второй длинна действующего номера. Пока прописал значения в скетч, у меня проблема с прописыванием в ЕЕПРОМ, пока не разобрался в вашей структуре записи.
Добавил проверку «свободен ли модем» после звонка. Иначе СМС часто не отправлялись, потому как голосовой вызов вроде завершён, но линия подвисает (робот удерживает или ещё что-то), теперь работает корректно.
Исходя из всего, что я поменял, пришлось полностью прибить все, что относится к экспандера портов, иначе места во флеш просто не осталось. Мне столько не нужно, два охранных шлейфа достаточно. Зато я теперь смогу добавить датчик температуры и влажности DHT22, что мне более важно.

Пришел к выводу, что СМСить дорого, особенно тут в ЕС. Хочу задействовать функционал GPRS модема. Есть такой бесплатный сервис www.pushingbox.com, у него есть API и даже примеры для ардуино. Но не могу сформировать http get запрос. Не могу понять как сформировать пакет для отправки. Там все похоже на отправку СМС, но на ctrl-z в конце пакета модем отвечает ошибкой. Был бы sim900, там все проще по командам, к тому же с ним можно было бы отправлять емайлу вообще без промежуточных сайтов, он сам емайлить умеет.

Ещё хотелка — жду DFPlayer. Хочу чтобы при звонке, сигнала брала трубку и сообщала своё состояние Guard On/Off, также добавить обзвон по кругу в случае алярма, с сообщением о срабатывании, вместо смс. Если удастся запустить pushingbox по GPRS, смс уйдут в прошлое, будут обрабатываться только входные.
+
avatar
0
Кто нибудь может допилить прошивку, сделать вывод информации в смс на основной номер с этих команд ListSensor, ListConfig, ListPhone, Чтобы конфиги можно было смотреть не только в терминале?
+
avatar
0
  • kvolk
  • 05 декабря 2017, 13:30
Боюсь что не хватит оперативки на формирование текстовой смс для команды ЛистКонфиг. Хотя если отправлять только телефонные номера из памяти с признаками, то возможно получится, на этой неделе попробую допилить. Изменения буду вносить только в эту прошивку GSM_2017_08_10-12-17
+
avatar
0
А возможно применить внешнюю память AT24C256 для разгрузки внутренней?

Если не хватает памяти весь массив в 1 смс засунуть, может каждый телефон отдельным смс пусть присылает, подряд
+
avatar
0
  • kvolk
  • 05 декабря 2017, 17:56
Увы, это EEPROM. Оперативной памяти от неё не прибавится.
+
avatar
0
А если в этот EEPROM засунуть все хотелки которые не влезли в память контроллера?
+
avatar
0
На данный момент, ваш проект переведен мной на ESP8266. Добавлена работа с RFID карточитателем. (фактически она не добавлена, она использует ваши же функции ввода через УАРТ). То есть мой скетч слушает УАРТ на предмет Guard ON/OFF и меняет отображение на своем экране. Если провести карту, он отправляет на УАРТ команду guardon/guardoff и слушает ответ. Если в ответ пришло Guard ON/OFF соответствено все отлично. При старте, мой скетч шлет команду Info, получая ответ, фиксирует состояние, так происходит синхронизация.
Так же, моим скетчем можно управлять теми же СМС. Он слушает УАРТ и если находит свои комманды, выполняет их.
Нашел прикольную фишку. Если в вашей сигнализации выставить флаг teston. То мой скетч получает доступ к модему, и может делать свои фишки, к примеру: отсылать СМС-ки со списком прошитых карт. Так же хочу добавить push уведомления по GPRS, о том, кто вошел, с какой картой, когда — pushingbox.com рулит.
+
avatar
0
может вы оформите отдельной темой, будет интересно потестить
+
avatar
0
Я собирался это сделать, но:
Ещё жду кое какие модули. Главный модуль DHT22. Он обязательно должен быть в кардридере. Мне важно влажность и температура в доме.
Если выложу, то на 4pda.ru или у себя в блоге. Тут система комментариев совершенно неадекватна, особенно с мобильного.
+
avatar
0
Как насчет надежности? Когда пропадает интернет esp не глючит? Или она у вас в оффлайне?
+
avatar
0
Увы, но с esp8266 пришлось отложить. Больно мало у нее свободных выводов оказалось. Пришлось вырезать больщую часть функционала. Даже светодиодами помигать не получится. Только два входа на охрану и два реле + модем и DFplayer и все, esp82666 кончилась. К тому же, там миллион нюансов с gpios. Например, gpio9 и gpio10 дефайнить в программе нельзя, еспешка уходит в бутлуп (они внутрисхемно на флеш завязаны, зачем было тогда их выводить наружу?). На других выводах высокий уровень во время старта. Не хотелось бы получать рев сирены при каждом обесточивании.
Многие стандартные библиотеки на ней работают не так, как ожидалось. Долго не мог понять, почему она номер телефона с модема не ловит, оказывается функции индексирования строки отдают индекс от начала искомой фразы, а не от конца, как у Ардуино. Зато софтверных сериальных портов объявляйте сколько хотите, пока ног хватает. Короче, это модуль для одного датчика. Что-то более серьезное на нем не слепишь, заказал и жду esp32 и Ардуино Мега, посмотрим что с ними.
В данный момент играюсь с программой для кардридере.
+
avatar
0
  • kvolk
  • 10 декабря 2017, 18:12
Цепляйте к модулю PCFку, одна пцфка + 8 портов.
+
avatar
0
Нет. Не хочу. Концепция поменялась. Купил два esp32 с экраном ОЛЕД и LoRA на борту для изучения. Разберусь, буду делать код с нуля.
Ваш вариант адаптировать не буду. Он классный, но…
Не вижу смысла хранить номера в ОЗУ контроллера, для этого есть SIM.
СМС дорого и не надёжно. Сейчас у всех операторов во всем мире есть дешёвый или совершенно бесплатный голосовой безлим, как минимум в сети оператора.
Оказалось что sim800 отлично понимает DTMF, к тому же есть софтовая библиотека для распознавания DTMF, используя голосовой выход модема и аналоговый вход ардуино. Тот же sim800 прекрасно емейлит и шлёт GET HTTP запросы.
У моего оператора, к примеру, на трафик gprs вообще бесплатно. СМС прошлое. Датчики должны быть на LoRA, какая-то часть как минимум.

Порты лучше расширять с помощью ведомого ардуино Нано, проще и дешевле, плюс предобработка. Там больше простора для фантазии и маневров, система гибче и многозадачность появляется.

ПС. Проект не спешный, я пока только изучаю Ардуино.

А вот картридер, для вашей сигнализации, выложу скоро.
Можете закупаться деталями )).
Нужны MFRC-522, OLED 0.96" SD1306, Arduino Nano, если нужны температура и влажность — DHT22, если кому дверь открывать — servo по вкусу, и если хотите чтобы картридер вам попискивает чтобы вы не забыли карточку приложить при выходе — микрорадар. ну и у кого кардридер должен бить далеко от блока (больше пати метров), нужны два модуля RS422. Все эти модули будут отключаемыми, так что минимум ридер, экран, нано.

Только там, вашем коде, нужна минимальная поправка, при выводе списка номеров в сериал, внесите delay(10), в цикле, после строки. Иначе ридер читает список номеров корректно через раз.
+
avatar
0
  • iwizard
  • 26 февраля 2018, 12:30
Подскажите адрес своего блога пожалуйста, буду следить за проектом вашим. Как раз есть все в наличии и есть нужда поставить сигнализацию домой. Так что могу тестировать.
+
avatar
0
  • kvolk
  • 12 марта 2018, 10:38
Нет. Не хочу. Концепция поменялась. Купил два esp32 с экраном ОЛЕД и LoRA на борту для изучения. Разберусь, буду делать код с нуля.
Чем питать будете, как резервное питание будете организовывать?
+
avatar
0
прошивка GSM Alarm 17.08.10 fix-01
при установке
MainSensorLevelLow
SecondSensorLevelLow
герконовые датчики посаженные на GND сигналка не видит
+
avatar
0
По расширителю портов PCF. Установка порта с параметром h, геркон одним выводом на gnd — при размыкании сигналка срабатывает. Без параметра h, срабатывает если замыкаешь на GND. (могу ошибаться но это вроде неправильно, должна срабатывать если размыкаешь с +5в).
Так же по пинам А0 и D6. В таком положении срабатывает если геркон подключен на +5в.
SensorLevel
Main: 0
Second: 0
В таком положении
SensorLevel
Main: 1
Second: 1
при подключении геркона на gnd и размыкание ничего не происходит
+
avatar
0
  • kvolk
  • 25 декабря 2017, 09:46
Прошу прощения, очень не хватает времени ей заниматься, если получится на новогодних праздниках посмотрю.
+
avatar
0
С Наступающим Вас! Спасибо за работу )))
+
avatar
+1
  • sbabu
  • 25 декабря 2017, 02:47
Автору спасибо. Примерно с апреля работает сигналка. Поставил и забыл. Как часики пашет. 0 траблов и ложных срабатываний.
+
avatar
0
Как сделать чтобы при отправке команды open на А3 появлялась 1, после повторной команды open 0, своего рода выключатель
+
avatar
0
Как сделать Fullreset если нет основного телефона? Надо бы что-то придумать. Может кто подскажет как реализовать
+
avatar
0
  • kvolk
  • 22 января 2018, 17:18
Для чего Вам это?
+
avatar
0
Чтобы можно было сбросить не имея под рукой компа, и основного номера телефона. Заблокировали номер (потерял телефон), разные случаи бывают. А так нажал кнопку и сбросил, как роутер например.
А чтобы хватило памяти можно убрать обработку команды FullReset в терминале и смс
Можно использовать для этого пин D2. Понимаю что тут, что то нужно вставить, а вот что не знаю ))))

if ((val.indexOf( F ("fullreset")) > -1)) {
      EEPROM.update(0, 255);
      eepromconfig();
      EEPROM.update(99, 255);
      eepromphonememory();
      EEPROM.update(30 + BalanceSettingsOffset, 255);
      eeprombalancenum();
      LedOK();
      Reset();
+
avatar
0
  • Dizell
  • 05 февраля 2018, 16:31
Всем доброго здравия! Вопрос знатокам. Тут такая ситуация, может она только у меня. Короче не работает управление внешним устройством. Версия прошивки — GSM Alarm 17.08.10. Как она проявляется — когда нано подключена к компу через усб, то работает. стоит отключить от компа реле щелкает и горит светодиод. при отправке команды«open» светодиод мигает на время тайма и все.само реле не реагирует. при подключении к компу реле опять меняет свое состояние без команды, и начинает работать от команд Куда копать? Питания всей системы от сетевого БП+аккумы через все приблуды.
+
avatar
0
  • kvolk
  • 05 февраля 2018, 16:58
Тут всё просто.
if ((val.indexOf( F ("open")) > -1)) {
    if (ExternalDeviceLevel == 1) {
      digitalWrite(ExternalDevicePin, HIGH);
      delay(ExternalDeviceTime * 1000);
      digitalWrite(ExternalDevicePin, LOW);
    }
    else {
      digitalWrite(ExternalDevicePin, LOW);
      delay(ExternalDeviceTime * 1000);
      digitalWrite(ExternalDevicePin, HIGH);
    };
+
avatar
0
  • Dizell
  • 06 февраля 2018, 06:52
Хех… для меня почему бревно круглое и то не понятно, а тут… просто на апрельской прошиве нормально работает, но хотелось управления внешкой сделать.что бы свет над входом из гаража врубать на период закрытия ворот. Просто не знаю как из этого выкрутится и почему так реагирует.
+
avatar
0
  • bagotu
  • 10 февраля 2018, 22:48
в arduino pro mini 328 зальется hex вместо nano?
+
avatar
0
  • kvolk
  • 11 февраля 2018, 08:20
Скорее всего нет, на гугл диске выложены исходники. Прошейте через ардуино иде.
+
avatar
0
  • kot488
  • 23 февраля 2018, 12:18
Подскажите пожалуйста, какой еще gsm модуль можно использовать? У себя не нашел m590e.
Возможно кто то подключал обычный инфракрасный датчик движения, что бы красиво в корпусе было, или может HC-SR501 можно переставить в обычный?
Хочу попробовать реализовать на две зоны. Зона открытия геркон и движение, датчик от обычной сигнализации.
От старой GSM (на фирме стояла) осталась коробка с б.п. 12V и аккум резервного питания 12V. Нашел плату TC43200, с ее помощью понизел напряжение до 5.5V. Жду теперь пока все остальное доедет. Все нашел кроме gsm модуля(
+
avatar
0
  • kvolk
  • 23 февраля 2018, 12:48
M590e, sim800l, a6_mini.
Sim800l в приоритете.
+
avatar
0
  • kot488
  • 23 февраля 2018, 13:44
Получилось найти какой Вы ставили, надо что бы все по феншую было)
По идее, мне теперь не нужен MT3608, в цепи имеется TC43200.
Его ток:
Выходной ток – до 8 А, при токе выше 5 А требуются меры по дополнительному охлаждению

Правильно мыслю?
+
avatar
0
  • kvolk
  • 23 февраля 2018, 16:39
M590 не понимает симкарты нового образца 4G.sim800 не имеет этого недостатка.
По феншую любой из этих трёх модемов поддерживается в прошивках.
+
avatar
0
  • kot488
  • 24 февраля 2018, 11:32
У нас, в Украине, 4G только начинают запускать, так что это не беда. Случайно схемы на подключение датчика движение не осталось негде?

Без модема данная схема должна запуститься? Собрал все кроме модема, скачал драйвера, залил hex, отключил от пк, подключил к питанию, на плате один светодиод светится, второй моргает, выносной признаков не подает
+
avatar
0
  • kvolk
  • 24 февраля 2018, 19:22
Когда симка не будет регистрироваться в сети, имейте ввиду что проблема скорее всего в m590e.
Всё должно работать без модема, прошивайте, подключайте к компу и смотрите логи в мониторе порта.
+
avatar
0
  • kot488
  • 24 февраля 2018, 19:58
Диоды оказались бракованные. Плата gsm приехала, но по Вашей схеме не хотела стартовать, контакты boot закоротить пришлось, и 5V к 5V подключить пришлось. Пробую сейчас по Вашей инструкции найти скорость работы. В комплекте не как на фото, шел обычный конденсатор.
+
avatar
0
  • kvolk
  • 24 февраля 2018, 20:06
1) не используйте повышайку
2) питайте всю схему от модуля tp4056
3) диод с платы модема уберите и зашунтируйте.
В начале обзора есть ссылка на «работу над ошибками», собирайте сигналку по схеме из того обзора.
+
avatar
0
  • kot488
  • 24 февраля 2018, 21:21
Плату повышения не использую. Работа над ошибками это эта статья?
mysku.club/blog/ebay/44545.html
+
avatar
0
  • kvolk
  • 24 февраля 2018, 21:30
Да, собирайте поэтому обзору, там автономность больше и надежнее работает.
+
avatar
0
  • kot488
  • 24 февраля 2018, 22:12
Автономность думаю добьюсь полноценнымааккумулятором) не подскажите как смотреть ошибки? Еще не работал с ардуино
+
avatar
0
  • kot488
  • 25 февраля 2018, 15:35
Может подскажите что то, собрал gsm плату по com на ATI ответы идут на ATE1 не идут, пишет ошибка. Сам модуль то в сети, то в поиске, как то запустил что смог на него позвонить, а как так и не понял( На плате нужно замкнуть контакты BOOT что бы через COM можно было достучаться, и мигает диод BOOT.

Собрал все в кучу, геркон не замкнут на ответную часть. Включил напряжение, контакты на BOOT на GSM разомкнуты. Диод синий один раз подал сигнал. На GSM модуле BOOT реакции нет, звоню абонент отключен.


Включаю с замкнутыми контактами BOOT, на GSM моргает BOOT, сисний сразу один раз подал свет, через 5 секунд, моргнул 3-4 раза и потух. Абонено отключен

Подключился чезер putty
d.radikal.ru/d31/1802/32/07c457f96ea9.jpg
+
avatar
0
  • kot488
  • 25 февраля 2018, 16:21
Может подскажите что то, собрал gsm плату по com на ATI ответы идут на ATE1 не идут, пишет ошибка. Сам модуль то в сети, то в поиске, как то запустил что смог на него позвонить, а как так и не понял( На плате нужно замкнуть контакты BOOT что бы через COM можно было достучаться, и мигает диод BOOT.


Собрал все в кучу, геркон не замкнут на ответную часть. Включил напряжение, контакты на BOOT на GSM разомкнуты. Диод синий один раз подал сигнал. На GSM модуле BOOT реакции нет, звоню абонент отключен.


Включаю с замкнутыми контактами BOOT, на GSM моргает BOOT, сисний сразу один раз подал свет, через 5 секунд, моргнул 3-4 раза и потух. Абонено отключен


Вроде разобрался, подергал модуль и в мониторе порта пошли входящие смс. Попробую хорошо пропаять плату GSM, кажется где то плохой контакт.
+
avatar
0
  • kot488
  • 26 февраля 2018, 15:38
Вообщем перепаял все, сеть ловит отлично, с датчиком движения тоже разобрался.
Подскажите пожалуйста, как быть с дублированием команд в 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
+
avatar
0
  • kvolk
  • 26 февраля 2018, 15:47
Отключите тестовый режим TestOff, перезагрузите устройство.
Никакого заводнения смс быть не должно.
+
avatar
0
  • kot488
  • 26 февраля 2018, 16:42
Спасибо пропало.
Только на LedTest() реагирует
LedTest()
LedTest()

ERROR

В инфе о прошивке не нашел, реализовано подключение пищалки?
Выносную GSM антену не пробовали подключать? Не везде есть стабильный сигнал сети
+
avatar
0
  • kvolk
  • 26 февраля 2018, 16:44
В инфе о прошивке не нашел, реализовано подключение пищалки?
Нет.
Выносную GSM антену не пробовали подключать?
У sim800l, A6_mini и у некоторых m590e есть разъём для подключения антенны :)
+
avatar
0
  • kot488
  • 26 февраля 2018, 16:52
То не такая, на короткой связь не словишь. Возможно еще как то тестировать зависла система или нет кроме LedTest()? При отключеном TestOff нет реакции диода.
+
avatar
0
  • kvolk
  • 27 февраля 2018, 11:08
Не зависает система. Ни одного комментария про зависание за полтора года я не наблюдал.
+
avatar
0
  • kot488
  • 27 февраля 2018, 10:31
По поводу 4G, у меня судя по всему модем M590, если оператор не врет, то симка 4G, завелась отлично
+
avatar
0
  • kvolk
  • 27 февраля 2018, 11:08
Это хоршо.
+
avatar
0
  • kot488
  • 27 февраля 2018, 16:49
Можете подсказать правильно поступил илил нет. Я датчик движения от б.п. запитал.
Нашел к комментах постановку и снятие внешними устройствами, но в самом блоге про это инфы нет(
+
avatar
0
M590e, sim800l, a6_mini.
Sim800l в приоритете.
добрый день, есть много модемов hl6528, есть вероятность что будет с ним работать?
+
avatar
0
  • kvolk
  • 05 марта 2018, 10:53
есть вероятность что будет с ним работать?
Конечно, АТ команды стандартные, проблема может быть только в том что после определения номера некоторые модемы отдают +7905xxxxxxxxxxxx а некоторые 7905xxxxxxxxxxxxx. Но ведь есть исходник, включаете тестовый режим и смотрите что не работает.

Автоопределение модема не сработает, поэтому вручную методом перебора выставляйте нужный ID модема (1, 2 или 3) и на каждом из них проверяйте работоспособность. Если ID модема выставлен вручную, то после перезагрузки устройства настройки «не слетят».
+
avatar
0
void tempcontrol() {
  if (TempState == 1){
    if ((temperature <= MinTemp) || (temperature >= MaxTemp)){
      String TempSms = String(temperature);
      SendSmsText = TempSms + (F ("C temp alarm!"));
      Serial.println( SendSmsText); 
       
       }
       
  } else {
    TempState = 0;
  }
}


Подскажите пожалуйста, как реализовать отправку смс при достижении критической температуры, независимо от состояния охраны на основной номер и номера с параметром s
+
avatar
0
void tempcontrol() {
  if (TempState == 1){
    if ((temperature <= MinTemp) || (temperature >= MaxTemp)){
      String TempSms = String(temperature);
      SendSmsText = TempSms + (F ("C temp alarm!"));
      Serial.println(SendSmsText);
      delay(1000);
      for (uint8_t i = 0; i < 10; i++) {
        if (EEPROM.read(data[i].addr + SAlarmOffset) == 1) {
        delay(1000);
        sms("+" + String(EEPROM.get(data[i].addr, PhoneNum)));
      delay(1000);
         }
       }    
    }
       
  } else {
    TempState = 0;
  }
}


С смс разобрался, работает! НЕ могу понять как сделать теперь, чтобы выводилась критическая температура один раз. Получается шлет смс каждую секунду, пока температура не достигнет нормы
+
avatar
0
  • kvolk
  • 27 марта 2018, 20:31
чтобы выводилась критическая температура один раз.
Добавьте ещё одну переменную, которая будет изменять своё значение после того как смс будет отправлено:
Код
void tempcontrol() {
  if (TempState == 1 & smsonesend == 0){
    if ((temperature <= MinTemp) || (temperature >= MaxTemp)){
      String TempSms = String(temperature);
      SendSmsText = TempSms + (F ("C temp alarm!"));
      Serial.println(SendSmsText);
      delay(1000);
      for (uint8_t i = 0; i < 10; i++) {
        if (EEPROM.read(data[i].addr + SAlarmOffset) == 1) {
        delay(1000);
        sms("+" + String(EEPROM.get(data[i].addr, PhoneNum)));
      delay(1000);
         }
       }    
    }
	smsonesend == 1;
       
  } else {
    TempState = 0;
  }
}

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

ЗЫ непонятно назначение этой конструкции:
void tempcontrol() {
  if (TempState == 1){ //если темпстэйт равен 1 что-то делаем
	какое то действие;
  } else { //иначе присваиваем темпстейту 0.Так он и не равен 1 зачем темпстейту присваивать 0? Думаю что эта часть кода не выполняется вощбще.
    TempState = 0; 
  }
}

Или у темпстейта может быть значение отличное от 0 или 1?
+
avatar
0
Значение TempState хранится в EEPROM, если оно 1 то температура проверяется если 0 то не проверяется
+
avatar
0
  • kvolk
  • 28 марта 2018, 10:48
else { 
    TempState = 0; 

Эта часть кода смысла не имеет.Если темпстейст не равен единице, приравнять его к нулю. Так он и равен нулю.
+
avatar
0
После того как температура вернётся в заданный диапазон необходимо переменной smsonesend снова присвоить значение 0.
Так оно и будет слать постоянно смс пока температура не станет в норму. А мне надо так чтобы оно только достигло критической температуры отослало один раз и все
+
avatar
0
  • kvolk
  • 28 марта 2018, 14:46
Не будет, потому что как только выполнится первый цикл отправки сообщений переменная smsonesend изменит своё значение, и условие не будет выполняться.
+
avatar
0
Спасибо, получилось )))
+
avatar
0
Подскажите еще пожалуйста, добавил параметр к номеру для контроля термостата T uint8_t TAlarmOffset = 18;
теперь компилятор выдает такое сообщение
D:\YDISK\arduino_gsm\nano\GSM_18_03_18_beta\GSM_18_03_18_beta.ino:65:1: warning: narrowing conversion of '280' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]

 };

 ^

D:\YDISK\arduino_gsm\nano\GSM_18_03_18_beta\GSM_18_03_18_beta.ino:65:1: warning: large integer implicitly truncated to unsigned type [-Woverflow]

D:\YDISK\arduino_gsm\nano\GSM_18_03_18_beta\GSM_18_03_18_beta.ino:65:1: warning: narrowing conversion of '310' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]

D:\YDISK\arduino_gsm\nano\GSM_18_03_18_beta\GSM_18_03_18_beta.ino:65:1: warning: large integer implicitly truncated to unsigned type [-Woverflow]

D:\YDISK\arduino_gsm\nano\GSM_18_03_18_beta\GSM_18_03_18_beta.ino:65:1: warning: narrowing conversion of '340' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]

D:\YDISK\arduino_gsm\nano\GSM_18_03_18_beta\GSM_18_03_18_beta.ino:65:1: warning: large integer implicitly truncated to unsigned type [-Woverflow]

D:\YDISK\arduino_gsm\nano\GSM_18_03_18_beta\GSM_18_03_18_beta.ino:65:1: warning: narrowing conversion of '370' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]

D:\YDISK\arduino_gsm\nano\GSM_18_03_18_beta\GSM_18_03_18_beta.ino:65:1: warning: large integer implicitly truncated to unsigned type [-Woverflow]

Скетч использует 28936 байт (94%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 857 байт (41%) динамической памяти, оставляя 1191 байт для локальных переменных. Максимум: 2048 байт.
+
avatar
0
  • kvolk
  • 31 марта 2018, 20:40
Тип данных uint8_t может принимать значение от 0 до 255, у Вас оно превышено.
Читать тут.
Смысл в том, что необходимо использовать память очень рационально
Например, если переменная может принимать значение от 0 до 255 то используем тип данных unsigned char (он же uint8_t), но если переменная может принимать значение от 0 до 65535 уже необходимо использовать тип unsigned int (он же uint).
Так что Вы должны чётко понимать какие типы данных использовать.
+
avatar
0
прокомментируйте пожалуйста, светодиод состояния охраны (красный) не постоянно горит при охране а мигает частота не постоянная около 0,25-1Гц, с чем может быть связано?, питание от повербанка напряжение на ардуине 5,2в
+
avatar
0
  • kvolk
  • 04 мая 2018, 17:42
Датчики притянуты резисторами? Датчики правильно настроены? Выполните команду memtest после заново настройте устройство.
+
avatar
0
у датчика движения сигнальный тоже притянуть? 10к достаточно?
+
avatar
0
у датчика движения сигнальный тоже притянуть? 10к достаточно?
притянул 10км, перестал реагировать на датчик движения. очистил помять заново настроил, в охрану встает снимается, теперь красный свд мигает равномерно частота примерно 0,25гц. Вроде гореть должен.
+
avatar
0
  • kvolk
  • 04 мая 2018, 22:43
GSM_2017_08_10-12-17.hex — прошейтесь этой прошивкой.
Теперь к пинам D6 и A0 могут быть подключены любые цифровые датчики с высоким или низким уровнем срабатывания, в том числе герконы. Пины D6 и A0 должны быть притянуты к земле (GND) через сопротивление 10 (20) кОм. Если датчик настроен на низкий уровень срабатывания (включен в режиме геркона), то проверяется целостность цепи. Логический уровень срабатывания по входам D6 и A0 (+5В или GND) может быть изменен, после изменения логического уровня устройство автоматически будет перезагружено.
Команды которые должны помочь в настройке:
MainSensorLevelHigh — тревожное уведомление будет отправлено при появлении сигнала высокого уровня (+5 В) на входе (D6) от датчика
MainSensorLevelLow — тревожное уведомление будет отправлено при появлении сигнала низкого уровня (GND) на входе (D6) от датчика
MainSensorLevelOff — обработка датчика на входе (D6) отключена

SecondSensorLevelHigh — тревожное уведомление будет отправлено при появлении сигнала высокого уровня (+5 В) на входе (A0) от датчика
SecondSensorLevelLow — тревожное уведомление будет отправлено при появлении сигнала низкого уровня (GND) на входе (A0) от датчика
SecondSensorLevelOff — обработка датчика на входе (A0) отключена
+
avatar
0
прошился, в режиме охраны так же быстро моргает, вы сменили логику? описано что должен постоянно гореть, он горит постоянно только при срабатывании pir около 5сек я засниму видос и выложу чтоб понятнее было.
+
avatar
+1
  • kvolk
  • 07 мая 2018, 14:53
Отключите второй датчик, настройте первый в режиме геркона, замкните геркон — мигать не должно. Мигает только в том случае если разомкнут геркон.
+
avatar
0
вместо геркона перемычка, блинк ушел, постоянно горит. Предложу подредактировать в шапке про режимы мигания, недокументированные возможности)).
+
avatar
+1
  • kvolk
  • 08 мая 2018, 13:26
GSM_2017_03_01-23-37.hex —… Теперь после постановки на охрану мигает красный светодиод, пока не будет проверена целостность контура основного герконового датчика. Если контур целый загорается красный светодиод. ...
.
+
avatar
0
  • bester
  • 16 июля 2018, 14:22
какой пин на ардуино активируетсяпри сработке сигнализации, куда реле подключить для включения света при активации? Про подключение различных датчиков и исполнительных устройств почему то ничего не нашел в данной статье. О чем сигнализируют светодиоды? Как протестировать систему без отправок смс? Подключил пока только м590 без симки, геркон и светодиоды по схеме в шапке,
+
avatar
0
  • kvolk
  • 16 июля 2018, 16:27
Прочтите обзор ещё раз, там всё описано. Особенно внимательно раздел «список изменений» и «используемые порты»
+
avatar
0
  • malser
  • 17 сентября 2018, 12:04
Добрый день. Пытаюсь сделать вашу сигнализацию. Проследить все изменение очень сложно, к тому же обсуждения на двух ветках. У меня ардуино нано и sim800. Взял, как я понял, последнюю реализацию в hex. Это оно? GSM сигнализация на Arduino на Arduino\Nano\Nano_GSM_2017_08_10-12-17-fix-01.hex
Заливал 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+-).
+
avatar
0
  • kvolk
  • 17 сентября 2018, 18:29
Да, скетч для послнего бинарника.
Да, Вы правильно всё отрисовали, собирайте именно так.
Аккум сажается на свои контакты контроллера заряда.
Зы. Тут в коментах выше есть схема на которой добавлен резистор между затвором и gnd 10кОм. Желательно его тоде поставить.
+
avatar
0
  • filk24
  • 14 ноября 2018, 19:02
Скажите пожалуйста, для чего в эту схему добавлен мосфет?
+
avatar
0
  • kvolk
  • 14 ноября 2018, 19:39
Для отключения аккумулятора от потребителя при наличии внешнего питания.
+
avatar
0
  • filk24
  • 14 ноября 2018, 20:32
Примерно понял, для чего мосфет.
Есть такая проблема, что при отключении внешнего сетевого питания и разрядке лития до отключения устройства, ТР4056 не всегда запускается при появлении сетевого питания (опробованы несколько ТР4056). Запуск получается возможен только при извлечении и постановки обратно аккума. Может мосфет, в предложенной схеме питания решит и эту проблему.
+
avatar
0
  • kvolk
  • 25 ноября 2018, 14:21
Не замечал у себя такой проблемы, достаточно просто отключить устройство от внешнего питания и снова подать, чтобы начась зарядка.
+
avatar
+1
  • Dizell
  • 26 октября 2018, 07:34
Моя реализация.............
Только с управлением внешней нагрузки так и не смог разобраться. при потключение к ноуту по ЮСБ работает, а при отлюченном шнуре нет.
+
avatar
0
  • kvolk
  • 26 октября 2018, 08:13
Общая земля есть между устройствами?
+
avatar
0
  • Dizell
  • 26 октября 2018, 10:23
Да, есть.
+
avatar
0
  • Dizell
  • 26 октября 2018, 11:44
На пин А3 подцепил светодиод через сопротивление 8ком на корпус. Реагирует адекватно и без шнура от компа.
не могу понять почему так не правильно работает релюха китайская с ардуино? прийдется наверное мудрить схему из оптотранзистора.
+
avatar
+1
  • Dizell
  • 27 октября 2018, 10:31
Собрал реле с опторазвязкой. Все работает хорошо. Спасибо! Буду дальше крутить.Жду выносную антенку для GSM модуля
+
avatar
0
Заметил одну проблему на м590 происходит срабатывание датчика движения через 6 часов после постановки на охрану, а на sim800l через 3 часа. Прошивка самая крайняя. В какую сторону копать? Заранее спасибо
+
avatar
0
  • kvolk
  • 25 ноября 2018, 14:23
Проверяйте дотчик, ложные срабатывания возможны от модема, в коде программы ничего подобного связанного с этим багом нет.
+
avatar
0
  • serjh
  • 13 декабря 2018, 22:01
Дайте пожалуйста список всех смс команд для GSM_2017_08_10-12-17
+
avatar
0
  • kvolk
  • 13 декабря 2018, 22:09
Все команды управления описаны в разделе «Команды управления для hex — прошивки».
+
avatar
0
  • serjh
  • 13 декабря 2018, 22:56
Понятно
+
avatar
0
Доброго времени суток. Прошивка последняя, тоже проблема с периодическим срабатыванием ПИР датчика на входе А0. Период не сильно стабильный, но раз в 4-6 часов срабатывает. Вход подтянут на GND резистором 10 кОм и зашунтирован конденсатором 0,1 мкф. Сконфигурирован на срабатывание «SecondSensorLevelHigh».
Заметил одну непонятную для меня особенность. Если убрать подтяжку к земле, на входе А0 сразу появляется лог 1 (вход висит в воздухе). Возможно в этом режиме включена внутренняя подтяжка к плюсу? Если вход А0 сконфигурировать «SecondSensorLevelLow», подтяжка исчезает, напряжение падает до 0. Если это действительно подтяжка, и так и задумано, то логичнее наверно подтягивать наоборот в сторону неактивного уровня. Или вообще убрать. Когда сам подтягиваешь, понятнее)).
Что то много написал, извините. Надеюсь понятно.
+
avatar
0
  • kvolk
  • 07 января 2019, 19:44
Сейчас в наличии нет тестового устройства, как приедут компоненты соберу — посмотрю что не так с ней.
+
avatar
0
Устройство собрал. Прошил последней версией. При попытке добавления основного номера, т.е. пытаясь совершить звонок на установленную SIM карту в модем говорят абонент не отвечает и все, номер не заносится в массив, устройство не работает. Помогите пожалуйста. Оператор на телефоне МТС в модеме Beline. Приложу лог загрузки на всякий:

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
+
avatar
0
  • kvolk
  • 08 февраля 2019, 17:36
пытаясь совершить звонок на установленную SIM карту в модем говорят абонент не отвечает и все,
Должны идти «длинные гудки». Модем не зарегистрировался в сети. Проверьте работоспособность модема, включите режим TestOn из консоли.

Как часто мигает светодиод на модеме? Модем SIM800L?
+
avatar
0
Модем SIM800L, мигает c интервалом в секунду, как я понял это признак не регистрации в сети модема. Мне кажется, что это из-за сим карты, т.к. она 4G.

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
+
avatar
0
  • kvolk
  • 09 февраля 2019, 08:55
1) Почему сыпятся в консоль атчапы? Прошивались из хекса или исходника модифицированного?
2) Есть возможность проверить на другом модеме? Возможно с модемом что-то не так.
+
avatar
0
Прошивал HEX GSM_2017_08_10-12-17.
Модема к сожалению другого нет.
+
avatar
0
  • kvolk
  • 10 февраля 2019, 11:26
В сборке всё верно?
+
avatar
0
Здравствуйте! Немного изменил ваш код. Добавил датчик дыма. Нужна сработка независимо от охраны включена она или выключена. Добился сработки и отправки сообщения из режима guardoff. Но она не звонит из этого режима, только если охрана включена. Пишет в мониторе порта Alarm Ring: +380670000000 но звонке нет.
Код

void DetectFire() {
  FireState = digitalRead(FirePin);
  if (FireState == HIGH && FireFlag == 0) {
    FireFlag = 1;
    delay(100);
  //  if (guard == 1) {
      SendSmsText = Warn + (F ("Fire sensor!"));
      AlarmPinOn();
      SmsAlarm(1);
      
     
      //PrepareAlarm(2);
   // }
  }
  if (FireState == LOW && FireFlag == 1) {
    FireFlag = 0;
    delay(100);
    LongBlinkBLed();
  }
}
,
,
,
,
,
,
// ----- Отправка тревожной смс и инициализация тревожного звонка
//void SmsAlarm(uint8_t sms_force, uint8_t from_event) {
void SmsAlarm(uint8_t from_event) {
  //if (guard == 1) {
    for (uint8_t i = 0; i < 10; i++) {
      if (from_event == 1) {
        if (EEPROM.read(data[i].addr + SAlarmOffset) == 1) {
          sms("+" + String(EEPROM.get(data[i].addr, PhoneNum)));
          delay(1000);
        }
      }
      if (from_event == 2) {
        if (EEPROM.read(data[i].addr + PAlarmOffset) == 1) {
          sms("+" + String(EEPROM.get(data[i].addr, PhoneNum)));
          delay(1000);
        }
      }
    }
    //    if (from_event == 1 && AlarmRing == 1) {//Orig
    if (from_event == 1) {
      //RingAlarm();//ORIG
      //previousCallTimeMillis =  millis();
      CallFlag = 1;
      //CallNum = 0;
      Call = 1;
    }
 // }
}



Уже долбаюсь недели 2 не могу никак понять что еще нужно изменить
+
avatar
0
  • kvolk
  • 09 февраля 2019, 11:01
Хм… Распишу принцип работы системы оповещения чтобы было понятно что и как работает.

Есть процедуры

LorHCompare();
Detect();
PIRDetect();

которые в процессе своего выполнения присваивают переменной SendSmsText значение, переменной DelayBeforeAlarm время задержки и запускает процедуру PrepareAlarm.

PrepareAlarm устанавливает значение переменной previousDelayBeforeAlarmMillis и включает задержку активации ActivateDelayBeforeAlarm = 1. Так же устанавливается событие (определяем датчик который сработал) из переменной PrepareAlarmFromEvent

Дальше в цикле loop выполняется процедура DelayAlarm. Смотрит если активирована задержка ActivateDelayBeforeAlarm начинает считать время и при достижении заданной разницы выполняет процедуру SmsAlarm и отключает ActivateDelayBeforeAlarm = 0.

Теперь процедура SmsAlarm(uint8_t from_event) смотрит какое событие её запустило и в зависимости от этого выполняются разные методы оповещения:


void SmsAlarm(uint8_t from_event) {
  if (guard == 1) {
    for (uint8_t i = 0; i < 10; i++) {
      if (from_event == 1) {
        if (EEPROM.read(data[i].addr + SAlarmOffset) == 1) {
          sms("+" + String(EEPROM.get(data[i].addr, PhoneNum)));
          delay(1000);
        }
      }
      if (from_event == 2) {
        if (EEPROM.read(data[i].addr + PAlarmOffset) == 1) {
          sms("+" + String(EEPROM.get(data[i].addr, PhoneNum)));
          delay(1000);
        }
      }
    }
    if (from_event == 1) {
      CallFlag = 1;
      Call = 1;
    }
  }
}


Если процедура SmsAlarm получила 1 (значение from_event), то выполняем смс рассылку со значением переменной SendSmsText, после этого запускаем механизм дозвона на номера присваивая эти параметрам единицы:
CallFlag = 1;
Call = 1;

Если процедура SmsAlarm получила 2 отправляем, то запускаем только смс рассылку.

Так же в loop выполняется процедура AlarmCall() и если она видит что переменная Call равна 1, запускает механизм дозвона по всем необходимым номерам, после выполнения присваивает Call = 0;

Если значение времени длительности вызова превышено, косвенно завершаем вызов переходим к следующему номеру в списке, и так далее.
+
avatar
0
  • kvolk
  • 09 февраля 2019, 11:11
Вариантов много, добавить процедуру по аналогии Detect() из неё вызывать процедуры. Далее процедуре SmsAlarm например передать значение 3. В таком случае не обрабатывать guard=1.

Например так

...
if (guard == 1 || from_event == 3 ) {
...

      if (from_event == 1 || from_event == 3) {
        if (EEPROM.read(data[i].addr + SAlarmOffset) == 1) {
          sms("+" + String(EEPROM.get(data[i].addr, PhoneNum)));
          delay(1000);
        }
      }

...
    if (from_event == 1 || from_event == 3) {
      CallFlag = 1;
      Call = 1;
    }


PS Ком можно оптимизировать, но смысл такой.
+
avatar
0
Сделал как вы посоветовали.

void DetectFire() {
  FireState = digitalRead(FirePin);
  if (FireState == HIGH && FireFlag == 0) {
    FireFlag = 1;
    delay(100);
      SendSmsText = Warn + (F ("Fire sensor!"));
      AlarmPinOn();
      SmsAlarm(3);
  }
  if (FireState == LOW && FireFlag == 1) {
    FireFlag = 0;
    delay(100);
    LongBlinkBLed();
  }
}

DetectFire() крутится в лупе. Все срабатывает, когда сигналка снята с охраны. В терминале пишет

Sent! +380670000000 -> Alarm! Fire sensor!
Alarm Ring: +380670000000

Но на телефон не звонит. Стоит поставить на охрану, звонит нормально. Где еще копать ума не приложу
+
avatar
0
  • kvolk
  • 10 февраля 2019, 11:31
if (guard == 1 || from_event == 3 ) {
if (from_event == 1 || from_event == 3) {
Это сделали в смсаларм?
+
avatar
0
И так делал и даже убрал проверку guard

void SmsAlarm(uint8_t from_event) {
  if (from_event == 1 || from_event == 2) {
    for (uint8_t i = 0; i < 10; i++) {
       if (from_event == 1) {
        if (EEPROM.read(data[i].addr + SAlarmOffset) == 1) {
          sms("+" + String(EEPROM.get(data[i].addr, PhoneNum)));
          delay(1000);
        }
        CallFlag = 1;
        Call = 1;
       }
      if (from_event == 2) {
        if (EEPROM.read(data[i].addr + PAlarmOffset) == 1) {
          sms("+" + String(EEPROM.get(data[i].addr, PhoneNum)));
          delay(1000);
        }
      }
    }
  }
}

SmsAlarm(1) — отрабатывает звонок если система на охране. Если нет — выводит в терминал что типа звонит но звонка нет. Похоже что-то рубит звонок если система снята с охраны
+
avatar
0
  • kvolk
  • 10 февраля 2019, 23:13
Включите TestOn и смотрите что приходит на модем и как на это модем реагирует.
Зы завтра проверю этот момент.
+
avatar
0
Вот что приходит


Sent! +380670000000 -> Alarm! Fire sensor!
Alarm Ring: +380670000000

> 
ERROR

OK


OK

+
avatar
0
Изменил часть кода, теперь звонит

void AlarmCall() {
*
*
*
*
  if (CallNum > 10) {
  //if ((CallNum > 10) || (guard == 0 && CallFlag == 1)) {
    CallFlag = 0;
    EndCallFlag = 1;
    CallNum = 0;
    Call = 0;
  }
}
+
avatar
0
Прошивал HEX GSM_2017_08_10-12-17.
Модема к сожалению другого нет.
А еще светодиод моргает всеми цветами.
+
avatar
0
  • kvolk
  • 10 февраля 2019, 11:27
А еще светодиод моргает всеми цветами.
Нет такого режима, всё правильно притянуто резисторами? Проверьте сборку, подключите вместо модема уарт и посмотрите что сыпется в консоли модемую.
+
avatar
0
Что означает мигание светодиода поочередно всеми тремя цветами, сначала зеленым, потом синим, потом долгое мигание красным, и так по кругу.
+
avatar
0
  • kvolk
  • 10 февраля 2019, 11:30
Что означает мигание светодиода поочередно всеми тремя цветами, сначала зеленым, потом синим, потом долгое мигание красным, и так по кругу.
Красный мигает — датчик разомкнут. Синий мигает включен режим ТестОн, зелёный мигать не должен.

ЗЫ При включении сигналка один раз перемигивает всеми цветами, потом может мигать красным если поставлена на охрану и разомкнут один из датчиков основной или дополнительный.

Всеми цветами по кругу мигать не должна.
Ардуина живая, в перезагрузку не уходит случайно?

Выполните MemTest из консоли.
+
avatar
0
В перезагрузку не уходит, вроде.
Проверьте схему пожалуйста, может где я накасячил.

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
+
avatar
0
  • kvolk
  • 10 февраля 2019, 17:33
Попробуйте подтяжки все 10кОм поставить. На светодиодах 20 можно оставить.
+
avatar
0
Пробовал, не помогло. Даже если диод будет корректно выводить цвета, то на решение проблемы с модемом это ни как не повлияет, как по мне. А то, что я не заменил это может повлиять на работу модема?
#define _SS_MAX_RX_BUFF 64

стало так:

#define _SS_MAX_RX_BUFF 192
+
avatar
0
  • kvolk
  • 10 февраля 2019, 19:06
Это только для тех кто шьётся из исходников. В хексе уже этот параметр изменён. С другой симкой есть возможность проверить модем?
+
avatar
0
  • kvolk
  • 10 февраля 2019, 19:24
А что на D3 подключено?
+
avatar
0
Это пьезодинамик. В програмном коде пока реализации нет, но в устройстве уже спаян.
+
avatar
0
  • PrSergey
  • 11 февраля 2019, 12:08
Всем привет, заметил одну неприятную штуку, в момент переключения питания от внешнего источника на батарею и наоборот, перегружается Ардуино, при этом модем не перегружается. В цепи питания стоит полярный конденсатор 1600мкф. Ну и отсюда все вытекающие — смс о пропадании внешнего питания не приходит, соответственно о появлении тоже.
Забыл добавить, источник питания «с доработкой».
+
avatar
0
  • kvolk
  • 11 февраля 2019, 13:14
в момент переключения питания от внешнего источника на батарею и наоборот, перегружается Ардуино,
В моих экземплярах такого не замечалось. Затвор мосфета притянули к земеле резистором?

ЗЫ Попробуйте сменить источник питания.
+
avatar
0
  • PrSergey
  • 11 февраля 2019, 16:44
«Доработка» делалась по первому варианту без, подтяжки затвора. Вариант с источником питания отпадает, т.к. перезагрузка как при переключении на один источник, так и на другой (бп-батарея, батарея-бп). Разве что, с самой ТР4056 что, то не так.
+
avatar
0
  • PrSergey
  • 11 февраля 2019, 22:36
Кажись сам нашел свою проблему. У меня Ардуино питается через VIN, как на схеме в начале проекта:

а нужно питать через 5V. Попробую кинуть перемычку.
+
avatar
0
  • kvolk
  • 11 февраля 2019, 22:45
Да, действительно, питать надо через пин 5V, ошибка. Исправлю.
+
avatar
0
  • PrSergey
  • 13 февраля 2019, 15:05
Перемычка на 5V проблему решила.
+
avatar
0
Так вот что я заметил. При вводе команды в монитор порта GuardOn, он моргает красным цветом. TestOn синим. То есть все корректно отображается, но как только я подношу руку к датчику движения, он начинает моргать всеми цетами поочередно, сначала зеленым потом синим, потом красным. После чего я ввел в консоль TestOn, и вот, что он выдал, при этом проблема с модемом не решилась.

AT+CLIP=1

OK
AT+CMGF=1

OK
AT+CSCS=«GSM»

OK
AT+CNMI=2,2
TestOn
Detected ModemID: 0
+
avatar
0
  • kvolk
  • 11 февраля 2019, 14:52
У Вас датчик движения правильно подключен? Такое впечатление что он ардуину перезагружает, а она потом не может модем определить потому что модем остался включен а ардуина отвалилась и общаться с модемом уже не может. Отключите датчик движения и проверьте работоспособность без него.
+
avatar
0
Отключил, проверил. Стал корректно работать светодиод, но с модемом все так же. Все же мне кажется, что где то у меня в схеме ошибка. Не могли бы вы помочь ее обнаружить (схему выше представлял). Но и также я грешу на оператора или симкарту. Не могли бы вы сказать 4g,3g,2g и какой оператор сотовой связи у симкарты, на которой тестировался SIM800L?
+
avatar
0
Так я уже вообще ни чего понять не могу. Не трогал ни чего. В итоге при вводе в консоль TestOn светодиод перестал менять цвет на синий. Так он вообще перестал его менять. Просто моргает красным и все.
А в консоль сыпется вот это.
I2C devices not found
Detected ModemID: 2
Guard ON at boot

TestOn

OK

OK

OK

OK

OK

OK
+
avatar
0
  • kvolk
  • 18 февраля 2019, 16:35
I2C devices not found
Detected ModemID: 2
Guard ON at boot

TestOn

OK

OK

OK

OK

OK

OK

Циклично валит в консоль? Если нет то это норма. введите команду ATE1 и увидите что это ответы на команды посылаемые ардуиной в модем.
+
avatar
0
  • vpl38
  • 22 марта 2019, 12:36
Проект уже давно перерос «бюджетный» вариант сигнализации.
Я попробовал залить в мегу (скетч), отъехал модем и связи с ним нет, хотя на UNO всё работает.
Похоже чего-то не вижу…
По комментариям инфы не нашёл.
Кто-нить с мегой экспериментировал?
+
avatar
0
  • vpl38
  • 22 марта 2019, 13:14
p.s. всё остальное поправил, всё заработало кроме модема. :(
Модем SIM 900 (работает как sim800 + 2 пина на включение питания и контроль включения)
+
avatar
0
  • vpl38
  • 22 марта 2019, 14:58
Всё. Вопрос снят. Заработало.
Работает только на 19 и 20 пинах. на другие перекинуть не получается.
Ну работает и ладно.
+
avatar
0
Здравствуйте, это опять я. Пришел второй модем, ситуация все та же. Сначала решил проверить выходное напряжение с TP4056, держится в районе 3,9 В. Потом решил проверить регистрацию в сети. При запросе оператора с модема, он его не видит. Мне кажется проблема в недостатке питания, может быть такое?
+
avatar
0
  • kvolk
  • 22 мая 2019, 13:19
Что за модем? Попробуйте заменить плату ТП4056. По какой схеме собирали?
+
avatar
0
изначально по второй, без MT3608, сейчас подключил без диодов по схеме с повышающим, модем питается, но в сети все так же не регистрируется.
А диоды в схеме с повышающим строго обязательны? Просто вроде и без них все работает, правда питаюсь от micro-USB.
+
avatar
0
  • kvolk
  • 23 мая 2019, 10:39
правда питаюсь от micro-USB.
Чего? От какого микроусб? Соберите схему как положено и всё будет работать.
+
avatar
0
Так на TP4056 есть вход под Micro-USB, Через него так же питается, разве нет?
+
avatar
0
  • kvolk
  • 23 мая 2019, 12:59
Ну так уберите этот бустер, он там не нужен.
Подключайте по схеме из этого обзора.
+
avatar
0
да эту схему я к примеру взял, у меня все подключено по вашей второй схемой с доработкой. С питанием проблему сегодня решил, теперь на модеме 4,2 В. Но в сети не регистрируется. Попробую с другой сим картой, возможно в этом дело.
+
avatar
0
  • demonk
  • 23 мая 2019, 11:17
Диоды продлевают жизнь аккумулятора. Без них при каждой передаче идет разряд-заряд, с ними — только при пропадании 220.
Может 5В зарядку поменять? Были с такими пульсациями что сенсоры на телефонах с ума сходили.
+
avatar
0
Пробовал поменять БП, с питанием сейчас проблем нет, настроил повышающий преобразователь на 4,2 В. Но в сети все так же не регистрируется, возможно у меня проблема в SIM-карте. Попробую купить МТС.
+
avatar
0
Короче я решил проблему. Ошибка в обзоре. Модем SIM800L не питается от TP4056, так как он не выдает 2А тока, и модем уходил в перезагрузку. Нужно подключать напрямую к аккумулятору с общей землей на ардуино. При таком подключении модем регистрируется моментально.
AT+CREG?
+CREG: 0,1

OK
+
avatar
0
  • demonk
  • 30 мая 2019, 10:52
Весьма странно. Если TP4056 без чипа защиты, то у него выход и подключен напрямую к аккумулятору. Если с защитой — то выход через открытый полевик, с ограничением 3А, а в импульсе и повыше наверно. Может попался бракованый полевик с высоким сопротивлением канала и защита срабатывала раньше времени.
А вообще импульсный жор тока в момент передачи лечится конденсаторами на самом модеме. Мне китайцы к каждому модему аж по 2 тантала на 100мкФ положили. Может имеет смысл допаять и электролит для сглаживания потребления.
+
avatar
0
  • kvolk
  • 30 мая 2019, 11:28
Ещё раз повторю, модуль с защитой TP4056 способен отдавать стабильно и продолжительно до 2,5А. Напрямую подключать к аккумулятору не нужно, решайте вопрос с пульсациями.
+
avatar
0
Только у меня вопрос, нужно ли подключать все компоненты на минус аккумулятора или можно только ардуино с модемом. Просто без общей земли с ардуино модем также отказывается работать.
+
avatar
0
  • kvolk
  • 30 мая 2019, 11:29
Решите вопрос с питанием и пульсациями, проблема будет решена автоматически.
+
avatar
0
А что делать если номер не заносится в массив. Звоню, идут долгие гудки минуты полторы потом резкий писк и все сбрасывается. Но номер в массив не заносится.
+
avatar
0
Так эту проблему я решил. Оказывается нужен общий минус с ардуино. Но сообщения о срабатывание датчика не приходят, или тоже нужны общая земля?
+
avatar
0
А можете пожалуйста подсказать, как пустить питание модема в обход TP4056. То есть чтобы устройство питалось от этого же аккумулятора, а модем от него же, но не через TP4056.
+
avatar
0
  • filk24
  • 28 июня 2019, 11:22
На выходе А3 нельзя установить время управления внешним устройством более 32 секунд — так и задумано? Если поставить значение от 33 секунд, то ардуинка виснет. Пробовал на двух крайних прошивках — одинаково.
В целом устройство работает без нареканий на протяжении нескольких месяцев, автору огромный респект!!!
+
avatar
0
Друзья, кто подскажет в последней прошивке GSM_2017_08_10-12-17.hex отключены команды смсон и смсоф. Теперь смс постоянно, есть ли какая-нибудь команда отключить смс. Использую как сигналка в машине, частенько долбят ложняки, ну деньги съедает со счета быстро.
Честно говоря я в программировании не силен, может кто что подскажет?
+
avatar
0
  • kvolk
  • 01 октября 2019, 10:29
Настройте правильно, оставьте номеру только признак «r», и у Вас останутся только уведомления голосовыми вызовами. Обратите внимание на команду EditMainPhone.
+
avatar
0
Я скромно использую только один номер в первой ячейки, что заносится сам при звонке.
EditMainPhone:r
Этой командой его можно изменить?
И честно говоря не понял что означают эти атрибуты «s», «r», «p», «i»
+
avatar
+1
  • kvolk
  • 01 октября 2019, 11:02
Всё есть в обзоре.
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» телефон заносится в память, но никак не используется.
+
avatar
0
Спасибо друг!
Честно говоря, не узрел этот пост. Тяжело все за раз вкурить. :)
EditMainPhone:1+71234567890r наверное так?
Но как быть с этим: >> Т.е. кто первый позвонил на устройство после его сброска на заводские установки тот и и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс. Невозможно добавить два одинаковых номера.<<
Да, телефон в памяти под первым номером, Заносится звонком, т.е. без атрибутов?
Значит должен не использоваться (согласно посту выше), но на него идут смс и звонки.
+
avatar
+1
  • kvolk
  • 01 октября 2019, 12:54
Да, понимаю, писался обзор так же, одно менялось, другое добавлялось.
этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс.
Номер изменить нельзя, удалить тоже. Но методы оповещения — можно.
Невозможно добавить два одинаковых номера.<<
Возможно, но тогда у номера дубликата автоматически остаётся только признак «r» — исключительно для повторного голосового вызова.
Да, телефон в памяти под первым номером, Заносится звонком, т.е. без атрибутов?
Все атрибуты у первого номера добавляются автоматически. Вы можете подключить устройство к консоли и посмотреть вывод команды ListPhone.

Read array phone:
№ -> Phone -> s -> r -> p -> i
1 -> 7905******* -> 1 -> 1 -> 1 -> 1
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
Как-то так.
+
avatar
0
Хорошая статья. С грустью понимаешь, как дешево может обойтись охрана, если чел умеет паять, руки ноги и малинку-адуринку.
Десяток баксов. А не почти 10 тыс руб если брать готовое решение у производителей. Зависть :)
+
avatar
0
  • kvolk
  • 01 октября 2019, 13:00
Да, устройство получилось неожиданно удачное и надёжное, за 3 года ни одного ложного срабатывания на двух экземпляра.
+
avatar
0
  • Aduard
  • 02 октября 2019, 21:03
Я извиняюсь, может огорчу, но у меня все равно пустые СМС приходят иногда только голосовой вызов без СМС, может из за плохой работы оператора...?(SIM800L) и в последней прошивке не работает — WatchPowerOn2 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания в любом случае будет отправлено ( СМС об отключении внешнего питания отправляется только когда сигнализация поставлена на охрану, при GuardOFF не отправляется). Напряжение и прием вроде нормальные.
+
avatar
0
  • Aduard
  • 11 ноября 2019, 15:44
Поменял стабилизатор напряжения, месяц отлично работает.
+
avatar
0
  • kvolk
  • 14 ноября 2019, 09:50
Какой стабилизатор напряжения?
+
avatar
0
  • Aduard
  • 14 ноября 2019, 20:43
Понижающий на 5В, блок питания 16 вольт.
+
avatar
0
  • Aduard
  • 17 ноября 2019, 00:31
Не работает — WatchPowerOn2 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания в любом случае будет отправлено ( СМС об отключении внешнего питания отправляется только когда сигнализация поставлена на охрану, при GuardOFF не отправляется).
+
avatar
0
  • kvolk
  • 18 ноября 2019, 15:00
Вечером проверю на своей железке, на днях проверю ещё на одной.
+
avatar
0
  • Aduard
  • 19 ноября 2019, 00:44
+
avatar
0
  • Aduard
  • 19 ноября 2019, 00:51
Money все равно пустое СМС приходит.
+
avatar
0
Скажите пожалуйста, а есть версия прошивки с поддержкой PIR и температурного датчика?
+
avatar
0
  • wcat8
  • 06 марта 2020, 10:02
есть ли возможность прошить данный девайс под видеорегистратор? Если возможно — где можно хотя бы примерный код найти?
Тащить провода по всей квартире и держать ПК постоянно включенным не с руки — порой возможны непонятные отключения электричества.
+
avatar
0
  • Z2K
  • 26 марта 2020, 08:56
Хотите что б камеры включались по событию?
+
avatar
0
  • Sabj
  • 03 июня 2020, 10:38
Можно взять блок Сова-900 и например при срабатывании датчика движения (проникновении) чтобы включался автомобильный видеорегистратор.
+
avatar
+2
  • hawk23
  • 04 июня 2020, 12:59
Спасибо автору за сигналку.
Повторил. Работает. После очень длительного чтения этой и второй ветки, посвященной данному девайсу, могу поделиться результатом. По ссылке архив с «окончательной» схемой, платами под Arduino Nano и Pro mini. Платы сделаны «универсальными»: с возможностью использовать тревожный выход, выход управления нагрузкой, вход управления по 1 и по 0, а также возможностью подключния датчика движения, Пояснения смотреть на схеме и в текстовом файле (в архиве ниже).
Я делал на Arduino Pro mini. Фото под спойлероом.






Ссылка на архив со схемой, платой под спойлером
+
avatar
+1
  • kvolk
  • 04 июня 2020, 13:37
Пожалуйста! Добавлю в обзор прямую ссылку на комментарий.
+
avatar
0


Схема и прошивка свои. Из базового скетча осталось всего ничего.
В добавок полное управление режимами сна и энергосбережения.
Включение и выключение модема.

В дежурном режиме на АКБ суммарной емкости 4а\ч работает 3 недели.
+
avatar
+2
  • hawk23
  • 17 августа 2020, 11:33
79635431264, Судя по отсутствию комментариев никому уже не интересно… Кроме меня :)
Если не секрет и не коммерческая тайна — можете поделиться?

А у меня вторая версия платы к прошивке kvolk (первый пост чуть выше).
Используется Arduino Pro Mini 16 MHz 5 V.
Обвязка для управления выходами на плате предусмотрена, но я их не использую.


Ссылки
плата v2 (схема, плата, гербер, фотки)
drive.google.com/file/d/1hZxEc4IUnRd6m9C2PVNj8DqFXzuccjOy/view?usp=sharing
В процессе сборки обнаружил, что неверно развел плату под полевик-ключ 6402 для питания схемы (его необходимо запаять вверх ногами).

плата v2.1 — исправлен на плате полевик VT1 (схема, плата)
drive.google.com/file/d/1fFkVyIvu5wn9cKhEJcb2gOAx2Omhe2_i/view?usp=sharing
+
avatar
0
79635431264, Может поделитесь прошивкой?
+
avatar
0
Могу, но этоврядли поможет. Схема другая.
+
avatar
0
  • cennmax
  • 01 октября 2020, 04:15
Приветствую разработчика. Интересное устройство, заработало сразу, без танцев. При снятии охраны с кнопки не получается отключить оповещение по SMS. Если сам пришел и снял с охраны, зачем тебя же и информировать? Сугубо моё мнение. СПАСИБО.
+
avatar
0
  • cennmax
  • 01 октября 2020, 13:02
Сам лошара не заметил про последний параметр I
+
avatar
0
  • kvolk
  • 01 октября 2020, 14:53
Что там за параметр?!
+
avatar
0
  • cennmax
  • 01 октября 2020, 15:16
№ -> Phone -> s -> r -> p -> i
Последний ( i )
+
avatar
0
  • cennmax
  • 01 октября 2020, 15:32
Добавил прям в ардуинку постановку и снятие ключом Ibutton, бузер. Прекрасный проект. Спасибо автору.
+
avatar
0
  • kvolk
  • 01 октября 2020, 15:41
Места хватило или что-то удалить пришлось?
+
avatar
+1
  • cennmax
  • 01 октября 2020, 16:29
Убрал I2C, PC, мне это лишнее, а правда, при снятии и постановке с кнопки, при отключенном параметре i, смс не приходят, но они и не приходят при постановке и снятии с телефона, а это не есть GOOD. В гараже можно визуально увидеть, встала система на охрану или нет, а с телефона надо всегда знать.
+
avatar
0
  • klio_54
  • 14 октября 2021, 06:02
Добрый день, подскажите как скачать последний доступный скетч (не HEX),
гугл диск пишет «нет доступа».
+
avatar
0
Вроде скачивается, проверил. Пишите в личку, скину.
+
avatar
0
Пришло время собрать еще парочку устройств. Спасибо автору, вроде все пашет по пол года без зависаний и ложняков.
Может у кого-нибудь есть модифицированный вариант и он им поделиться?
+
avatar
0
  • kvolk
  • 01 января 2022, 11:34
Какой именно модифицированный? У меня уже 4 года в строю, ложных не было. Только 1 раз аккумулятор пришлось заменить и пол года назад модем m590 заменил на sim800l, начал глючить стары 590й.
+
avatar
0
Да и у меня ложных не было, работает надежно.
Я имел виду модификации тов. которые делают для себя с какими-нибудь изменениями. Ну например можно было температуру в вместе с смс получить, режим сна или при обрыве-замыкании контактов с другого датчика звонило на другой номер. Ну типа того.
Я на самом деле просто поинтересовался, ну вдруг кто чего переделывал. Мне к сожалению самому уже не в курить такое изменение в скетче. У меня несколько платок трудиться, одна используется с простым китайским датчиком протечки (с двумя), вся беда еще в том, когда датчик намочен то сигналка звонит до бесконечности. Если ночью в телефоне звук выключен или он не рядом то беда. Было бы включено смс то сразу в минус. Ну в любом случае спасибо за проект!
+
avatar
0
Вот попробую сформулировать, было бы здорово как то отличать сигналы срабатывания с А0 и Д6. Не в виде смс о сработавшей линии 1или 2. А именно в виде звонка, на другой номер или ограничить количество гудков с другого пина. Подкупает этот проект своей «экономией» и простатой.
+
avatar
0
С простатой осторожнее надо быть. А то вырежут.
+
avatar
0
  • kvolk
  • 01 мая 2022, 22:46
Всех с праздником! Краткий итог. Дома за 5 лет вышел из строя модем 590-й и аккумулятор. Аккумулятор был дохлой батареи ноутбука — заменён на такой же. 590й модем заменён на сим800л, 590 лучше не использовать. Ложных срабатываний не было, за всё время исполнения.

Поставил такую же сигналку в гараж, геркон и неодимовый магнит. И тут началось… При температуре +5...0 литий не работает совсем, то есть автономности нет. Ложные срабатывания, на день по 5 раз, всё из-за неодимового магнита, с герконом он работать нормально не может. После замены магнита на комплектный с датчиком, проблема ушла. Осталось пересмотреть систему резервного питания для работы в зимнем режиме.
+
avatar
0
Есть концевики с колесиком. Работают отлично… Такие используют в лифтовом оборудовании например.

С литиевым акумом на холоде работает, но меньше по времени. Один вариант делал с питанием от 12в, встраивал в блок БПС от пожарной сигнализации. Акум гелевый там. Работает уже 5 лет у человека в гараже.
+
avatar
0
  • kvolk
  • 01 мая 2022, 23:10
У меня там геркон хорошо справляется, автоматические роллетные ворота, геркон у плинтуса, магнит на воротах. Пришлось переделать чуть прошивку чтоб по команде info была информация о состоянии — закрыты или открыты. Пару месяцев тестирую, пока всё нормально, ищу рабочее решение с металгидридом или кадмием для автономной работы зимой. 12В слишком громоздко получается.
+
avatar
0
  • Foxx72
  • 25 июля 2023, 21:16
Здравствуйте. Если можно изменить текст смс, то как это сделать?
+
avatar
0
  • kvolk
  • 15 ноября 2023, 17:12
Открыть исходник, заменить текст, сохранить, компилировать, прошить устройство. Учитывайте только объём памяти после изменения, может нехватить.
+
avatar
0
Огромный респект автору, что время от времени дорабатывает проект и отвечает на вопросы пожелание. Жаль только, что 800L становится всё больше бесполезен из-за поддержки только 2G сетей. А их (в Европе) везде уже начинают отключать… Альтернатива этой домашней сигналке снова остаются древние кнопочные 3G телефоны с функцией «быстрый набор»… Тем не менее, успехов автору и всем!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.