“GSM good”. Контроль, управление, сигнализация.

Автор: Oto. Опубликовано в Автоматика в быту

 В любительских условиях можно собрать устройство на микроконтроллере и GSM модулем, найти ему применение можно во многих местах, в том числе в мелком бизнесе, офисе, квартире , даче , гараже… и т.д.

 

Чуть раньше в виде первого эксперимента была сделана схема «GSM "Мини звонилка" - SIM800L и ATtiny2313.»

Написанное там, насчет подключения микрофона  к модулю, а также там кратко , почему для питания модуля SIM800, нужно использовать  DC step-down  конвертер, актуально и в этой схеме. 

Схема GSM good.

схема

В основе схемы используется   ATmega128A, почему выбран такой МК? чуть раньше писал здесь , потому что на данный момент продают их дешево, при том, что у них много памяти, много ног, вот к примеру здесь по 0.6$ за шт. http://aliexpress.com/20PCS-ATMEGA128A., так что выбор вполне оправдал себя , в данной программе при разработке не было преград ни с памятью, ни с ногами J

Используется GSM модуль SIM800L , распространенный недорогой модуль, легко купить, продается в виде отдельной готовой платки, применять просто и удобно.

Интересно было в этой схеме использовать так же возможности графического дисплея 128х64,  выбор  сделан в пользу более бюджетного  ST7920.( в архиве так же имеется прошивка, и для работы с дисплеем KS0108, если у кого такой имеется)

Основные функции, которые может выполнять GSM good”.

1. Дистанционное управление нагрузками с помощью моб. телефона и DTMF команд.

2. Ввод команд управления  с клавиатуры устройства

3. Контроль состояния входов и выходов* .

4. Контроль состояния нагрузок*.

5. Охранно - пожарная сигнализация

6. Контроль баланса счета*.

7. Аудио контроль объекта

8. Контроль  рабочих параметров GSM модуля  SIM800 *  (рекомендуется применять модуль SIM800L, возможной заменой является SIM800C).

* текущее отображение на дисплее устройства, и по запросу пользователя, СМС на моб. телефон.

вид



Далее по общему описанию, и   описанные ниже  варианты команд,

 дают общее понятие как можно использовать эту программу управления.

При приеме звонков. на модем SIM800.

