Статистика
Время:
Зарегистрированных: 79671
Последним зарегистрирован: Аникей
Рекорд посещаемости: 12585
Групп пользователей: 4
 Группы:
[Admin] [Cоучастник] [Автор] [Модератор]
 Сейчас на сайте
 Всего: 250
 Гостей: 244
 Анонимных: 0
 Пользователей: 6
 Зарегистрированные:
Аникей klsbike silvan123 ААГ РИМ VIK
Страницы: (7) [1] 2 3 4 5 6 7  ( Перейти к первому непрочитанному сообщению ) Ответить Новая тема Новый опрос

> AT команды. Управляем сотиком, звоним, отправляем смс
chelny
Сообщение: # 108650   Nov 27 2007, 11:09 AM
Quote Post


Соучастник
****

Группа: Автор
Сообщений: 984
Пользователь №: 2617
Регистрация: 17-November 05
Место жительства: Набережные Челны



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

Что такое АТ команда? Зачем это надо? И как оно работает?

Практически каждый телефон имеет внутри АТ модем, при подключении дата кабеля многие программы используют именно Ат команды для управления телефоном, считывания с него разной информации, но есть и другие режимы работы, например для закачки файлов, мелодий и тд, но здесь я не буду касаться вопросов закачки мелодий в телефон, а основная цель - это отправка смс с телефона по нужному номеру с нужным текстом в нужное время.

Какой телефон будет отвечать на АТ команды?
В этой статье разговор будет идти только по телефонам сименс.
Отвечать на АТ команды должны все телефоны начиная с 35 серии (хотя могут быть исключения). Я использую телефон 45 серии, так же прекрасно будут работать телефоны и 55 и 65 и 75 серии.
Для телефонов выше 60 серии необходим кабель для СОМ порта, или эмулирующий сом порт, usb кабеля для закачки мелодий не подойдут. Отличить их очень просто usb кабель у которого между разъемом телефона и разъемом usb есть "коробочка" - подойдет! А дата кабели без "коробочки" - работать НЕ будут

Что нужно для того чтоб начать работать с телефоном по АТ?
Достаточно дата кабеля, самого телефона и любой терминальной программы.
Например можно использовать HyperTerminal.
Чуть ниже я выложил простенький терминал. Самое то для экспериментов.
Открываем терминальную программу, выставляем сом порт на котором весит телефон и нажимаем OPEN и всё! Можно отправлять команды. Для проверки можете отправить команду AT. В ответ телефон должен прислать OK.
Никакие драйвера ставить не нужно! Все работает и так. Полный список команд есть чуть ниже в файле

Применение:
1) Информирование абонента о любом необходимом событии
Например шефу будет каждый день приходить смс во сколько был сдан офис на пульт. Или информирование о срабатывании какого то датчика подключенного к компу. Тут уж все зависит от вашей фантазии.

2) Управление объектом по смс

Соглашусь с теми кто скажет что этот метод управления\информирования малонадежен. Мобила может сеть не ловить, заглючить, смс может не дойти, задержаться.... НО есть большой ПЛЮС! Мобильник сейчас есть практически у КАЖДОГО!
И доступность и удобность такого канала перекрывает все его недостати!

Это сообщение отредактировал chelny - Nov 28 2007, 02:30 PM

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение
PMEmail PosterUsers Website
Top
chelny
Сообщение: # 108653   Nov 27 2007, 11:22 AM
Quote Post


Соучастник
****

Группа: Автор
Сообщений: 984
Пользователь №: 2617
Регистрация: 17-November 05
Место жительства: Набережные Челны



Многие из тех кто интересовался темой наверно потратили кучу времени для создания и\или поиски алгоритма кодирования русского текста - ucs2.

Вот функция на Delphi которая это делает легко и быстро:
QUOTE
function ucs2(s: string): string;
var i,k: integer;
begin
for i:=1 to length(s) do begin
  k:= ord(s[i]);
  if k>=192 then k:= k + 1040 - 192;
  result:= result + inttohex(k,4)
end
end;

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


Если вам по каким-то причинам нужно в одном смс отправлять более 70 символов, то можно воспользоваться вот этой функцией, она понимает текст только на латинице, но может содержать до 140 символов.

QUOTE

function TFormComPort.Encode7bit(Src:String):String;
var Dst:String;
    i:Integer;
    CurS,NextS:Byte;
    TStr:String;
