|
|
  |
SIM900-GPRS: смена APN -> Error 3 |
|
|
|
Nov 14 2011, 11:06
|

Профессионал
    
Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143

|
Всё делаю согласно sim900_tcpip_application note_v1.02.pdf
первое подключение, передача и закрытие проходят отлично
AT+CGATT=1 AT+CSTT="internet","username","password" AT+CIICR AT+CIFSR AT+CIPSTART="TCP","92.62.56.52","40001"
CONNECT OK
AT+CIPSEND
AT+CIPCLOSE=1
но, вот по ТЗ нужно менять APN, делаю соответственно AT+CSTT="internet.beeline.ru","beeline","beeline" и получаю +CME ERROR: 3
раньше чуток работал с телитами, так что всех тонкостей SIM не знаю =(
как корректно сменить APN ?
Еще чего заметил, если AT+CIFSR не отправлять ( ну не хочу я знать какой IP выдан, и всё тут ! ) то CIPSTART тоже возвращает CME ERROR: 3
прошивка 1137B09SIM900M64_ST
--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
|
|
|
|
|
Nov 14 2011, 11:14
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 19-04-07
Пользователь №: 27 182

|
Цитата(megajohn @ Nov 14 2011, 14:06)  Всё делаю согласно sim900_tcpip_application note_v1.02.pdf
первое подключение, передача и закрытие проходят отлично
AT+CGATT=1 AT+CSTT="internet","username","password" AT+CIICR AT+CIFSR AT+CIPSTART="TCP","92.62.56.52","40001"
CONNECT OK
AT+CIPSEND
AT+CIPCLOSE=1
но, вот по ТЗ нужно менять APN, делаю соответственно AT+CSTT="internet.beeline.ru","beeline","beeline" и получаю +CME ERROR: 3
раньше чуток работал с телитами, так что всех тонкостей SIM не знаю =(
как корректно сменить APN ?
Еще чего заметил, если AT+CIFSR не отправлять ( ну не хочу я знать какой IP выдан, и всё тут ! ) то CIPSTART тоже возвращает CME ERROR: 3
прошивка 1137B09SIM900M64_ST AT+CIPSHUT делаете, прежде чем менять APN? Попробуйте задавать APN через AT+CIPCSGP=1,APN,USER,PASSWORD и вместо AT+CSTT="internet","username","password" просто AT+CSTT
|
|
|
|
|
Nov 14 2011, 13:11
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(megajohn @ Nov 14 2011, 13:06)  AT+CIPCLOSE=1
но, вот по ТЗ нужно менять APN, делаю соответственно AT+CSTT="internet.beeline.ru","beeline","beeline" и получаю +CME ERROR: 3 После AT+CIPCLOSE у вас закрывается только коннект с вашим сервером, а PDP-context остается активным. А точка доступа в Интернет (APN) задается как раз при активизации PDP-context-а. Вот вы и получаете +CME ERROR: 3 - "действие не разрешено". Как вам уже посоветовали, нужно сначала деактивировать старый PDP-context при помощи команды AT+CIPSHUT и только потом открывать новый с другим APN. Я бы еще между этими действиями выждал паузу в секунды (сколько не знаю, но пару секунд точно).
|
|
|
|
|
Nov 24 2011, 15:39
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470

|
Цитата(megajohn @ Nov 24 2011, 18:28)  А как в sim900 передавать через GPRS бинарные данные в командном режиме ?
AT+CIPSEND > 3132333435 Отправляет как строку а мне бы нужно как 0x31, 0x32, 0x33, 0x34, 0x35 Так и запихивай ему бинарные данные, а не текст  модем же понимает символы не только в текстовом диапазоне
|
|
|
|
|
Nov 24 2011, 16:48
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(megajohn @ Nov 24 2011, 17:28)  А как в sim900 передавать через GPRS бинарные данные в командном режиме ?
AT+CIPSEND > 3132333435 Отправляет как строку а мне бы нужно как 0x31, 0x32, 0x33, 0x34, 0x35 У CIPSEND есть два режима: для текстовых и для бинарных данных. AT+CIPSEND это для текстовых - байты интерпретируются как бинарные, но отправляются по коду ctrl-Z (0х1А), так что этот код послать нельзя. Для бинарных нужно применять AT+CIPSEND=length при этом можно любые коды передать Цитата(_Артём_ @ Nov 24 2011, 18:44)  А что в CIPQSEND является умолчанием? Умолчанием является 0 - Normal mode c одним ответом SEND OK Это новая команда у SIM900, а у меня без переделки код от SIM300 нормально заработал.
|
|
|
|
|
Nov 25 2011, 11:32
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(_Артём_ @ Nov 24 2011, 20:32)  Как без переделки? Там же по умолчанию multisocket-режим. Почему вы так думаете? AT+CIPMUX судя по всему нигде не сохраняется и действует только на время работы TCP/IP стека до выключения питания. После включения питания и запуска стека AT+CIPMUX=0 всегда. Если я переключаюсь на AT+CIPMUX=1, то он будет в "1" только до выключения питания.
|
|
|
|
|
Nov 26 2011, 20:41
|
Ортодокс
  
Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775

|
Цитата(Baser @ Nov 25 2011, 13:32)  Почему вы так думаете?
AT+CIPMUX судя по всему нигде не сохраняется и действует только на время работы TCP/IP стека до выключения питания. После включения питания и запуска стека AT+CIPMUX=0 всегда. Если я переключаюсь на AT+CIPMUX=1, то он будет в "1" только до выключения питания. К сожалению это не так. После команды AT+CIPMUX=1 модуль будет оставаться в мультисокетном режиме и после выключения/включения и после деактивации/активации контекста. До тех пор пока Вы явно не дадите AT+CIPMUX=0Таков уж он есть - навязчивый китайский сервис
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|