Отправляет email-рассылки с помощью сервиса Sendsay

Цифровая схемотехника

  Все выпуски  

Цифровая схемотехника Выпуск 23


Цифровая схемотехника
Почтовая рассылка
Выпуск №23 от 25.09.2007 г.


Добрый день, уважаемый подписчик!

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

SMS ДУ (SMCremote)
Система дистанционного управления посредством SMS

Разработал и опубликовал Serasidis Vasilis (Греция) на своем сайте http://www.serasidis.gr/

Фото реально работающей системы SMS ДУ (вариант с четырьмя управляющими каналами)

Введение

Предлагаемое устройство позволяет дистанционно управлять до 8 различными устройствами (на фотографии показан усеченный вариант, расчитанный на управление четырьмя устройствами), отправив SMS-сообщение с определенным содержанием с любого мобильного телефона. Это очень удобно в том случае, если в месте, где находятся управляемые устройства, отсутствует обычные (проводные) телефонные линии. Если у Вас есть старый мобильный телефон ericsson, которым вы уже не пользуетесь, на его основе вы можете построить предлагаемую конструкцию. Каждое управляемое устройство можно включить, выключить или произвести его перезапуск (Reset).

Варианты использования

При помощи данного устройства вы модете включить, выключить или перезапустить следующие устройства: Linux серверы, ADSL модемы, Принтеры, двери с электрическим замком, дверь гаража, домашнее освещение, Водяные насосы, электрические навесы, блок управления двигателем вашего автомобиля или мотоцикла, в случае его угона и многое другое. Цель данной разработки - сделать жизнь человека лучше и легче.

Принципиальная схема

Схема устройства очень проста, поскольку для связи с мобильным телефоном ericsson используется порт, который использует сигналы уровнем 5 вольт (этот порт предназначен для передачи команд на модем, а так же на другой мобильный телефон).

Обработать такой сигнал стандартными средствами микроконтроллера AT90S2313 (или ATtiny2313) очень сложно, потому что, мы должны преобразовать семиразрядные посылки телефона в восьмиразрядные, так как контроллеры AVR работают с информацией в один байт 8 бит длины. Все это необходимо для того, что бы декодировать SMS сообщение.

