Вызов данных с AT командами не удался
Я использую команды для подключения с 3G модемом к Интернету. Все сообщения показывают, что все в порядке, но нет доступа к Интернету и состояние модема в Windows 7 отменяется. Светодиод от модема включен, как будто он подключен к интернету. Команды, которые я использую (в следующем порядке):
COM5 115200 4000
Введен код: AT+CGREG? +CGREG: 0,1 ОК
Введен код: AT+CGREG=? +CGREG: (0-2) ОК
Введен код: AT+CGREG? +CGREG: 0,1 ОК
Введенный код: AT+COPS? +COPS: 0,2,"22603",0 ОК
Введен код: AT+CSQ +CSQ: 21,99 ОК
Введен код: AT+CGATT=1 ОК
Введен код: AT+CGDCONT=1,"IP","широкополосный" OK
Введен код: AT+CGACT=1,1 ОК
Введен код: AT + CEER + CEER: информация о причинах недоступна OK
Введенный код: AT+CGACT? +CGACT: 1,1 ОК
Введен код: AT+CGATT? +CGATT: 1 ОК
Введен код: AT+CGREG? +CGREG: 0,1 ОК
Введен код: AT+CGDCONT? +CGDCONT: 1,"IP","широкополосный","0.0.0.0",0,0 ОК
Введенный код: AT+CGACT=0,1 ОК
Введен код: AT + CEER + CEER: информация о причинах недоступна OK
Введенный код: AT+COPS? +COPS: 0,2,"22603",0 ОК
Введен код: AT+CSQ +CSQ: 21,99 ОК
Введен код: AT+CGATT=1 ОК
Введен код: AT+CGDCONT=1,"IP","широкополосный" OK
Введен код: AT+CGACT=1,1 ОК
Введен код: AT + CEER + CEER: информация о причинах недоступна OK
Введенный код: AT+CGACT? +CGACT: 1,1 ОК
Введен код: AT+CGATT? +CGATT: 1 ОК
Введен код: AT+CGREG? +CGREG: 0,1 ОК
Введен код: AT+CGDCONT? +CGDCONT: 1,"IP","широкополосный","0.0.0.0",0,0 ОК
Введенный код: AT+CGACT=0,1 ОК
Введен код: AT + CEER + CEER: информация о причинах недоступна OK
Что мне не хватает?
2 ответа
Вероятно, установление соединения на устройстве будет недостаточным, поскольку окна не будут уведомлены о соединении. Вы должны настроить модем в Windows и использовать его для установления соединения.
DotRas - это проект, который делает именно это в C#. Но могут быть и другие решения для других языков. Если вы пишете сценарий, вы можете взглянуть на WMI. Также есть классы для модемов.
Я нашел ответ на свой вопрос. Чтобы подключиться к Интернету через 3G-модем, вам нужно создать коммутируемое соединение или использовать один из существующих. Самый простой способ в Visual C# - это использовать библиотеку DotRas и создать де-модем. пример
private void connectbtn_Click(object sender, EventArgs e)
{
string path = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.User);
RasPhoneBook pbk = new RasPhoneBook();
pbk.Open(path);
RasDevice modem = RasDevice.GetDeviceByName("HUAWEI Mobile Connect - 3G Modem",RasDeviceType.Modem);
//get the exact device name from windows
RasEntry entry = RasEntry.CreateDialUpEntry("Broadband", "*99#", modem);
entry.Options.RemoteDefaultGateway = true;
if (RasEntry.Exists("Broadband", path) == false)
{ pbk.Entries.Add(entry); }
RasDialer dialer = new RasDialer();
dialer.EntryName = "Broadband";
dialer.PhoneBookPath = path;
dialer.Credentials = new NetworkCredential();
dialer.Credentials.Domain = "broadband";
dialer.PhoneNumber="*99#";
dialer.Dial();
}
Позаботьтесь о настройке подключения к работе и доступу в Интернет.