Всем доброго времени! Устройство создавалось по материалам этого обзора:
mySKU.me/blog/ebay/43282.html
Но ввиду того, что меня не устраивал функционал того устройства, было решено сделать устройство под свои «хотелки». Кому интересно прошу под кат
Список того что понадобится:
1. GSM модем
M590E — 1 шт. примерно 90 руб.
2.
Arduino Nano v3 — 1 шт. примерно 190 руб.
3.
модуль MT3608 — 2 шт. (лот 5 шт.) около 105 руб.
4.
Зарядник с выходным напряжением 5 вольт и током 2 Ампера — 1 шт. около 185 руб.
5.
Зарядка для Li-ion с защитой — 1 шт. около 20 руб.
6.
Герконы около 40 руб. за штуку
7.
Модуль приемника 433 МГц -1 шт. в комплекте с передатчиком 44 руб.
8.
Сирена — 1 шт. 375 руб.
9.
Беспроводной датчик движения — 281 руб.
10.
Датчик дыма — 500 руб.
Остальные комплектующие покупались давно или остались от других «проектов».
Схема
Плата
Прошивку берем
здесь
15.04.2017 — добавлена возможность постановки/снятия охраны с помощью брелка.
Например вот таких:
Запихал все это в корпус D6MG (корпус для установки на DIN рейку):
Моя дача отапливается с помощью
таких электроконвекторов (не реклама) т.к. газа нет. Да и управлять газовым котлом с помощью электроники — ОПАСНО! Поэтому управление отоплением делалось именно под кварцевые обогреватели.
В память устройства можно прописать до 5-ти номеров телефонов и 12 датчиков. Датчики могут быть как проводные, так и беспроводные. Но всего 12.
Перед постановкой на охрану все датчики проверяются. Если где-то не закрыто (и т.п.), то охрана не включится и придет соответствующее СМС.
Датчик дыма опрашивается всегда (если разрешен его опрос). Отключается командой — dymmonitoroff
Контролируется наличие 5 вольт от источника питания (т.е. косвенно 220 вольт). При пропадании/появлении придет СМС. Отключается командой — voltmonitoroff
Номер первого позвонившего будет сохранен как основной. Только с этого номера можно выполнить команды настройки устройства (команды 1-12, 12.1).
Консольных команд нет. Кому они нужны в реальных условиях…
СМС-Команды (регистр значения не имеет):
1.
resetconfig — сброс всех настроек на «заводские»
2.
addphone — записать номер телефона (если в конце M — только управление устройством
если в конце A — только оповещение о тревожных событиях
если MA — и то и другое
например: addphone:+79001234567m
addphone:+79001234567a
addphone:+79001234567ma
3.
listphones — прислать в СМС список телефонов, записанных в памяти
4.
delphone — удалить номер телефона
например:
delphone:1
удалит 1-й номер в списке
5.
resetphones — сброс всей «телефонной книги»
6.
learnwirelesson — включить режим «прописывания» беспроводных датчиков (выключается сам через 30 секунд)
7.
settime — установить время
например:
settime: ГГ/ММ/ДД ЧЧ: ММ
8.
addsensor — записать датчик
например:
addsensor:6=datchik vhodnoi dveri+L запишет в память имя датчика «datchik vhodnoi dveri», подключенный к 6-й ноге Arduino, тревога при низком уровне
addsensor:7=datchik dvizheniya v korridore+H запишет в память датчик с именем «datchik dvizheniya v korridore», подключенный к 7-й ноге Arduino, тревога при высоком уровне.
9.
listsensors — прислать в СМС список датчиков, прописанных в памяти устройства.
10.
delsensor — удаляет датчик
например:
delsensor:11 — удалит 11-й датчик в списке
11.
resetsensors — сброс всего списка датчиков
12.
namesensor — изменить название датчика в списке
например:
namesensor:7=datchik dveri v tualet — изменит название 7-го датчика в списке на «datchik dveri v tualet»
15.04.2017 добавилась команда для прописывания брелков (всего можно прописать до 5-ти штук):
12.1
learnkey — включить режим записи кодов брелков (выключается сам через 30 секунд)
13.
ringon — включить «дозвон» на тревожные номера.
14.
ringoff — выключить «дозвон» на тревожные номера.
15.
smson — включить оповещение по СМС
16.
smsoff — выключить оповещение по СМС
17.
dymmonitoron — включить «опрос» датчика дыма
18.
dymmonitoroff — выключить «опрос» датчика дыма
19.
voltmonitoron — включить «опрос» наличия напряжения сети
20.
voltmonitoroff — выключить «опрос» наличия напряжения сети
21.
guardon — включить охрану
22.
guardoff — выключить охрану
23.
money — запросить баланс
24.
info — запросить состояние системы
25.
clearsms — удалить все СМС
26.
ledon — включить «моргающую» лампочку
27.
ledoff — выключить «моргающую» лампочку
28.
otoplenieon — включить отопление
29.
otoplenieoff — выключить отопление
30.
targettemp — установить желаемую температуру в помещении
например:
targettemp=30 — желаемая температура 30 градусов
31.
help — прислать в ответном СМС список поддерживаемых команд.
Фух! По-моему все.
Так-же можно поставить/снять с охраны по звонку.
Следующий этап — переход на STM32 и сообщения на русском языке.
Но это при наличии свободного времени…
Спасибо всем, кто потратил время на чтение.
Подключены к ESP8266, прошивка написана в эклипсе(никаких Arduino IDE, SDK и ничего остального, связаного с ардуино), esp в standalone режиме
Питание всей системы от AMS1117-3.3, тоесть от 3,3 вольт
Опрос раз в 10 секунд.
MishaBig10 декабря 2016, 16:21
Немного оптимизировал Ваш код на досуге… Скетч от 02.12.16 используется всего 651 байт SRAM. С «прикрученным» датчиком DS18B20 — 787 байт. На этом «оптимизация» Вашего кода не заканчивается. Слишком он прожорлив на SRAM! Плохо что автор перестал выкладывать скетчи. А ведь платформа Arduino предполагает открытый исходный код! Если хотите выложу оптимизированный код (если автор не против).
Ну и проще слепить сайт через который будет общение и куда будут сыпаться показания датчиков. Домен третьего-четвёртого уровня ничего не стоит, найти халявный хостинг не проблема. Больше проблема найти тариф у опсоса, трафик никакой, единицы килобайт, а мегавонь сессию округляет до 250 килобайт, за сутки дофига выходит.
Ну и ардуину если юзать, то просто как плату и обвязку проца, прогу писать нормально, а не готовыми ардуиными набросками.
Сейчас на даче стоит это gsm.meteolk.ru/order/page.php?id=10 вся инфа для самостоятельного изготовления radiokot.ru/circuit/digital/home/214/ развитие до последнего варианта и детали настройки в ветке форума
И такое было — как-то оставил модуль включённым, и в течении пары часов он тупо завис. Бывало и сеть тупо терял. К антенкам он кстати тоже капризен.
Но и про SIM800-е попадалась инфа на али, что кто-то тоже получал б/у-шные.
На счет заготовок — ерунду несете. Профик в 5 байт на баблу… Просто надо поискать скажем замену тем же digitalread и иже с ним. Изобретать велосипед… Любитель мазо?
По схеме — куча косяков:
1) Схема переключения питания на батарею и обратно работать корректно не будет — D9 — лишний тут.
2) Вообще вся схема питания странная: получать 4В из 5В путем падения на диодах, потом Step-UP до 4,2В?
3) ILML2502 у вас верх ногами на схеме.
4) Где защитный диод на реле?
5) Герконы без минимальной защиты — грозу устройство вряд ли переживет.
6) И самое главное, обязательно надо ставить ключ на питание GSM-модуля в устройствах подобного назначения. Любой GSM модуль имеет свойства зависать. А тем более этот и с таким неоднозначным питанием.
Как только у вас отвалится GSM модем по питанию и снова подключится питание, ардуина перестанет с ним общаться. Эта проблема не только ключом решается.
А работать будет. Но что там дальше будет с просадками — неясно.
Вы имеете в виду из-за просадки питания в момент включения GSM — да, с этим надо бороться.
Если вопрос о том что криво написана программа — то, естественно, надо заново инициализировать все вплоть до полной перезагрузки по Watchdog.
Не лишний, мы же не хотим питать плату контроллера с выхода OUT+?Это уже немного изменённая схема, не обратил сразу внимания.
Хотя, еще лучше — прикрутить i-button.
Автор молодец.
Если говорить про уязвимость то i-button или RFID думаю будут надежнее, при условии того что подмена отправителя СМС вполне реальна.
На схеме у Вас на 6 ноге ключ, а на 7 ноге цифровой датчик температуры! Как так-то?
Как быть если я использую всего 1 или 2 датчика? Шунтировать?
Ничего шунтировать не нужно! Проверяются только те датчики, которые прописаны в память устройства.
У меня в одном из проектов, например, можно самому AT-команды модулю отправлять, датчики принудительно опрашивать, приводами управлять, менять значения сохраняемых в EEPROM параметров. Там еще и уровневые команды сделаны на подобии того, как в сетевом оборудовании это сделано, т.е. можно просто написать gsm command at+csq, а можно сначала перейти на уровень gsm, потом command, и после этого уже просто писать AT-команды, не повторяя полную команду.
Отдельная история в этом случае — это вывод отладочной информации в консоль так, чтобы она не визуально не мешала вводу команд.
P.S. Первоначально планировал реальный Telnet-сервер поднять, но пока руки не дошли до того, чтобы Ethernet туда прикрутить, и использую либо стоящий рядом с изделием ПК через RDP-подключение, или удлинитель Moxa.
Я проверил только после пайки.
Видимо, китайцы перегрели модуль, когда отпаивали и внутри детали поплыли.
Бахнуло странице к третьей, собственно, чудом без жертв. Но если ССЗБ, то ваяйте, конечно :) управление отоплением на ардуино из той же оперы.
Просто если сухой контакт, то котел же просто отключится по перегреву. Ну, или зимой не запустится случайно и вся бойлерная+сантехника под замену
Только с опытом начинаешь понимать, сколько всего нужно предусмотреть и аппаратно, и программно. И если котел, к примеру, не включается, а температура в помещении падает, то начать нужно не со ста попыток его включить, и даже не с отправки тревожного SMS владельцу (что может быть тоже невозможно из-за отсутствия связи GSM), а с команды на слив системы (при ее наличии, конечно).
Не так давно видел чудное изделие, совмещающее охранно-пожарную сигнализацию с контролем доступа. В итоге, если приходит сигнал «пожар», то оно отключает вводной автомат, из-за чего обесточивается замок и имеющийся контроль доступа уже ничем не может помочь.
и
Пока нет ничего что могло бы заинтересовать, всё предельно ясно.
А раз так возмущают замечания, то почему бы и транзисторы вверх ногами было не оставить, их же тоже труда не составить припаять как надо, а не по схеме.
Повторюсь: я не считаю данный метод управления надежным! Очень легко перехватить код!
td.rubezh.ru/products/detail.php?ID=1962
787
792
Event: +38066789809
SMS NOT sended! Read: ERROR
OK
785
787
смс не отправляются, связь не рвется. еще любопытно бы узнать что это за цифры выскакивают «785....»