ВНИМАНИЕ! В этой схеме можно применить как с микроконтроллер AT90S2313, так и с ATtiny2313. В случае использования микросхемы ATtiny2313 необходимо выбрать режим "Внешний кварцевый резонатор", (по умолчанию включен режим "внутреннего RC генератора". Для этого необходимо изменить состояние соответствующего Fuse переключателя микросхемы. Вы так же должны отключить внутренний делитель тактовой частоты на 8.

На микросхеме IC1 собран интерфейс для подключения схемы к персональному компьютеру. Собирать эту часть схемы (обведена пунктирной линией) нужно только если вам необходим данный режим. На микросхеме IC3 собран стабилизатор напряжения, который питает как само устройство, так и мобильный телефон. На вход стабилизатора можно подавать нестабилизированное постоянное напряжение величиной 12...15В. Для подачи напряжения питания на телефон предназначен разъем K3. Управляемые устройства подкючаются при помощи разъемов K2, K4. Светодиоды D1...D3 служат для индикации включения управляемого устройства. Они загораются одновременно с включением реле. Управляют включением реле и светодиодов электронные ключи, собранные на транзисторах T1, T2. На самом деле таких ключей столько, сколько каналов управления. То есть, максимально 8. На верхнем фото изображен вариант, где оставлено только четыре канала (четыре ключа, четыре реле).

Схема электрическая принципиальная SMS ДУ

Соберите схему, подключите ее к мобильному телефону, включите телефон, и только потом подайте питание! Сразу же после включения микроконтроллер начинает считывать SMS, записанные в первую ячейку памяти телефона. По этому необходимо удалить все SMS сообщения из памяти телефона, прежде чем подключать его к устройству. Если в памяти нет сообщений, контроллер продолжает попытки чтения сообщений до тех пор, пока телефон не примет новое сообщение и не поместит его в память.

Управляющее сообщение должно состоять только из цифр '1 'или '0'. Цифра '1 ' включает а '0 ' соответствующее выключает устройство. Сообщение должно состоять только из 8 цифр, каждая из которых должна быть либо'1', либо '0'.

Наример: если Вы отправите сообщение 11000100, то это приведет к включению устройств 3,7,8 ('1' в соответствующем разряде считая справа на лево ) и отключению устройств 1,2,4,5,6 ('0' в соответсвующем разряде).

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

Например: Если Вы хотите включить устройство номер 5, а состояние всех остальных устройств оставить без изменения, то вы должны отправить новое сообщение 11010100 (напомним, что ранее мы отправляли сообщение 11000100, а теперь мы лишь изменили состояние пятого, считая справа разрядя с '0 " на '1').

Подключите устройства путем непосредственной распайки на разъем телефона T10s.

Для питания телефона не нужно аккумулятора. Возьмем напряжение +5В с платы SMS ДУ.

Вы можете удалить клавишу <NO> телефона T10s и поместить в этом месте движковый выключатель "ON-OFF" ("Вкл-Выкл".) для управления питанием телефона. В положении "ON" ("Вкл") телефон включаться сразу же, как только на ваше "SMS ДУ" устройство будет подано напряжение +12В. Для того, что бы установить такой переключатель вам придется разобрать ваш телефон T10s.

Плата "SMS ДУ" (вариант с четырьмя реле)

На этом рисунке показан процесс декодирования информации, получаемой из телефона. Сначала из общей посылки мы вибираем семь байт информации (показано красным в верхней строке картинки сразу под заголовком. Записываем их в столбик и каждый байт представляем в двоичном виде. Затем представим двоичные представления чисел, как единый ряд двоичных разрядов (смотри ряд разрядов посредине рисунка и ряд шестнадцетиричные эквивалентов над ними). Из этого ряда выберем группы по семь разрядов и опять запишем их в столбик и впереди каждого блока из семи разрядов припишем дополнительный нуль. На рисунке разные выбираемые группы показаны разными цветами. В результате мы получим восемь новых восьмиразрядных двоичных чисел. Переведем их сначала в шеснадцатиричные эквиваленты, а затем определим представляемые ими символы согласно таблице ASCII. В результате мы получим исходный текст SMS (см. внизу рисунка). Как видим, текст, кроме цифр содержит букву 'r'. В реальном SMS сообщении это вполне возможный вариант. Но при получении подобной SMS наше устройство будет работать неправильно.

Совет!

Если вы хотите защитить SMS ДУ от несанкционированного использования посторонними лицами, вы должны доработать управляющую программу микроконтроллера, таким образом, что бы она проверяла номер телефона, прежде чем исполнить команду. В исходный код я поместил команды, которые читают номер телефона, код оператора , дату и время получения сообщения.

В данном проекте используются сообщения греческого оператора мобильной связи "Vodafon GR". Я не знаю, имеют ли SMS сообщение в других странах, такой же формат (я имею в виду формат семибитовых посылок, которые телефон получает из GSM сети) .

После получения GSM сообщения, контроллер удаляет его из памяти телефона, освобждает 1-ю ячейку памяти и снова начинает процесс ожидания нового сообщения.

Службный режим

Если вы используете устройство согласования с компьютером (микросхема IC1: MAX 232), то подсоединив его к COM-порту компьютера и запустив терминальную программу, вы увидите в окне терминала, все данные, которые поступили из сети GSM в микроконтроллер (телефонный номер отправителя, код оператора, дата, время и все полученные команды). Для правильной работы программы нужно выставить следующие параметры COM порта: 19200 bps 8n1.

Устранение неисправностей

Я экспериментировал только с sim картой греческого оператора и мобильным телефоном T10s. Я не знаю, будет ли работать данное устройство в других странах или с другими моделями мобильного телефона. Если вы столкнетесь с проблемами, то можете использовать персональный компьютер для диагностирования причины, по которой не работает устройство. Для этого вы должны подключить компьютер к SMS ДУ, как это было рассказано выше (через COM порт по протоколу RS232).

Если телефон подключен к устройству и на него подано напряжение питания, то вы можете подключить компьютера к устройству и наблюдать весь протокол общения между микроконтроллером и телефоном. Из протокола хорошо видно весь цикл работы устройства. Работа начинается вс подачи следующих двух команд:

1) AT+CPMS="ME" (выберать памяти телефона "ME")
и
2) AT+CMGR=1 (читать полученные сообщения из первой ячейки памяти)

В случае возникновения ошибки сразу за первыми двумя строчками вы увидите соответствующее сообщение от телефона. Например такое:

AT+CMGR=1 [CR][CR][LF]
+CMS ERROR: 500 [CR][LF]


Ошибка с кодом 500 означает, что сообщений в запрошенной ячейке памяти телефона (в нашем случае это ячейка номер один) отсутствует.
При получении подобного ответа контроллер будет снова и снова отправить команды 1 и 2

Если будет получен ответ:

AT+CMGR=1 [CR][CR][LF]
+CMGR: 0,,26 [CR][LF] + CMGR: 0,, 26 [КР] [LF]
0791039624910000240C91xxxxxxxxxxxx00003001205151302108B1180C068BC162[CR][LF] 0791039624910000240C91xxxxxxxxxxxx00003001205151302108B1180C068BC162 [КР] [LF]
OK [CR][LF] OK [КР] [LF]

то это ощначает, что полученно сообщение и контроллер прочитал его из памяти телефона.
причем символами xxxxxxxxxxxx обозначены разряды, в которых передается номер телефона отправителя
остальные данные - это дата время и содержимое полученной SMS.
Получив все эти данные эти данные микроконтроллер декодировать сигнал septets восьмизначными группами, выполнить ее (руку или разоружить реле) и направить команды декодирует их (переводит из семиразрядного кода в восьмиразрядный так, как это показано выше. Расшифровав данные, микроконтроллер выполняет зашифрованные в ней действия затем посылает на телефон следующую команду:

AT+CMGD=1

Эта команда удаляет сообщения из первой ячейки памяти.

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


Где скачать все необходимые файлы

Скачать все необходимое можно на страничке автора: http://www.serasidis.gr/circuits/smscontrol/smscontroller.htm
Или воспользуйтесь прямыми ссылками:

  Скачать исходный код и файл в шестнадцатеричном формате SMSremote v2.2
  Скачать исходный код и файл в шестнадцатеричном формате SMSremote v2.1
  Скачать исходный код и файл в шестнадцатеричном формате SMSremote v2.0
  Скачать небольшой усовершенствованную версию SMS с пульта дистанционного управления (исходный код и HEX файл) sms_controller.zip v1.01
  Скачать схему, исходный код и HEX файл SMS пульта дистанционного управления smscontroller.zip v1.0>

Скачать файл с подробным описанием системы AT команд телефона Ericsson: ericsson T28 - _R1A.zip .

Кроме того предлагаю программу, которая позволяет контролировать содержимое SMS памяти смарт-карты или SMS памяти мобильного телефона ericsson через последовательный порт RS232 в компьютер: Pduspy.exe. Для этого Вам необходимо купить (или спаять самостоятельно) кабель для соединения телефона с компьютером.

От автора рассылки

И так, я закончил свой рассказ. Напишите, понравилась ли вам эта тема? Нужно ли продолжать знакомить вас с конструкциями радиолюбителей разных стран? Какие еще темы вы бы хотели увидеть на страницах моей рассылки.

И еще одна небольшая информация. В настоящее время в типографии находится новая моя книга. Книга называется "Самоучитель разработчика устройств на микроконтроллерах AVR". Это большая книга (530 страниц). С книгой идет лазерный диск, который содержит всю дополнительную информацию. Кроме прочего, на диске записано несколько обучающих видеоролика, на которых продублированы уроки по программированию на микроконтроллерах AVR. Ищите книгу в магазинах России, Украины, Белоруссии и других стран бывшего СССР.


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

Автор рассылки Белов А.В.         avbelov@ukr.net


В избранное