Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как программно послать SMS ? / 20 сообщений из 20, страница 1 из 1
07.07.2004, 12:49
    #32593173
Alexey Kondratiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
Телефон подключён к ком порту, RS232.

Я знаю список команд AT, но как работать с портом вывода ?

Скачал триальную библиотек от activExperts, пользуюсь пока ей, работает отлично... Следовательно: Или писать самому бибилиотеку аналогичную имеющейся или заиметь текущую. 219 баксов это не серьёзно, значит либо крякать либо скачать у кого-нибудь. Есть предложения по обоим вариантам?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
21.12.2006, 11:28
    #34215457
Pro20
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
Во, и у меня подобная проблема.
Нужно снимать блокировку PIN-кода с сим-карт через телефоны Siemens, подключенный через RS-232
Команду AT^, кстати, тоже не знаю, но это проще найти :-)
...
Рейтинг: 0 / 0
21.12.2006, 16:06
    #34216504
jhonkuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
Писал примочку для отправки смс-ок. Использовал эту прогу CMD2SMS
http://www.myfreeware.narod.ru/
http://www.vd-soft.com/
...
Рейтинг: 0 / 0
22.12.2006, 12:25
    #34218474
Pro20
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
jhonkuk ,
Программы, конечно, хорошие, но только здесь людей больше мысли интересуют, нежели готовые приложения. Меня конкретно вот что волнует: какую строчу нужно передать в COM-порт, чтобы терминал (сотовый телефон) принял команду, например, at^smso, и как получить от него подтверждение..
...
Рейтинг: 0 / 0
22.12.2006, 13:26
    #34218738
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
инициализация модема
ATE1S0=1
OK
AT+CMEE=1
OK
AT+CSMS=1
+CSMS: 1,1,1
OK
AT+CSMP=49,167,0,0
OK
AT+CMGF=1
OK
AT+CNMI=3,1,0,1,1
OK


отправка в 7-битной кодировке с помощью команды +CMGS
...
Рейтинг: 0 / 0
22.12.2006, 13:31
    #34218755
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
MSComm1.Output = "AT+CMGS=" & PDU_Length + vbCr
'ждем символ >
...
'отправляем само сообщение
'chr$(26) means ctrl-Z
MSComm1.Output = PDU + Chr$( 26 )
'ждем OK
...
...
Рейтинг: 0 / 0
23.12.2006, 19:32
    #34220698
Pro20
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
Так, все работает!
Konst_One , огромное спасибо!


В общем, я открываю порт (1), потом (когда терминал (телефон) загрузится), ввожу ПИН (2), далее, опять когда телефон снова загрузится, даю команду на снятие блокировки (3), ну и все, можно выключить терминал.. Потом закрываем порт.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
'1:
MSComm1.PortOpen = True
'2. Здесь надо дождаться, пока терминал запустится, потом:
MSComm1.Output = "AT+cpin=" & Chr$( 34 ) & Пин & Chr$( 34 ) + Chr$( 13 )
'3. Собственно, снимаем блокировку (опять дождавшись готовности терминала):
MSComm1.Output = "AT+clck=" & Chr$( 34 ) & "sc" & Chr$( 34 ) & ",0," & Chr$( 34 ) & Пин & Chr$( 34 ) + Chr$( 13 )
'4. Здесь можно дать команду at^smso, дабы выключить терминал, ну да ладно.
'5. Закрываем порт:
MSComm1.PortOpen = False

Единственное, стоит сделать эти самые задержки, кстати, может кто знает, как это реализовать оптимально??? И обработку ошибок, мало ли в переменной Пин код не соответствует действительности... Но это уже решаемо.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
16.11.2011, 16:25
    #37529650
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
Konst_One
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
MSComm1.Output = "AT+CMGS=" & PDU_Length + vbCr
'ждем символ >
...
'отправляем само сообщение
'chr$(26) means ctrl-Z
MSComm1.Output = PDU + Chr$( 26 )
'ждем OK
...


Подскажите вот у Вас ждем символ, это вот так MSComm1.Input = ? и какой должен придти?
отправляем само сообщение - это так
PDU = "Привет!"
а затем
Код: plaintext
MSComm1.Output = PDU + Chr$( 26 )
'ждем OK - это типа Do While??
...
Рейтинг: 0 / 0
16.11.2011, 17:19
    #37529782
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
Ага, в цикле с DoEvents проверяем input пока в нем что-то не появится и не окончится на chr(13).
...
Рейтинг: 0 / 0
16.11.2011, 17:36
    #37529831
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
Antonariy,

