программная отправка СМС сообщений???

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
fast
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 10.06.2009 (Ср) 10:24

программная отправка СМС сообщений???

Сообщение fast » 09.02.2010 (Вт) 20:29

Друзья, помогите реализовать программную отправку СМС сообщений с компьютера через сотовый (GSM) на другой сотовый. Необходимо для программно-охранного комплекса. Что бы в случае чего отсылались СМС...

Кто может подсказать как реализовать управление сотовым подключенным к ПК через VB 6.0? жалательно с примерами...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: программная отправка СМС сообщений???

Сообщение Antonariy » 09.02.2010 (Вт) 20:37

fast писал(а):Кто может подсказать
Яндекс
Лучший способ понять что-то самому — объяснить это другому.

fast
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 10.06.2009 (Ср) 10:24

Re: программная отправка СМС сообщений???

Сообщение fast » 10.02.2010 (Ср) 19:50

Я надеялся получить что-то более конкретное... чем ссылка на Яндекс, который я уже весь перелопатил!
Хотелось бы что-то из личного примера...

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: программная отправка СМС сообщений???

Сообщение Денис » 10.02.2010 (Ср) 22:24

fast писал(а):Я надеялся получить что-то более конкретное... чем ссылка на Яндекс, который я уже весь перелопатил!
Хотелось бы что-то из личного примера...

По ссылке хоть бы прошлись. Там же SMSLibX!!
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: программная отправка СМС сообщений???

Сообщение Antonariy » 11.02.2010 (Чт) 12:49

fast писал(а):Я надеялся получить что-то более конкретное... чем ссылка на Яндекс, который я уже весь перелопатил!
Рискну не поверить.
fast писал(а):Хотелось бы что-то из личного примера...
Из личного примера — как правильно задавать вопросы яндексу. Почему-то я нашел конкретную реализацию без всяких левых ocx на первой же странице. Позавчера она была на седьмой позиции, сейчас на десятой. В погоню!
Лучший способ понять что-то самому — объяснить это другому.

hclubmk
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 19.06.2009 (Пт) 14:23
Откуда: От-туда

Re: программная отправка СМС сообщений???

Сообщение hclubmk » 11.02.2010 (Чт) 14:28

Для начала желательно покурить мануал используемого модема. Отправка СМС может происходить:
1 из памяти телефона (сохраненные СМС)
2 в текстовом режиме (переданный в телефон текст)
Всё ч/з ахтунг команды.
для текстового режима (если тело поддерживает):
AT+CMGF=1
AT+CSCA="yyy" - номер СМС центра (если забит в тело, то не нужно)
AT+CMGS="xxx" - номер телефона
твой текст ^Z (Chr(26))
Научились ли Вы радоваться трудностям?

fast
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 10.06.2009 (Ср) 10:24

Re: программная отправка СМС сообщений???

Сообщение fast » 11.02.2010 (Чт) 18:21

А может кто-нибудь конкретно действующий пример скинуть?
Всем спасибо!

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: программная отправка СМС сообщений???

Сообщение JohnK » 07.04.2010 (Ср) 23:16

Есть мной разработанная программа (была написана под заказ). Принцип работы могу рассказать. Выложить - НЕТ!
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

hclubmk
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 19.06.2009 (Пт) 14:23
Откуда: От-туда

Re: программная отправка СМС сообщений???

Сообщение hclubmk » 08.04.2010 (Чт) 11:28

Расскажи, как отправляешь с 3G
Научились ли Вы радоваться трудностям?

ZaEzzz
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 2
Зарегистрирован: 06.06.2010 (Вс) 0:16

Re: программная отправка СМС сообщений???

Сообщение ZaEzzz » 06.06.2010 (Вс) 12:25

Если всё еще актуально, могу подсказать, что отправить смс можно через отправку письма на почтовый ящик.
Почтовые ящики обычно (не факт, что всегда) имеют вид: 79*********@sms.operator.ru
К примеру оператор свердловской области "Мотив" юзает ящики 79*********@sms.ycc.ru

Ну это так, наводка. Реализация имеется, но делал это я уже когда начал кодить для веба (perl, PHP) так что на ВБ пока нету...

hclubmk
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 19.06.2009 (Пт) 14:23
Откуда: От-туда

Re: программная отправка СМС сообщений???

Сообщение hclubmk » 07.06.2010 (Пн) 9:23

ZaEzzz писал(а):отправить смс можно через отправку письма на почтовый ящик

Данный сервис в контексте
fast писал(а):Необходимо для программно-охранного комплекса

использовать глупо, поскольку он (этот сервис) у ОпСоСа имеет самый низкий приоритет (поскольку ОпСоС не получает за него денег), и доставка такого СМС может затянуться до суток. Проверено лично и неоднократно, операторы "киевстар" и "билайн-украина".
Научились ли Вы радоваться трудностям?

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: программная отправка СМС сообщений???

Сообщение qwertyhp » 08.06.2010 (Вт) 17:28

Уважаемый hclubmk, если Вас не затруднит, и если у Вас есть рабочий код на VB, отправляющий SMS с компьютера (или мобилы), да и вообще - обрабатыающий SMS - не будете ли Вы столь любезны поделиться им с братом поразуму? :roll:
Потому что в Сети ничего рабочего найти не удалось, как ни жаль...
Пятачок Forever! :)

hclubmk
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 19.06.2009 (Пт) 14:23
Откуда: От-туда

