|
Переходим с GPRS в интернет из локальной сети, Замена GPRS интернета |
|
|
|
Apr 16 2013, 08:55
|
Знающий
   
Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163

|
Цитата Может быть он может через виртуальный COM работать AT командами? Скорее всего сможет. Вот только для 3G модемов и для GSM модемов, насколько я помню, разный номер нужен для дозвона. Если та программа позволяет задавать строку инициализации модема, то вполне можно с USB модемом поработать.
|
|
|
|
|
Apr 17 2013, 05:12
|

Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326

|
Цитата(Alezi @ Apr 17 2013, 02:27)  Мысль ушла в другую сторону....подключение к сотовой сети не нужно! Интернет можно взять из локальной сети, либо через прокси, либо через VPN, либо через USB модем от Yota (потому что бесплатный на 128к). Используемый до сих пор модем Siemens MC35i и хотя в программе можно указать номер, хоть *99# либо *99***1#, для нее, как я понимаю, это не существенно. Программа ожидает от модема подтверждение, вида "Ok" и продолжает действия. 1. YOTA это LTE, т.е. стандарт сотовой связи. 2. Решил лично проверить. Huawei E392 от Мегафона (на знаю, что в Йоте предлагают, подозреваю что нечто аналогичное) - после установки драйверов образуются два виртуальных COM. На одном из них и висит AT интерфейс, через который можно работать модемом. Одна тонкость - там по умолчанию сыпятся URC о состоянии сети и уровне сигнала, как их отключить - нужно искать систему команд соответствующего модема.
|
|
|
|
|
Apr 19 2013, 10:02
|
Местный
  
Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682

|
Скорее всего, это и есть единственное тривиальное решение вашей задачи. Иначе пришлось бы вручную программно сэмулировать АТ-интерфейс модема и ррр-сервер, передавая затем полученные IP-данные через raw-сокет в Ethernet (плюс еще свой код роутера). А это уже далеко не тривиальная задача, и не каждому программисту по силе. Можно это сделать даже на пике, но опять же писать ррр-сервер придется самому, т.к. в стандартном майкрочиповском стеке его нету. Цитата(Alezi @ Apr 17 2013, 10:53)  На "другой" стороне требуется установка аналогичной программы и обмен данными возможен только между ними. Хотя эмулятор модема работает нормально, командами "AT" заставляет думать программу, что она общается с модемом. Только сигнал в линии не находит, поскольку клиентская часть не установлена. На другой стороне - это где? В модеме или на удаленном сервере/программе? Модем стандартный, с обычной прошивкой? Модемы между собой как соединяются: GPRS, CSD или голосом (GMSK и т.д.)? Виртуал-модем в интернет выходит? Лог снимали по RS232 между программой и реальным модемом а затем между программой и виртуальным? Сетевым анализатором видите пакеты от вашей программы->виртуального модема в WAN?
|
|
|
|
|
Apr 23 2013, 06:33
|

Участник

Группа: Участник
Сообщений: 47
Регистрация: 8-07-08
Из: Хабаровск
Пользователь №: 38 795

|
Цитата На другой стороне - это где? В модеме или на удаленном сервере/программе? Требуется установка программы клиента на удаленной стороне. К сожалению, прямого доступа туда нет, все происходит через программу->Siemens MC35i GPRS модем->сервер в интернете. Цитата Модем стандартный, с обычной прошивкой? Модемы между собой как соединяются: GPRS, CSD или голосом (GMSK и т.д.)? Модем обычный, соединяется через GPRS по номеру *99***1#. Цитата Виртуал-модем в интернет выходит? Нет, после набора "виртуального номера", который идет с моей программы, выдает сигнал линия не доступна. Цитата Лог снимали по RS232 между программой и реальным модемом а затем между программой и виртуальным? Да, все одинаково до момента, когда проверяется доступность линии. Потом виртуальный модем выдает сигнал о занятой линии. Цитата Сетевым анализатором видите пакеты от вашей программы->виртуального модема в WAN? Не смотрел, виртуальный модем изначально просит установить адрес/порт удаленного хоста. Поскольку на стороне сервера программы такой нет, то думаю не поможет.
|
|
|
|
|
Apr 23 2013, 10:34
|
Группа: Участник
Сообщений: 12
Регистрация: 13-10-10
Из: Israel
Пользователь №: 60 118

|
Если есть протокол обмена между программой и реальным модемом, то можно взять null-modem кабель воткнуть его на другой порт в этом же компьютере и повесить на него свой эмулятор протокола обмена. В этом же эмуляторе сделать обмен данными с сервером и отдавать данные в клиентскую программу через comport.
|
|
|
|
|
Apr 23 2013, 17:53
|
Местный
  
Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682

|
Цитата(Alezi @ Apr 23 2013, 09:33)  виртуальный модем изначально просит установить адрес/порт удаленного хоста. Тогда не повезло: ваш виртуальный модем - "не от того самолета двери". Скорее всего, он предназначен для простого пробрасывания RS232 через Internet. Вам же нужен полноценный эмулятор GPRS-модема. И готовые решения на вскидку мне не известны. Я делал систему наоборот: езернет-клиент (спутниковый ресивер) подключался через ENC28J60+PIC18F1320 и далее через Siemens - GPRS -> удаленный сервер. И это была далеко не тривиальная задача (езернет-стек + простейший роутер + ppp-клиент на ассемблере). На PC сделать обратное решение проще, но все равно это сложно и должно себя оправдывать по трудозатратам. Цитата(avor_il @ Apr 23 2013, 13:34)  Если есть протокол обмена между программой и реальным модемом, то можно взять null-modem кабель воткнуть его на другой порт в этом же компьютере и повесить на него свой эмулятор протокола обмена. В этом же эмуляторе сделать обмен данными с сервером и отдавать данные в клиентскую программу через comport. В идеале эмулятор протокола обмена модема должен уметь обрабатывать АТ, быть ppp-сервером, затем роутером, а затем отсылать в интернет пакеты на уровне IP (ч/з RAW-сокет). Это подъемно на любитеьском уровне? Реально, скорее всего, можно ограничиться шаблонным копированием ответов на АТ и фаз PPP вплоть до IPCP (получения IP-адреса и т.д.): эта часть для GPRS-модема постоянна. Но выполнять ppp-7D-преобразование, упаковывать в ррр, подсчитывать crc16 все равно необходимо.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|