Программа может различать три категории абонентов .
1. Номера с возможностью на них автоматического дозвона и отправке СМС по сработке входов A,B,C,D (первые два номера на SIM карте телефона).
2. Номера, которым разрешено дозваниваться на SIM800 (это еще + восемь номеров на SIM карте телефона)
3. Номера не записанные в память сим карты телефона ( при активации команды *811*
11# , голосовое соединение для этих номеров не происходит)

В режиме голосовой связи,
1. Возможен разговор между абонентами (или осуществляется прослушка помещения).
2. Управление с помощью DTMF команд (  эл.приборами подключенными к выходам МК)
3. Настройки параметров данного устройства , и разные  СМС запросы параметров SIM800, в том числе в СМС состояние подключенной периферии к схеме.

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

рис.схематич

Команды управления, с мобильного телефона и с клавиатуры устройства.


*010*11# - запрос СМС с данными модема SIM800 ( напряжение питания «V», прием сигнала «dBm», температура «C’», остаток на счету «$» и т.д.)
*011# // остаток на счету денежных средств  (
USSD запрос, обновление информации на графическом дисплее), 
*029*
1*11Выбор варианта модуля для работы с программой - SIM800L=1 (установлено по умолчанию)или SIM800C=0
*031*
5*11- чувствительность микрофона от 0 до 9 (от +8дб до +22дб, (по умолчанию=5, или +15дб)).
*061# // обновление (установка) текущего времени (
USSD запрос), от станции оператора вашей сим карты(*061*0*11# отключить автоматическую установку времени от базовой станции *061*1*11# включить)
*061*
16*05*25**13*25# // установить время "16/05/25,13:25:49+12"
*061*061# // установить текущее время (GPRS см. команду *803*
11# ), от станции оператора
то же самое *061*061*
3# но уст. времени с коррекцией часового пояса

*066*
0*11внешняя корректировка времени от SMS отключена.
*066*
1*11# -возможная коррекция времени от SMSок включена

*070*0*1*11Выбор на экране варианта главного меню *070*0*1*11# (0 на экране макс. отображение данных работы программы ,1 минимальное количество информации, возможно как применение в общественном месте)

*070*0*1*11# ( время автоматического сброса второстепенных меню, таких как  «терминал» , «охранно пожарная» , «таймеры», значения от 1до 9минут).

 Команда *070#, движение по меню графических экранов «терминал» , «охранно пожарная» , «таймеры»,команда работает параллельно Кн1.


*100# // выключить все выходы № 1, 2, 3, 4
*199# // включить все выходы № 1, 2, 3, 4 (№4 включается на 1 минуту)

*110# // выход № 1 выключить
*115*
05//мсек включение выхода № 1, время включения от 100 до 990мсек (условно 1 ед. = 0.1секунде)
*115# // мсек включение выхода № 1,( время берется из установленного раннее командой *115*
05#).
*119# // выход № 1 включить (№1 выключается автоматически при разрыве голосового соединения)

*120# // выход № 2 выключить 
*129# // выход № 2 включить (не запоминается в .еер, МК)

*130# // выход № 3 выключить
*139# // выход № 3 включить (запоминается в .еер, МК)

*140# // выход № 4 выключить , и сбросить настройки таймера *149*01*35# 
*149*
01*35# // выход № 4 включить (включение по таймеру( пример *149*01*35# будет включено на 1ч 35 минут) при обесточке отсчет не восстанавливается)

*155# // запросить СМС о состоянии входов A,B,C,D - выходов. №1,2,3,4, (модем отошлет СМС, на номер звонящего)


*201*1*11// Выбор реакции на изменения состояния входов A,B,C,D, команда *201*1*11# это вариант№1( это установка состояния по умолчанию, см. описание работы ниже с абзаца «Действия, на сработку входовA,B,C,D.») ,
команда *201*
2*11# вариант охранной системы №2 предполагает назначение входов - А– охрана «входная дверь» реакция программы на сработку с задержкой включения сирены (задержка для возможности поставить снять охрану с клавиатуры), В– охранная зона «коридор» с реакцией на сработку с задержкой включения сирены, С- охранная зона «основного помещения» реакция на сработку без задержки включения сирены , D- пожарная сигнализация, вход постоянно в активном состоянии при сработке дозвон на тел. №2, звук сирены включается циклически на 1 сек , через каждые 15 сек.

*234*
1*11# // Поставить на охрану помещение (вход А, В и С реагируют на изменение состояния на входах портов МК) , *234*0*11# снять с охраны (А, В и С не реагируют на изменения у них на входах)

*241*
1234*11// установка и изменение пароля для клавиатуры (может быть нужен для раздачи персоналу ( чтобы не афишировать свой основной *11# пароль управления)) устанавливается с мобильного. По данному примеру *241*1234*11# , персонал будет с клавиатуры управления снимать и ставить охрану помещения, упрощенной командой 1234#.

*251*
99*11// Установка в минутах, времени работы сирены при сработке охранной сигнализации

*252*
14*11# // Установка сек. времени задержки включения сирены на сработку для датчика «входная дверь» при снятии с сигнализации(см. пункт*201*2*11# )

*254*
999*11# // Установка в секундах памяти тревоги при повторной сработке сигнализации

*260*
11#// запрос СМС статистики , сделанной при включенной охране помещения, в ответе СМС информация какой датчик , и когда вызвал сработку сигнализации,


*301*11#// получить  СМС сообщение, с  информацией установленного времени в таймерах, для каналов 1,2,3

*311*18*00**21*30# // установка времени для канала №1 таймер №1

*312*05*00**09*20# // установка времени для канала №1 таймер №2

*311*1# // ручное включение нагрузки на канале №1(*310*0#  ручное выключение, если произойдет какое либо событие по таймерам №1 или №2 , ручное вкл./откл. деактивируется))

*318*1*11# // канал №1 взаимодействие с датчиком освещения включено (*318*0*11# // отключено)

*319*1*11# // канал №1 включен и готов к работе (*319*0*11# // канал №1 отключен)

Второй канал, таймеры управляются аналогичными командами канала №1

*321*18*00**21*30# // *322*05*00**09*20# //

*321*1# // *328*1*11# // *329*1*11# //

Третий канал,  тоже самое.

*331*18*00**21*30# // *332*05*00**09*20# //

*331*1# // *338*1*11# // *339*1*11# //

 


*801*11#// запросить номера с телеф. книги в СМС сообщении ( пример *801*11# , число 11 по умолчанию пароль, можно изменить с помощью команды *899*11*55# )

*803*
11#// запросить (GSM Location) локацию местоположения, данные (без коррекции часового пояса) в СМС сообщении на номер звонящего , при наборе с клавиатуры, СМС на номер №1 сим карты модема (прежде чем пользоваться, рекомендую поинтересоваться стоимостью трафика, у вашего оператора для таких GPRS запросов)

*805*
01*11// команда для модема, позвонить с SIM800, на номер из телефонной книги SIM карты (функция доступна только с клавиатуры)

*811*
1*11// реакция модема на входящие звонки, вариант *811*1*11# “вкл”(по умолчанию) - разрешить «автоподнятие» всем звонкам
*811*0*
11# “откл” - «автоподнятие» только по номерам первой десятки, из SIM тел. книги

*899*
11*55# // изменить старый пароль 11 на новый например 55


*901*067*5555555*11// записать телефонный номер №1 на SIM карту модема SIM800.
*9
02*067*6666666*11// записать телефонный номер №2 на SIM карту модема SIM800.
и тд. ...................
*9
10*067*7777777*11// записать телефонный номер №10 на SIM карту модема SIM800.

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

        рис.схематич

Охранно пожарная сигнализация управляется сигналами на входы A,B,C,D , и имеет реализацию в двух вариантах работы.
Вариант №1 (см. команду *201*1*11)

Действия, на сработку входов A,B,C,D. для варианта №1

1.Дозвон на первые два номера, записанных в SIM карте телефона, по сработке входов A на номер №1, входы C на номер №2.
2.SMS на первые два номера, записанных в SIM карте телефона, по сработке входов B на номер №1, входы D на номер №2 . (модем отсылает СМС, на номера записанные в SIM – карте модема под №1 и №2)

(если использовать для управления 1 телефонный номер, тогда записать один и тот же телефон в первые две ячейки).
Особенности работы входов A,B,C,D на изменения сигналов на портах МК. A,B реагируют только на нажатие , C,D любое изменение их состояния.


Работа охранно пожарной сигнализации при использовании варианта №2 (*201*
2*11#).

В программе есть графический экран с примером анимации  работы охранно пожарной сигнализации

рис1                    рис2

Включение этого меню можно производить с помощью Кн1 или командой с клавиатуры *070#.

Виды тревожных датчиков для работы в этом варианте программы,

Датчик А -  геркон входной двери,
и C датчики движения(типа SRPG-2n), все по умолчанию нормально замкнутые, при конфигурации на вариант №2 *201*2*
11#, работают так:
1)Постановка «на охрану» с клавиатуры (пример кода 
1234#) после этого идет небольшая (установленная раннее *252*14*11# )задержка времени на включение сирены, чтобы успеть выйти из помещения, в это время мигает сигнальный светодиод SL1 о состоянии готовности перейти в статус охраны.
Закрываем входную дверь (датчик А), и так, как прошло отведенное время (*252*
14*11) объект берется под охрану, сигнальный светодиод SL1 горит постоянно.
2) Во время статуса охраны, если сработает датчик С или В сразу включается режим «тревога» (для В, если перед его сработкой, сработал датчик А, включается задержка на вход для (*252*
14*11) считается что это владелец пришел снимать с охраны, в противном случае если А не сработал первым, а сразу В , тогда без задержки «Тревога»)
Режим «Тревога»: Дозвон на телефон №1 , и включение внешней сирены (на уст. время командой *251*
99*11# ), готовность реагирования на новую сработку зависит от параметра *254*999*11# , новая сработка повторяет последовательный цикл заново, дозвон и сирена.
3)Снятие «с охраны», открываем входную дверь , первый срабатывает датчик А, и возможно за ним естественным образом датчик В (сигнальный светодиод SL1 мигает) в программе начался отсчет времени(*252*14*11) на удержание включения внешней сирены, на клавиатуре набираем1234# происходит снятие с охраны, сигнальный светодиод SL1 не горит.
Если производить постановку снятие с телефона, командами *234*
1*11# или *234*0*11# , тогда все несколько упрощается задержка (*252*14*11) «вход-выход» не участвует в процессе, постановки и снятия объекта с охраны.
Дозвон на телефон №1(который в ячейке номер 1,записывается командой *901*067*5555555*11#) , при таких такие действиях как «взятие под охрану» и «снятие с охраны» модем SIM800 всегда отправляет вызов на телефон №1, никакие задержки, и иная последовательность действий, на это влияния не имеют.
4) Пожарная охрана: датчик (тип ИПД-3.10) подключен на вход D, нормально замкнутый, при установке работы программы по варианту №2 ( *201*2*11# ) постоянно находится в активном состоянии (команда *234*
0*11# не отключает активность пожарной сигнализации).
При сработке датчика D происходит дозвон на тел. №2, (при работе пожарной сигн., максимально возможное 5ти кратное повторение дозвона на тел. №2, с периодом 1 минута), звук внешней сирены включается циклически, если программа в режиме охраны на 1 сек, через каждые 15 сек, если программа не в режиме охраны, то, сирена включается на 1 сек, через каждые 60 сек. (Общая длительность подача короткого сигнала сиреной в течение 1го часа).
Светодиод SL1 в это время быстро мигает.
Доступна СМС статистика по всем видам тревожных сработок, запрос производится командой*260*11# 


В СМС придет информация , о текущем текущем состоянии датчиков, время на момент запроса СМС.
По сработкам время дата, какой датчик,
и статус сработки, толи это постановка снятие, или это тревожная охранная или пожарная сработка.
Так же если во время охраны производилась перезагрузка устройства(обесточка) на это тоже реакция программы,  как на тревожную сработку.

 

Управление исполнительными устройствами на выходах МК,  эта часть команд описана выше в командах под нумерацией от *100 до *155.

Естественно, что им можно придумать очень разнообразное применение.

Например, команда управления для выхода №1 с номером *115

Использовалась у меня некоторое время для кормления кота.

И мой  кот стал первым испытателем этого GSM управления на первом канале.
Испытывал он это дело 4 дня, и с едой за это время проблем не было ))).