begin
  for i:=1 to Length(Src) do begin
    if (i mod 8)=0 then Continue;
    TStr:=Copy(Src,i,1);
    CurS:=Ord(TStr[1]);
    if (i mod 8)>1 then
      CurS:=(CurS shr ((i mod 8)-1) );
    if i<Length(Src) then begin
      TStr:=Copy(Src,i+1,1);
      NextS:=Ord(TStr[1]);
    end else
      NextS:=0;
    NextS:=(NextS shl (8-(i mod 8)));
    Dst:=Dst+IntToHex(CurS+NextS,2);
  end;
  Result:=Dst;
end;



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

Исходник немного подправил -
1) были проблемы с настройками порта 28.11.07
2) теперь ведется полный лог команд 29.11.07

Скачать можно по следующей ссылки

Скачать Siemens_AT_source_29.11.07.rar

Описание PDU формата для формирования смс качаем тут

Скачать PDU_format_sms.rar

Это сообщение отредактировал chelny - Nov 6 2009, 04:20 AM
PMEmail PosterUsers Website
Top
chelny
Сообщение: # 108663   Nov 27 2007, 11:59 AM
Quote Post


Соучастник
****

Группа: Автор
Сообщений: 984
Пользователь №: 2617
Регистрация: 17-November 05
Место жительства: Набережные Челны



Для работы выше выложенного исходника необходим компонент для делфи ComPort 3.3

Скачать можете тут Компонент ComPort 3.3

Если хотите просто поэкспериментировать с АТ терминалом, то можете скачать тот что прикреплен ниже.

AT_terminal.rar

Это сообщение отредактировал chelny - Nov 6 2009, 04:35 AM
PMEmail PosterUsers Website
Top
chelny
Сообщение: # 108667   Nov 27 2007, 12:08 PM
Quote Post


Соучастник
****

Группа: Автор
Сообщений: 984
Пользователь №: 2617
Регистрация: 17-November 05
Место жительства: Набережные Челны



Вот некоторые команды:

AT+CHUP отклонить входящий вызов
ATA принять входящий вызов
AT+CPAS состояние телефона, 0-режим ожидания, 3-входящий вызов
AT+CLCC при входящем звонке показывает номер звонящего
AT^SMSO выключить телефон
AT+GSN показать IMEI телефона
AT+CBC уровень заряда батареи, показывает в процентах, 1 - 100%
AT+CGMI производитель модема
AT+CGMM модель модема
AT+CGMR версия прошивки
AT+CSQ уровень приема сигнала от базовой станции
AT+CIMI IMSI номер сим карты


Полное описание АТ команд (на анг.) смотри в прикрепленном файле.
Пусть вас не смущает что это для 35 серии сименсов, основные команды работают на всех моделях от 35 до 75.

Это сообщение отредактировал chelny - Nov 28 2007, 02:22 PM

Присоединённый файл ( Кол-во скачиваний: 7526 )
Присоединённый файл  s35i_c35i_m35i_atc_commandset_v01.rar
PMEmail PosterUsers Website
Top
chelny
Сообщение: # 108898   Nov 28 2007, 10:14 AM
Quote Post


Соучастник
****

Группа: Автор
Сообщений: 984
Пользователь №: 2617
Регистрация: 17-November 05
Место жительства: Набережные Челны



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

Подключается к определенному порту и перехватывает весь поток данных.
Можно перехватывать в хексах, а можно и в текстовом виде (если ловим команды АТ).


Мой любимый логер ком портов - portmon_nt

Это сообщение отредактировал chelny - Nov 6 2009, 04:41 AM
PMEmail PosterUsers Website
Top
~Dmitriy~
Сообщение: # 108919   Nov 28 2007, 01:41 PM
Quote Post


Соучастник
****

Группа: Автор
Сообщений: 741
Пользователь №: 49
Регистрация: 1-April 05




Молодцом:) посоветуй марки телов которы больше всех поддаются эксперементам с АТ.


--------------------
image
PMEmail PosterICQ
Top
chelny
Сообщение: # 108926   Nov 28 2007, 02:06 PM
Quote Post


Соучастник
****

Группа: Автор
Сообщений: 984
Пользователь №: 2617
Регистрация: 17-November 05
Место жительства: Набережные Челны



