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

Первые попытки охраны с оповещением по СМС о вторжении выше упомянутых лиц на дачный участок, были осуществлены на микроконтроллере Atmega8 и телефоне Siemens-С35. Но этот проект так и остался не доведенным до работоспособности из за способности выбранного телефона в самый нужный момент выключатся.

Новой игрушкой стал модуль SIM900 от компании Simcom. Почитав форумы о этом модуле расстроился так как в 99% примеров и пояснений предложены на Си, а я знаю и использую только ассемблер. После продолжительного изучения был рожден данный проект.

Повествование буду вести со стороны любопытного исследователя начинающего разбираться с этим модулем (чего не хватало при собственном поиске).

GSM модуль


Для электропитания использована распространенная схема DC/DC преобразователя на микросхема LM2596. Она кроме основной функции имеет возможность выключить потребителя при подаче высокого уровня на управляющий вход (на схеме вход On/Off PWR). Это функция дает возможность перезагрузить GSM модуль при каком либо зависании или при программируемом «засыпании» модуля.

Общение с модулем осуществляется по каналу UART при помощи АТ команд. Для запуска (вкл/выкл) модуля используется вход «On/Off GSM», при подачи низкого уровня на 2-3 секунды модуль подключается к сети (после чего надо установить высокий уровень т.к. при повторном действии модуль отключится от сети). При подключении на выходе Status появляется высокий уровень, а диод «Status» будет мигать (интервалы мигания для разных стадий работы описаны в даташите).





Печатная и схема созданы в Eagle (cкачать).

Плата управления


Управление делал на имеющемся в наличии микроконтроллере Atmega16. Также пробовал на плате Arduino Nano V3 (китайский аналог). Последний очень удобен на стадии разработки — взял и работай.



Схема создана в Eagle Скачать, печатная плата на стадии доведения к совершенству. Добавлена возможность подключения RF24L01 для удаленного опроса и управления.

Сам контроллер выполняет следующие функции:

  1. Опроса четырех входных линий. При разрыве какой либо запускается таймер на 5-20 секунд, если за это время не было возвращение входной линии в исходное состояние или не нажата кнопка «снятия с охраны» отправляется SMS сообщение на заранее установленный номер.
  2. Управление четырьмя выходами через SMS сообщение. При получении SMS сообщения с определенным кодом контроллер включает или выключает соответствующий выход.
  3. Информирование о состоянии. При запросе о состоянии (отправка SMS с кодом), отправляет ответ о состоянии всех выходов, входах и состояние о балансе.



Насмотревшись что в подавляющем ассортименте таких устройств для сохранения дежурного номера необходимо вытаскивать SIM карту, вставлять в телефон и прописывать только в определенную ячейку было решено упростить это действие.

Активация дежурного номера осуществляется нехитрой манипуляцией: нажав на кнопку, назовем ее «RESET» перегружаем (выключаем от сети и включаем) устройство — тем самым стирая предыдущий записанный номер. Затем нажав на ту же кнопку набираем номер SIM карты установленной в устройство. Помигав нам диодами, устройство сохранит номер набиравшего и пришлет SMS о активации данного номера.



Для упрощения наладки сего комплекса была написана программа для телефона на андроиде, для легкого управления отправкой SMS. Сайт-конструктор для приложений.



На этом закончим обзорную первую часть. В следующей части рассмотрю общение контроллера с GSM модулем.