crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Создание сетевого подключения на PC, Как сделать выход в интернет с 3G модема подключенного к PC через USB
Make_Pic
  опции профиля:
сообщение 31.8.2014, 9:51
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 31.8.2014
Пользователь №: 4215

Спасибо сказали: 0 раз(а)




Репутация:   0  


Помогите пожалуйста. Как можно из программы, которую я пишу для фирмы в Qt4.8 сделать так, чтобы она (программа)создавала модемное сетевое подключение в системе WIN XP,7, а потом его запускала т.е. делала коннект (имитировало нажатие кнопки "Вызов") и прерывало его когда необходимо (кнопка "Отмена")? Можно посмотреть примеры такого приложения на Qt?
Возможно этоделается не так, а по другому - подскажите пожалуйста.
P.S. Используется виртуальный COM порт на PС. Мне поставили задачу, добавить в мою программу что то наподобие примитивного коннект менеджера 3G модема, подключенного чере USB виртуальный COM порт.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
FireBlack
  опции профиля:
сообщение 1.9.2014, 7:54
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 38
Регистрация: 17.10.2010
Из: г.Пенза
Пользователь №: 2121

Спасибо сказали: 13 раз(а)




Репутация:   1  


Цитата(Make_Pic @ 31.8.2014, 9:51) *
Помогите пожалуйста. Как можно из программы, которую я пишу для фирмы в Qt4.8 сделать так, чтобы она (программа)создавала модемное сетевое подключение в системе WIN XP,7, а потом его запускала т.е. делала коннект (имитировало нажатие кнопки "Вызов") и прерывало его когда необходимо (кнопка "Отмена")? Можно посмотреть примеры такого приложения на Qt?
Возможно этоделается не так, а по другому - подскажите пожалуйста.
P.S. Используется виртуальный COM порт на PС. Мне поставили задачу, добавить в мою программу что то наподобие примитивного коннект менеджера 3G модема, подключенного чере USB виртуальный COM порт.

Судя по всему Вам надо через COM порт подключиться к GPRS модему, установить соединение и дальше использовать обычное сетевое?!

Для работы с COM портом начиная с Qt 5.1 был введен класс QSerialPort. Но т.к. Вы используете Qt 4.8, то придется использовать другие, похожие библиотеки, например QextSerialPort.

Чтобы установить соединение необходимо использовать AT-команды, о которых можно почитать в интернете, например здесь или здесь.
В общем случае, для Huawei модемов используется следующая последовательность команд:
посылаем ATE1
модем отвечает OK
посылаем AT+CGDCONT=1,"IP","internet"
модем опять отвечает OK
далее устанавливаем соединение командой ATD*99#
если модем отвечает CONNECT, значит соединение установлено.
(Конечно набор команд зависит от самого модема и используемого оператора. Я бы рекомендовал сначала, попробовать установить соединение вручную через терминал, а уж потом реализовывать все это в коде)

Ну а после установления соединения можно использовать обычный QtNetwork.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Make_Pic
  опции профиля:
сообщение 4.9.2014, 4:58
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 31.8.2014
Пользователь №: 4215

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(FireBlack @ 1.9.2014, 10:54) *
Ну а после установления соединения можно использовать обычный QtNetwork.

Как делать соединение на модеме я знаю, как работать с COM портом из Qt то же разобрался (только вопрос остался по Qt5 и встроенному в эту версию QtSerialport - Остался баг с подтрмаживанием обмена по COM порту при перемещении или изменении размеров окна?).
Вопрос мой был в другом, а именно Я ий Ot сделал AT командами соединение с интернетом в самом модеме 3G, но как теперь с COM порта перенаправить поток, подключение в PC WIN 7, так чтобы программы имели доступ в интернт, короче было нормальное подключение к интернету чере 3G модем? Через мастер подключений в самом WIN 7 это я делаю с модемом без проблем.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
FireBlack
  опции профиля:
сообщение 4.9.2014, 8:30
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 38
Регистрация: 17.10.2010
Из: г.Пенза
Пользователь №: 2121

Спасибо сказали: 13 раз(а)




Репутация:   1  


Цитата(Make_Pic @ 4.9.2014, 5:58) *
Остался баг с подтрмаживанием обмена по COM порту при перемещении или изменении размеров окна?

Это связано с тем, что судя по всему, у Вас работа с COM портом производится в основном потоке, где обрабатываются события интерфейса. И Вам следует создать специальный поток для работы с COM портом.

Цитата(Make_Pic @ 4.9.2014, 5:58) *
...чтобы программы имели доступ в интернт, короче было нормальное подключение к интернету чере 3G модем

Теоретически, после установления соединения должно появится новое сетевое подключение, через которое все программы и будут выходить в интернет.
Если его нет, то прошу прощения, значит мое предположение не верно. И Вам проще всего использовать дополнительное ПО для установления соединения. В Linux'е, я бы использовал WvDial. Под винду в интернете нашел:
3G Modem Internet Dialer - софтину с интерфейсом, в исходном коде которой можно посмотреть как это делается;
DotRas - библиотеку, которую можно использовать для установления соединения;
Qt Cell Module - модуль для работы с телефонией;
и MSDN документацию - для программного создания соединения.
Что из этого подойдет не знаю, тут только пробовать надо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 11:41