Re: программная отправка СМС сообщений???

Сообщение hclubmk » 08.06.2010 (Вт) 22:44

Из описания стандарта GSM 07.05:
AT+CMGS Send SMS message
Test command
AT+CMGS=?
Response
OK

Execute command
1) If text mode
(+CMGF=1):
+CMGS=<da>
[,<toda>]<CR>
text is entered
<ctrl-Z/ESC>
Response
TA transmits SMS message from TE to network (SMS-SUBMIT). Message
reference value <mr> is returned to TE on successful message delivery.
Value can be used to identify message upon unsolicited delivery status re-
port result code.

Execute command
2) If PDU mode
(+CMGF=0):
+CMGS=<length>
<CR>
PDU is given <ctrl-
Z/ESC>
ESC aborts message

Response
1) If text mode (+CMGF=1) and sending successful:
+CMGS: <mr>[,scts>] OK
2) If PDU mode (+CMGF=0) and sending successful:
+CMGS: <mr>[,ackpdu>] OK
3) If error is related to ME functionality:
+CMS ERROR: <err>

Parameter
<da> GSM 03.40 TP-Destination-Address Address-Value field in string
format; BCD numbers (or GSM default alphabet characters) are
converted into characters; type of address given by <toda>
<toda> GSM 04.11 TP-Destination-Address Type-of-Address octet in in-
teger format (when first character of <da> is + (IRA 43) default is
145, otherwise default is 129)
<length> integer type value indicating in text mode (+CMGF=1) the length of
the message body <data> (or <cdata>) in characters; or in PDU
mode (+CMGF=0), the length of the actual TP data unit in octets
(i.e. the RP layer SMSC address octets are not counted in the
length)
In text mode, the maximum length of an SMS depends on the
used coding scheme: It is 160 characters if the 7 bit GSM coding
scheme is used, and 140 characters according to the 8 bit GSM
coding scheme.
<mr> GSM 03.40 TP-Message-Reference in integer format
<scts> GSM 03.40 TP-Service-Centre-Time-Stamp in time-string format
(refer <dt>)
<dt> GSM 03.40 TP-Discharge-Time in time-string format: "yy/MM/
dd,hh:mm:ss±zz", where characters indicate year (two last digits),
month, day, hour, minutes, seconds and time zone. For example,
6th of May 1994, 22:10:00 GMT+2 hours equals
"94/05/06,22:10:00+08”"
<ackpdu>GSM 03.40 RP-User-Data element of RP-ACK PDU; format is
same as for <pdu> in case of SMS, but without GSM 04.11 SC
address field and parameter shall be enclosed in double quote
characters like a normal string type parameter
<pdu> For SMS: GSM 04.11 SC address followed by GSM 03.40 TPDU
in hexadecimal format: ME/TA converts each octet of TP data unit
into hexadecimal numbers containing two IRA characters (e.g.
octet with integer value 42 is presented to TE as two characters
2A (IRA 50 and 65)). In the case of CBS: GSM 03.41 TPDU in
hexadecimal format.

Note
• Use CTRL-Z at the end of input to send the message and return OK.
• Use ESC at the end of message input to abort message send operation.
NO message is sent although display returns OK!
• Sending e-mails via SMS: Note that some providers do not recognise @
symbol. Possible alternative "!" for "@"
• After invoking of the command CMGW, CMGS, CMGC it is necessary to
wait for the ">" symbol and only afterwards the text can be sent to the
module
• At baudrates lower than 19200 it is recommended to use the line termi-
nation character only (refer to +ATS3, default <CR>, pg. 24) before en-
tering the text/pdu. Use of the line termination character followed by the
response formating character (see +ATS4, default <LF>, pg. 24) can
cause problems.
• All characters entered behind the ">" symbol will be recognized as GSM
characters. For example, "Backspace" (ASCII character 8 ) does not de-
lete a character, but will be inserted into the SMS as an additional physi-
cal character. As a result, the character you wanted to delete still ap-
pears in the text, plus the GSM code equivalent of the Backspace key.
See also Chapter 9.5 which provides the supported alphabet tables.

исходя из чего:
Код: Выделить всё
dim comm as new mscomm ' в референсах подключить mscomm32.ocx
comm.commport = <порт> ' номер порта к которому подключен GSM-модем
comm.portopen = true
comm.output = "AT+CMGF=1" & vbCrLf
comm.output = "AT+CSCA=" & Chr(34) & <номер> & Chr(34) & vbCrLf ' номер СМС-центра (если забит в тело модема - то не нужно)
comm.output = "AT+CMGS=" & Chr(34) & <номер> & Chr(34) & vbCrLf ' номер телефона (кому)
comm.output = <текст> & Chr(26) & vbCrLf ' текст сообщения
comm.portopen = false

между AT командами нужно делать паузы - дать модему время обработать команды. (ждать ответа готовности или ошибки не стоит, поскольку ЕМНИП, модем уйдя в процесс может не дать таковых)
и ещё: некоторые 3G модемы не могут отправлять СМС из 3G режима, их нужно перевести в 1х (см. мануал оного)
Научились ли Вы радоваться трудностям?

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: программная отправка СМС сообщений???

Сообщение qwertyhp » 08.06.2010 (Вт) 23:56

Спасибо, буду пробовать. А то надо автоматизировать процесс отправки (и обработки полученных) СМС - а не знал, с какого конца подступиться.
Пятачок Forever! :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19

    TopList