Вверх ↑
Этот топик читают: Гость
Ответов: 41
Рейтинг: 1
#1: 2013-01-09 12:09:39 ЛС | профиль | цитата
Всем привет) Подскажите возможно ли средствами hiasm отправить sms с usb модема?) Понимаю примерно что нужно отправлять АТ команды на порт модема.. но даже примерно не представляю как должна выглядеть такая схема. Если не сложно опишите алгоритм хотя бы словами)
карма: 0

0
Ответов: 189
Рейтинг: 4
#2: 2013-01-09 12:49:31 ЛС | профиль | цитата
Я точно знаю, что средствами hiasm можно:
1)Найти/сделать приложения, которые посылают AT-команды на модем, и делать WinExec.
2)Тут есть готовые коды и программы на Delphi для отсылки, можно использовать InlineCode или модернизировать код и использовать WinExec.

Также могут быть друге способы, которые мне неизвестны...
------------ Дoбавленo в 12.49:
Вторая ссылка на материал с языком C
карма: 0

0
Ответов: 295
Рейтинг: 64
#3: 2013-01-09 14:23:59 ЛС | профиль | цитата
petr1976 писал(а):
Подскажите возможно ли средствами hiasm отправить sms с usb модема?

Средствами HiAsm можно отсылать АТ-команды через компонент COM порт (в его настройках попробуйте разные порты, если не знаете на каком сидит модем).
Поищите список поддерживаемых команд для своего модема и вперед.

PS. Когда-то давно экспериментировал с телефоном Siemens.
PPS. На всякий случай: после каждой отсылаемой команды должен идти перевод строки "
", насколько я помню.
карма: 0

0
Ответов: 41
Рейтинг: 1
#4: 2013-01-09 14:48:06 ЛС | профиль | цитата
Quest
Спасибо, теперь ясно в какую сторону копать)
карма: 0

0
Ответов: 200
Рейтинг: 5
#5: 2013-01-10 15:45:03 ЛС | профиль | цитата
Когда то для себя делал. Программа смены курсов на электронном табло.
Используется не штатный компонент ком-порта.
Обнаружение модема
code_30018.txt