Сама кормушка, была быстренько собрана из готовых частей, и с помощью скотча флакуша и эл.мясорубка стали на время устройством для выдачи определенной дозы сухого корма.
На практике оказалось, что для кормления такой кормушкой, нужное время выдачи одной порции корма нужны не минуты и не секунды, а всего лишь десятые части одной секунды (иначе от переедания очень страдает котик).
Поэтому для такой вот цели и была написана такая команда
*115*05#где*115*это сама команда а05это установка времени (изменяемая пользователем), в данном примере составляет 0.5 секунды.
Один раз установили 0.5 сек., далее можно пользоваться так сказать упрощенной командой*115#
а наши уст. 0.5 сек. будут автоматически "подхватываться" из раннее установленного в .еер*115*05#.

Как происходит контроль работы этой команды, после того как послана команда*115# в наушнике моб. тел. слышно троекратное "пиканье" (если команда не правильно набрана, пикнет один раз).
Ну а дальше, благодаря чувствительности микрофона, вы услышите звук включения этой кормушки, даже если она стоит у вас в самом-самом дальнем помещении, что в свою очередь означает что кормушка выдала расчетную дозу корма.

Блок команд под нумерацией от *300 до *350 управляет  тремя каналами по таймеру (например освещением) , на каждый канал по два суточных таймера.

