GSM сигнализация на базе SIM300

Это устройство я делал для себя, что бы поставить в гараж. Начал делать не сколько для охраны а сколько из за любопытства хотел изучить программирование микроконтроллеров на ассемблере, и понять протоколы USART, I2C.

На данный момент устройство не закончено на сто процентов и может: осуществлять контроль двух датчиков на размыкание, контроль температуры воздуха (использовал два датчика LM75). Вообще если разобраться то можно на этой базе сделать много чего интересного.

Для связи с внешним миром, я решил использовать Sim300, свой выбор я сделал из-за его дешевизны. На этот модем в сети достаточное количество информации. Для его работы практически не требуется ни каких настроек. Необходимо только:

1. Обеспечить ему хорошее питание, для стабильной работы, напряжением в приделах 4В силой тока до 2А. Я использовал регулируемый преобразователь напряжения lm2576, самое главное необходимо установить емкости по больше на входе питания модема.

2. Подключить SIM карту. Также обязательно (как заявляет производитель) на выводы сим карты необходимо подключить защитные стабилитроны на 5,1 вольта.

3. Управляется все это хозяйство с помощью AT команд (все команды начинаются с AT, например ata – принять вызов или ath – отбой вызова). Модем в принципе понимает все стандартные команды коих полно в инете. Команды посылаются по UART, для этого у модема есть ноги RX и TX.

А вот для того что бы слать команды на модем я взял ATMega48 (можно ATMega88, но тогда нужно подправить вектора прерываний). Также контролер следит за двумя входами, к которым можно подцепить датчик объема и концевик.

Алгоритм работы программы:

  1. Инициализакия UART, шины I2C (по ней я подключил градусники и дисплей), внешних прерываний по высокому уровню на выводах PD2 и PD3.
  2. Затем включаем LM2576 подав на его пятую ногу логический ноль.
  3. Включаем сам модем, устанавливаем лог. 0 на ноге POWER Key, и отслеживаем включение на ноге Status, как только появляется лог. 1 устанавливаем 1 на POWER Key.
  4. Инициализируем Sim300 отправляя команды: ate0 – отключаем эхо команд, atv0 – отвечать цифровым кодом, atq0 – отвечать на команды, at+clip=1 – запрос номера звонящего, at+cmgf=1 текстовый режим приема и передачи смс.
  5. И настраиваем градусники. В качестве них прикрутил LM75 не дорогая штука, примерно 25 рублей. Достаточно точно мерит температуру. Имеется режим термостата.

После всех манипуляций устройство переходит в дежурный режим, весело мигая светодиодом на ноге PC0, с частотой 2 раза в секунду. Для включения в режим охраны нужно нажать кнопку на ноге PB1. Загорится светодиод на PC1, и система примерно через 15 секунд встанет на охрану. Если у нас происходит размыкание одного из датчиков, дается 15 секунд на отключение охраны, в это время светодиод моргает 1 раз в секунду, после, если охрана не будет отключена то происходит отправка смс на запрограммированный номер, и загорается светодиод соответствующий сработавшей зоне.

 Для запроса температуры необходимо отправив смс с цифрой 1 или 2, они соответствуют номеру термометра. Также можно позвонить на модем и подождать 2, 3, 5 гудков или отбоя вызова, после этого будет выполнена команда, в соответствии количеству гудков, я например хочу прикрутить ULN2003 и управлять парой реле, но пока в проекте сделал управление светодиодами.

 Устройство отвечает на SMS и звонки только определенного номера, который можно изменить в прошивке, все остальные номера оно отбивает и стирает SMS. Проверка номера происходит по четырем последним цифрам.

Список необходимых компонентов

Микроконтроллер, ATMega48.
Модем Simcom SIM300 (или SIM900).
Стабилизатор, на 3,3 вольта.
Преобразователь, LM2576.
Диод 1N5822.
Стабилитроны BZV55-C5V1.
Индуктивность, 100мкГн.
Транзистор BC846B.
Тактовые кнопки, 2шт.
Светодиоды, 5шт.
Резисторы 10Ом, 22Ом, 150Ом, 1кОм, 2,2кОм, 4,7кОм, 10кОм.
Конденсаторы 0,22пкф, 0,1мкф, 1мкф, 10-30мкф на 20 вольт,3300 мкф на 6,3 вольта.
Кварц, 8мГц.
Клемники.
Держатель сим карты.

Файлы проекта и обсуждение на форуме: https://phreaker.ru/forum/showthread.php?p=11797#post11797

 

(С) 888Manax888

phreakerclub.com

Оставьте комментарий