------------ Дoбавленo в 15.40:
Тест уровня сигнала
Make(delphi)
ver(4.04 build 184)
Add(MainForm,2953706,49,161)
{
Width=225
Height=111
Color=-16777197
Ctl3D=0
Caption="Тест уровня сигнала"
BorderStyle=3
Icon=[ZIPBE08000078DAC5D3B14E1C31100660478A74D710BA1454944847B5238ADD2A122F40452A4FB5E78617A04CB640DE9ACA255D8A5D1A973C01926BFC02BC004F30F9ED9D5C507250458A57DF1EBB5EDB33F660CC075CC7C7A6B61F6B633EE3F704CAAB2FF0C1AC6BDFB78F666F2370102081E84B02070112887E48E0204002D1C1040E0224109D90C0418004A28B103808904074E17239089040341802070112880648E0204002D1A0091C0448209A08818300094493237010208168C2259A72054820BA09040E022410DD1802070112886E1681830009443790C0418004A29B4AE0204002D18DA61A49A85702D1CD2770102081E8811038089040F490081C0448207A70040E0224103D4C02070112881E30D55D49359A72891E3A81830009440B81C0418004A2C541E0204002D182217010208168111138089040B4B0A89E90D49D29D188161B81830009440B90C0418004A24549E0204002D142257010208168F11238089040968236070707E6E8E8C89C9C9C98B3B333737E7E6E2E2E2E8CB5D65C5D5D99EBEB6B737373636E6F6FCDDDDD9DB9BFBF370F0F0FE6F1F1D13C3D3D99E7E767F3F2F2B29BEF5FB6FCAB4D9EE3EE21F723737EDDBEB28F7EF7645B3BBDEE9DDAAEDFB6E89F26BC9FA9CB91DBF977FF6AB4B877B84DB856339531B49BCF52B475D5A1DCE74D6E4B28CBBBD27895D775BDB6DCA289B676F97EE97EF29B696CEA504CE9E7867253E75E52E0B53D6C72DF60CE61CC4C8DDFF8D8F09CE77E99A5E778789947E201033872E653E076194E35968EEC348C317BBBE4FB89BD86DF2FBFF396782C9F6BCC87A3E6EFF5CDD7251D5A36CE37BBCDA19A751E373539DF2CC7B0C2F0B1AE11D79765CC4C1BE62DB33D2D13CDBC6A799EBB3AA66B892D7377C88C1866A6B6658EB66B7B8D618E632CD3FA98DF6BF5F46A74BCAFDBB3DF36E58B81E3B4A79F87122CFE68F62FD3969DE857BB8CFF6A355AB299F89D20793371F35E166BEFED1B5D9E51597C3ABC357F5F6A06B5D17D7F636D243823C2D8DA5D79BD6EA50072D77DCAB11E33EF199F273B7EB6B92F1F8CFECFF153ADA0C853FD67897FF6978E524133166A8769F07F05E0A7DDAA5BDE93E6B86DC7D7CFE63FB79FCE6E2B12]
DragForm=0
Position=1
Point(onClose)
link(onCreate,11752041:doEvent1,[])
link(onClose,11402141:doEvent1,[(101,188)(101,146)])
}
Add(Stream2Hex,14952574,336,224)
{
Mode=5
link(onResult,7975438:doEvent1,[])
}
Add(DoData,14076355,336,266)
{
Data=String(
)
link(onEventData,7975438:doEvent2,[(380,272)(380,237)])
}
Add(Hub,6192283,308,224)
{
link(onEvent1,14952574:doConvert,[])
link(onEvent2,14076355:doData,[(329,237)(329,272)])
}
Add(Hub,7975438,392,224)
{
InCount=2
OutCount=1
link(onEvent1,7904381:doWork2,[])
}
Add(ComAsync,9954166,455,210)
{
Port=""
ControlDTR=1
ControlRTS=1
RxChar=0
TxEmpty=0
CTS=0
DSR=0
RLSD=0
Point(onTxEmpty)
Point(onAfterClose)
Point(onRxChar)
Point(doEnumPorts)
Point(onEnumPorts)
Point(doRTS)
PColor(onAfterClose,16711765)
link(onRead,5294326:doEvent1,[])
link(onRxChar,9954166:doRead,[(501,244)(501,263)(447,263)(447,237)])
}
Add(StrMask,15813224,532,210)
{
Mask="*OK*"
PColor(onFalse,16711935)
link(onFalse,429977:doEvent1,[(575,216)(575,198)(219,198)(219,230)])
link(onTrue,12829832:In,[])
}
Add(DoData,6404560,259,224)
{
Data=String(AT+CFUN=1)
link(onEventData,6192283:doEvent1,[])
}
Add(DoData,10494769,154,308)
{
Data=Integer(1)
link(onEventData,12589179:doEnabled,[])
}
Add(Stream2Hex,8165022,336,308)
{
Mode=5
link(onResult,13319115:doEvent1,[])
}
Add(DoData,14537538,336,350)
{
Data=String(
)
link(onEventData,13319115:doEvent2,[(376,356)(376,321)])
}
Add(Hub,9851822,308,308)
{
link(onEvent1,8165022:doConvert,[])
link(onEvent2,14537538:doData,[(329,321)(329,356)])
}
Add(Hub,13319115,392,308)
{
InCount=2
OutCount=1
link(onEvent1,7904381:doWork3,[(431,314)])
}
Add(DoData,9556591,266,308)
{
Data=String(AT+CSQ)
link(onEventData,9851822:doEvent1,[])
}
Add(MultiElementEx,12560722,532,301)
{
link(onPart,12369797:doOperation,[])
link(Str,2426160:Value,[])
}
BEGIN_SDK
Add(EditMultiEx,9800788,21,21)
{
WorkCount=#7:doSplit|
EventCount=#6:onPart|
DataCount=#3:Str|
Width=377
Height=207
link(doSplit,13217700:doSplit,[(35,27)(35,55)])
}
Add(StrPart,13217700,49,49)
{
Char="+"
link(onSplit,4876575:doSplit,[])
link(Str,9800788:Str,[(55,35)(27,35)])
}
Add(StrPart,668459,301,49)
{
Char=","
link(onPart,9800788:onPart,[(365,62)(365,27)])
}
Add(StrPart,4876575,91,49)
{
Char="C"
link(onSplit,16219516:doSplit,[])
}
Add(StrPart,16219516,133,49)
{
Char="S"
link(onSplit,9520066:doSplit,[])
}
Add(StrPart,9520066,175,49)
{
Char="Q"
link(onSplit,10800371:doSplit,[])
}
Add(StrPart,10800371,217,49)
{
Char=":"
link(onSplit,4611394:doSplit,[])
}
Add(StrPart,4611394,259,49)
{
Char=" "
link(onSplit,668459:doSplit,[])
}
END_SDK
Add(LineBreak,2475833,105,308)
{
Caption="1"
link(Out,10494769:doData,[])
Primary=[12829832,476,-91]
}
Add(Hub,429977,231,224)
{
InCount=2
OutCount=1
link(onEvent1,6404560:doData,[])
}
Add(Hub,5294326,497,210)
{
link(onEvent1,15813224:doCompare,[])
link(onEvent2,2426160:doValue,[(521,223)(521,258)])
}
Add(HubEx,7904381,427,224)
{
link(onEvent,9954166:doWrite,[])
}
Add(Button,12589179,210,308)
{
Left=50
Top=45
Width=120
Height=25
Color=25
Font=[MS Sans Serif,10,1,0,1]
Enabled=1
Caption="Начать тест"
Point(doEnabled)
link(onClick,9556591:doData,[])
}
Add(Memory,2426160,532,252)
{
link(onData,12560722:doSplit,[(573,258)(573,292)(520,292)(520,307)])
}
Add(Math,12369797,574,301)
{
OpType=2
Op2=2
link(onResult,2723968:doPosition,[])
}
Add(ProgressBarRush,2723968,616,301)
{
Left=10
Top=10
Width=200
Transparent=0
Max=66
}
Add(StyleXP,9515165,56,301)
{
}
Add(WinExec,15620106,273,147)
{
FileName="modem.exe"
}
Add(Hub,11402141,231,140)
{
link(onEvent1,9954166:doClose,[(354,146)(354,223)])
link(onEvent2,15620106:doExec,[])
}
Add(For,10238545,175,224)
{
End=50000
link(onStop,429977:doEvent2,[])
}
Add(Hub,11752041,112,175)
{
link(onEvent1,11917232:doRead,[])
link(onEvent2,10238545:doFor,[(150,188)(150,230)])
}
Add(Ini,11917232,168,175)
{
FileName="port.vin"
Section="1"
Key="1"
Type=1
Point(doClearAll)
link(onResult,9954166:doOpen,[(328,181)(328,216)])
}