Я сейчас использую Siemens M50 (45 серия сименсов)
Все сименсы (ну почти все) должны работать с АТ если у них есть возможность подключения к программам для закачки мелодий.

К сименсам НЕ относятся модели

Siemens Xelibri (платформа похожа на сониэриксон)
Siemens C62 (платформа похожа на сониэриксон)

Siemens CFX65 (платформа похожа на LG)

Siemens ST60 (платформа похожа на панасоник)
Siemens ST55 (платформа похожа на панасоник)

Siemens CL50 (платформа похожа на панасоник)
Siemens CL55 (платформа похожа на панасоник)
Siemens CL75 (платформа похожа на панасоник)

Siemens CF65 (платформа похожа на филипс)

Работать с этими телефона будет сложнее, либо вообще невозможно теми методами что я описал. Т.к. у этих аппаратов платформа далека от сименсовой, неизвестно какая еще система команд у них.

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

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

По поводу BENQ, на счет них вообще не знаю, даже не заглядывал внутрь ни разу.

Если у вас удалось подключить телефон из этого списка, то отпишити сюда, чтоб остальные знали.

Это сообщение отредактировал chelny - Nov 28 2007, 02:20 PM
PMEmail PosterUsers Website
Top
Andrey_de
Сообщение: # 109315   Nov 30 2007, 07:22 AM
Quote Post


Unregistered










интересна инфа по отправке сообщений в режиме PDU.
Вот нашел интересный документ.
Кто нибудь знает, есть ли в simense me45 текстовый режим отправки ?

Это сообщение отредактировал chelny - Jan 28 2008, 10:25 AM

Присоединённый файл ( Кол-во скачиваний: 11795 )
Присоединённый файл  SMS_PDUmode.doc
Top
chelny
Сообщение: # 109424   Dec 1 2007, 01:27 PM
Quote Post


Соучастник
****

Группа: Автор
Сообщений: 984
Пользователь №: 2617
Регистрация: 17-November 05
Место жительства: Набережные Челны



Нет в твоем сименсе такого режима. Работай в PDU, описание же есть у тебя
PMEmail PosterUsers Website
Top
Portos
Сообщение: # 117463   Jan 14 2008, 09:52 AM
Quote Post


Прохожий


Группа: Cоучастник
Сообщений: 26
Пользователь №: 24157
Регистрация: 21-September 07




такая проблема, не могу сделать вызов голоса samsung c100

камавнда вроде atd+7xxxxxxxx и в результате получаю обычный вызов данных. обьясните как же всетаки сделать вызов голосом? с примериком есле не трудно.
PMEmail Poster
Top
Alexeyslav
Сообщение: # 117572   Jan 15 2008, 12:52 AM
Quote Post


Unregistered










Многие команды проходят на других телефонах, особенно работа с СМС. Так что пробуйте ... если команда не поддерживается телефоном он просто выдаст error вместо Ok.
Top
chelny
Сообщение: # 117598   Jan 15 2008, 08:36 AM
Quote Post


Соучастник
****

Группа: Автор
Сообщений: 984
Пользователь №: 2617
Регистрация: 17-November 05
Место жительства: Набережные Челны



У Portos комманда как раз проходит, но не с теми параметрами
PMEmail PosterUsers Website
Top
VDLab
Сообщение: # 117698   Jan 16 2008, 12:16 AM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1459
Пользователь №: 14565
Регистрация: 9-December 06
Место жительства: Україна



QUOTE (Portos @ Jan 14 2008, 11:12 AM)
такая проблема, не могу сделать вызов голоса samsung c100

камавнда вроде atd+7xxxxxxxx и в результате получаю обычный вызов данных. обьясните как же всетаки сделать вызов голосом? с примериком есле не трудно.

попробуй после номера поставить ";"(точка с запятой),

ATD1234567890; - это стандартная команда голосового вызова, по идее должна поддерживаться всеми производителями.


--------------------
Обходя разложенные грабли ты теряешь драгоценный опыт...
PMEmail Poster
Top
chelny
Сообщение: # 118457   Jan 21 2008, 12:34 AM
Quote Post


Соучастник
****

Группа: Автор
Сообщений: 984
Пользователь №: 2617
Регистрация: 17-November 05
Место жительства: Набережные Челны