Задавать временные интервалы установок времени можно как с моб . телефона, так и с клавиатуры устройства.

Контролировать установки и состояние этих параметров можно визуально на графическом экране.

таймеры 1       

Включение этого меню можно производить с помощью Кн1 или командой с клавиатуры *070#.

Или эти же данные настроек можно получить   дистанционно  с помощью СМС сообщения

Сделав запрос командой *301*11# , на телефон придет вот такое СМС сообщение.

Находясь непосредственно у блока GSM управления, с помощью матричной клавиатура 3х4 (4х4), можно так же полноценно работать  с управлением периферии МК и настройками программы (с клавиатуры осуществляется дублирование DTMF команд от телефона)

При этом, при запросе отправить СМС с какими либо параметрами (*010*11#, *155#, *260*11# , *301*11#, *801*11#, *803*11# ), СМСки будут отправляться на телефонный номер который записан в телефонной книге SIM карты под номером один, в иных случаях СМС будут оправляться на телефон звонящего абонента.

смс


При подключение модуля SIM800 нет никаких особенных настроек, нужно только убедится что, питание модуля SIM800 4 вольта ровно.

И скорость UART для обмена информацией модема с МК 115200 бод,  в новом не использованном модеме  по умолчанию установлено автоматическое определение скорости UART, если модем  SIM800 с настройками по умолчанию подключить в правильно собранную схему GSM good” , устройство начнет работать сразу.

В иных случаях , если модем ранее уже использовался в каких нибудь схемах, нужно через терминал сделать сброс настроек к заводским установкам командой AT&F,  порт в режим автоматического выбора скорости обмена AT+IPR=0


Фото внешнего вида собранного устройства

вид1

 

 

  

  вид

 

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

плата


Любителям пробовать тестировать схемы в протеусе, в архиве имеются два проекта в протеусе, под графический экран KS0108 и ST7920, при определенной сноровке, можно с помощью терминалов и АТ команд, довольно таки полноценно симулировать работу этой программы.

протеус  

 

Фьюзы:

fuse 128
Архив с прошивками протеусом и печатной платой.

P.S. Данная программа тестировалась в «железе», с сим картами от “
Kiyvstar” и “Life”, совместимость с “MTS” проверено только теоретически.  Все эксперименты начинались с этого исходника.

Вариант схемы, и программы на заказ "GSM модем SIM800L, управление + сигнализация".

пример


                             Электронные компоненты на http://aliexpress.com
100PCS-5mm-LED  ST7920 12V 5A 60W Plastic  Box ATMEGA128A  40 Pin Single
100PCS-5mm-LED-Green-Blue-White-Yellow-Red Titanium Step Drill Bits 3-20mm 12V 5A 60W LED Driver Plastic Electronic Project Box Titanium Step Drill Bits 3-20mm 40 Pin Single Row Straight Female 2.54mm
           
LM2596s DC-DC 5A
RS232 to TTL Button  250 pcs  quartz resonator   PCB  thermal  paper L7805-TO220 
20-555 CH340G RS232 to TTL module Tactile Push Button 10 models 250 pcs PCB  thermal  paper L7805-TO220-L7805-TO-220
           
Metal-Resistor-Kit SIM800L GPRS GSM   PCB DIY Quadcopter Drone  1206-SMD-Resistors-2000pcs
test hook clip 
20-555 SIM800L GPRS GSM Module MicroSIM -TTL Serial Port Ccl-PCB-DIY Quadcopter Drone 20-555 10PCS test hook clip 
           
TQFP - DIP Adapter PCB  AMS1117 3.3V 1A  Transistor Tester ESR   mini DC-DC 3A  4*4 Matrix Array 
TQFP - DIP Adapter PCB AMS1117 3.3V 1A SOT-223 Transistor Tester LCR - ESR meter - Frequency Signal Generator 4*4 Matrix Array/Matrix Keyboard 16 Key
           
Probe Oscilloscope X1 X10  DC-DC Step Up MT3608 2A RM-065 5kOm  DSO138 2.4  BSS138 SOT-23 MOSFET   
Probe Oscilloscope X1 X10  DC-DC Step Up Power MT3608 2A Max  Переменный резистор RM-065 502 DSO138 2.4 BSS138LT1G SOT-23 MOSFET   
 

You have no rights to post comments