------------ Дoбавленo в 15.45:
Сама прога
http://yadi.sk/d/4zjfKOu31l7Tc



карма: 0

0
файлы: 1code_30018.txt [4.4KB] [172]
Гость
Ответов: 17029
Рейтинг: 0
#6: 2013-01-10 17:02:31 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2025-01-17 15:29:12
карма: 0

0
Ответов: 200
Рейтинг: 5
#7: 2013-01-10 17:24:40 ЛС | профиль | цитата
На форуме выкладывали когда-то. Уже не помню кто автор.
карма: 0

0
Ответов: 16884
Рейтинг: 1240
#8: 2013-01-10 18:50:50 ЛС | профиль | цитата
176.15.153.115, http://forum.d2h.ru//getfile/4857
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#9: 2013-01-12 16:29:44 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2025-01-17 15:29:12
карма: 0

0
Ответов: 41
Рейтинг: 1
#10: 2013-01-12 18:47:59 ЛС | профиль | цитата
Получается что модем висит не на СОМ порте?
------------ Дoбавленo в 18.47:
модем, huavei e303, определяется системой как сетевая карта а не висит на ком порте(((получается идти покупать еще один модем?
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#11: 2013-01-12 20:02:08 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2025-01-17 15:29:12
карма: 0

0
Ответов: 41
Рейтинг: 1
#12: 2013-01-12 22:24:51 ЛС | профиль | цитата
Всем огромное спасибо за помощь)) разобрался))
Но вот единственное не могу справиться с ошибкой Runtime error 216 at 00003354.. помогите очень нужно)
------------ Дoбавленo в 22.24:
и еще косяк с АТ

ATO
AT+CMGF=1
AT+CMGS="+79****4",
TEST
а как теперь отправить? Символ 26 почему то не прокатывает...
карма: 0

0
Ответов: 1328
Рейтинг: 69
#13: 2013-01-13 01:44:19 ЛС | профиль | цитата
Когда то пытался отправлять смс в текстовом режиме, но так и не победил этот символ. Лучше отправлять в PDU, хотя сложнее, но работает на всех модемах и телефонах.
карма: 2

0
Ответов: 41
Рейтинг: 1
#14: 2013-01-13 02:02:25 ЛС | профиль | цитата
с PDU вообще все очень сложно(
карма: 0

0
Ответов: 5446
Рейтинг: 323
#15: 2013-01-13 02:27:51 ЛС | профиль | цитата
petr1976 писал(а):
Символ 26 почему то не прокатывает...

Символ "26" можно либо как "26", либо через Convertor:Int2Char создать.
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)