Глянул в спецификацию - верно VDLab говорит.
PMEmail PosterUsers Website
Top
Portos
Сообщение: # 118480   Jan 21 2008, 09:53 AM
Quote Post


Прохожий


Группа: Cоучастник
Сообщений: 26
Пользователь №: 24157
Регистрация: 21-September 07




QUOTE (VDLab @ Jan 16 2008, 01:36 AM)

ATD1234567890; - это стандартная команда голосового вызова, по идее должна поддерживаться всеми производителями.

пробую на самсунг с100, програмкой HyperTerminal. стондартной виндовской. все равно даннымми вызов делает.
пробовал и на синемсах через эту прогу вызов сделать. все равно данными вызов идет. хатя через прогу для сотовых9 не помню названия) званил спокойно.

Это сообщение отредактировал Portos - Jan 21 2008, 10:02 AM
PMEmail Poster
Top
visp
Сообщение: # 118482   Jan 21 2008, 09:59 AM
Quote Post


Unregistered










Можно ли при помощи at комманд связаться с модемом другого телефона. Если да то как?
Top
Portos
Сообщение: # 118484   Jan 21 2008, 10:06 AM
Quote Post


Прохожий


Группа: Cоучастник
Сообщений: 26
Пользователь №: 24157
Регистрация: 21-September 07




QUOTE (visp @ Jan 21 2008, 11:19 AM)
Можно ли при помощи at комманд связаться с модемом другого телефона. Если да то как?

так вот у меня что и происходит.
я с пка через тел. званю на другой тел. данными. если я на принемающем телефоне поднемаю трубку то у меня получается модемное соединение.

Синтаксис команды: ATА
Команда
Возможные ответы
RING
Примечание: входящий звонок
АТА
Примечание: ответить на входящий звонок
ОК
Примечание: Звонок принят
АТН
Примечание: разъединить вызов
ОК
Примечание: вызов разъединен

Это сообщение отредактировал Portos - Jan 21 2008, 10:14 AM
PMEmail Poster
Top
VDLab
Сообщение: # 118591   Jan 21 2008, 07:24 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1459
Пользователь №: 14565
Регистрация: 9-December 06
Место жительства: Україна



QUOTE (Portos @ Jan 21 2008, 11:13 AM)
пробую на самсунг с100, програмкой HyperTerminal. стондартной виндовской. все равно даннымми вызов делает.

Терпеть не могу этот мелкософтовский изврат с таким громким названием.
Попробуй еще этой программулиной, если и это не поможет - значит у тебя неправильные телефоны icon_lol.gif


Блин, пришлось на две части разбить одним куском не лезет.

Присоединённый файл ( Кол-во скачиваний: 2622 )
Присоединённый файл  Terminal.part1.rar


--------------------
Обходя разложенные грабли ты теряешь драгоценный опыт...
PMEmail Poster
Top
VDLab
Сообщение: # 118593   Jan 21 2008, 07:26 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1459
Пользователь №: 14565
Регистрация: 9-December 06
Место жительства: Україна



часть 2 smile.gif

Присоединённый файл ( Кол-во скачиваний: 2533 )
Присоединённый файл  Terminal.part2.rar


--------------------
Обходя разложенные грабли ты теряешь драгоценный опыт...
PMEmail Poster
Top
Portos
Сообщение: # 118674   Jan 22 2008, 05:59 AM
Quote Post


Прохожий


Группа: Cоучастник
Сообщений: 26
Пользователь №: 24157
Регистрация: 21-September 07




пробую. и этой прогой. пишу atd+7913xxxxxxxxx; и все равно на пренимающем теле пишит что принят звонок данными.
может это что то с настройками у аператоров не то. до этого пока услугу мобильный офис не включил, и данными вызов не шол.
PMEmail Poster
Top
VDLab
Сообщение: # 118727   Jan 22 2008, 06:22 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1459
Пользователь №: 14565
Регистрация: 9-December 06
Место жительства: Україна



Причем здесь оператор? Тут телу какая то команда нужна.
В какой проге он нормально набирает номер?
Можно посмотреть чего она посылает телефону, например прогой PORTMON


--------------------
Обходя разложенные грабли ты теряешь драгоценный опыт...
PMEmail Poster
Top
visp
Сообщение: # 119141   Jan 25 2008, 11:32 AM
Quote Post