во всевозможных данных в сети например такие команды "AT+CMGS=" я копирую, вставляю в Ворд любимый и вижу, что между Т и + нет пробела, но вот я у себя посылал команду
"АТ+GMM" получил отлуп, добавил пробел, всё ОК, хрен их разберёшь
Так всё же
отправляем само сообщение - это так
Код: plaintext
1.
PDU = "Привет!"
MSComm1.Output = PDU + Chr$( 26 )
Да??
А что такое PDU_Length - длина сообщения??? если так, тогда зачем это MSComm1.Output = "AT+CMGS=" & PDU_Length + vbCr ???
...
Рейтинг: 0 / 0
16.11.2011, 17:39
    #37529845
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
PDU - это закодированная строка в специальной 7-битной кодировке.
думаю, что вам будет тяжело это осилить, но можете погуглить на предмет отправки смс через сотовый модем
...
Рейтинг: 0 / 0
16.11.2011, 17:46
    #37529863
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
Konst_One, то есть эти символы
"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщэюяABCDEFGHIJKLMNOPQ RSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'-* :;)(.,!=_"
заменить на эти

"0410","0411","0412","0413","0414","0415","00A8","0416","0417",
"0418","0419","041A","041B","041C","041D","041E","041F","0420",
"0421","0422","0423","0424","0425","0426","0427","0428","0429",
"042C","042A","042D","042E","042F","0430","0431","0432","0433",
"0434","0435","00B8","0436","0437","0438","0439","043A","043B",
"043C","043D","043E","043F","0440","0441","0442","0443","0444",
"0445","0446","0447","0448","0449","044D","044E","044F","0041",
"0042","0043","0044","0045","0046","0047","0048","0049","004A",
"004B","004C","004D","004E","004F","0050","0051","0052","0053",
"0054","0055","0056","0057","0058","0059","005A","0061","0062",
"0063","0064","0065","0066","0067","0068","0069","006A","006B",
"006C","006D","006E","006F","0070","0071","0072","0073","0074",
"0075","0076","0077","0078","0079","007A","0030","0031","0032",
"0033","0034","0035","0036","0037","0038","0039","0027","002D",
"002A","0020","003A","003B","0029","0028","002E","002C","0021",
"003D","005F"

1Так?
2Думаете это для меня проблема века???
...
Рейтинг: 0 / 0
16.11.2011, 17:53
    #37529884
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
1) Нет.
Здесь находится online-PDU-кодировщик (откуда его можно стырить и перевести), ничего общего с предоставленным текстом не имеет. Кстати, PDU не понимает русский.
...
Рейтинг: 0 / 0
16.11.2011, 17:54
    #37529892
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
В смысле 7-битный pdu не понимает. 8-битный понимает.
...
Рейтинг: 0 / 0
16.11.2011, 17:57
    #37529897
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
1) А хотя похоже на правду, последний пост Konst_One сбил с толку. Массив соответствует 16-битной кодировке.
...
Рейтинг: 0 / 0
16.11.2011, 17:57
    #37529898
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
для русского языка UCS-2 кодировка, а потом его кодируют в 7-bit PDU
...
Рейтинг: 0 / 0
16.11.2011, 17:58
    #37529902
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
но для ЦЭ, думаю, это всё без разницы: "не взлетит"
...
Рейтинг: 0 / 0
16.11.2011, 18:01
    #37529913
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
Antonariy, в ветке на СиШарпе выудил - Есть еще GSMLib - готовая библиотека для работы с GSM модемами с исходниками но ссылка битая,
1сталкивались с этим?
2мне поможет?
3есть ссылка адекватная?
...
Рейтинг: 0 / 0
16.11.2011, 18:02
    #37529916
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
1) Слышал, но не видел
2) Не знаю
3) Нет
...
Рейтинг: 0 / 0
16.11.2011, 18:30
    #37530004
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно послать SMS ?
Antonariy, второй ответ самый перспективный, одним словом есть внятная ссылка
11586007
Не посмотрите?
Ну есть dll-ка, шо можно выудить???, что бы второй ответ был - о да! :)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как программно послать SMS ? / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]