Unregistered










А распайку дата кабеля никто привести не может (для siemens). А то я в магазине нашел USB, а хотелось бы СОМ.
Top
chelny
Сообщение: # 119142   Jan 25 2008, 11:55 AM
Quote Post


Соучастник
****

Группа: Автор
Сообщений: 984
Пользователь №: 2617
Регистрация: 17-November 05
Место жительства: Набережные Челны



Для старых сименсов

Присоединённое изображение
Присоединённое изображение
PMEmail PosterUsers Website
Top
visp
Сообщение: # 119367   Jan 26 2008, 06:28 PM
Quote Post


Unregistered










Спасибо.
Top
mr_pitkin
Сообщение: # 125824   Mar 6 2008, 11:38 AM
Quote Post


Unregistered










Крутая инфа!!! Это немало облагородит мой изврат над телефоном. support.gif

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение
Top
mr_pitkin
Сообщение: # 125883   Mar 6 2008, 08:51 PM
Quote Post


Unregistered










Вот ссылки с примерами АТ кодов для моторол.

http://www.csparks.com/MotoBackup/MotorolaAT.xhtml
http://www.forensicswiki.org/wiki/AT_Commands
http://kordewiner.com/motorola/v180/at_commands_reference
http://gatling.ikk.sztaki.hu/~kissg/gsm/at+c.html#27.07me

Это сообщение отредактировал mr_pitkin - Mar 6 2008, 08:54 PM
Top
Yokel
Сообщение: # 128870   Mar 28 2008, 10:59 AM
Quote Post


Соучастник
****

Группа: Cоучастник
Сообщений: 891
Пользователь №: 5222
Регистрация: 18-February 06




Есть исходники для МК который управляет Сименсом через АТ команды ?
PMEmail Poster
Top
Yokel
Сообщение: # 128958   Mar 28 2008, 06:29 PM
Quote Post


Соучастник
****

Группа: Cоучастник
Сообщений: 891
Пользователь №: 5222
Регистрация: 18-February 06




Чё то мой Семен А52 не хочет нюхаться не с одним терминалом и SiMoCo, хотя с Joker'ом нормально коннектится!

Это сообщение отредактировал Yokel - Mar 28 2008, 06:30 PM
PMEmail Poster
Top
VSS6
Сообщение: # 128976   Mar 28 2008, 07:09 PM
Quote Post


Unregistered










Кстати в старых телефонах LG имеи меняется просто камандой
at%imei= далее имеи каждая цифра через запятую w
Есть идея забацать клипсу на пики чтоб был генератор случайных чисел и посылка в телефон, только вот в написании софта под пики не силен,

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

Может подобную тему создать в разделе "Микропроцессоры" , вдруг найдутся
желающие написать подобную прошивку? Получится новое интересное устройство. Готов поучаствовать в эксперименте :-)
Top
VDLab
Сообщение: # 129043   Mar 28 2008, 11:20 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1459
Пользователь №: 14565
Регистрация: 9-December 06
Место жительства: Україна



QUOTE (VSS6 @ Mar 28 2008, 08:29 PM)
Кстати в старых телефонах LG имеи меняется просто камандой
at%imei= далее имеи каждая цифра через запятую w
Есть идея забацать клипсу на пики чтоб был генератор случайных чисел и посылка в телефон, только вот в написании софта под пики не силен,

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

Может подобную тему создать в разделе "Микропроцессоры" , вдруг найдутся
желающие написать подобную прошивку? Получится новое интересное устройство. Готов поучаствовать в эксперименте :-)

"забацать" такое можно минут за пятнадцать, не понятен смысл идеи, ну изменишь IMEI, ну и что?


--------------------
Обходя разложенные грабли ты теряешь драгоценный опыт...
PMEmail Poster
Top

Настройки темыСтраницы: (7) [1] 2 3 4 5 6 7  Ответить Шустрый ответ Новая тема Новый опрос


 


Новое в музыке: Мастерская пользователя Sotier Serge - это интересно!

    РадиоКОТ - популярно об электронике. Авторские схемы, новые разработки. Обучение по электронике, микроконтроллерам, ПЛИС. Форум   banner DIPTRACE - САМЫЙ ЛУЧШИЙ ТАКСИРОВЩИК ПЕЧАТНЫХ ПЛАТ
Portal-X