реклама на сайте
подробности

 
 
> SIM900-GPRS: смена APN -> Error 3
megajohn
сообщение Nov 14 2011, 11:06
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 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 штук).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Baser
сообщение Nov 14 2011, 13:11
Сообщение #2


Просто 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.

Я бы еще между этими действиями выждал паузу в секунды (сколько не знаю, но пару секунд точно).
Go to the top of the page
 
+Quote Post
megajohn
сообщение Nov 24 2011, 15:28
Сообщение #3


Профессионал
*****

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



А как в sim900 передавать через GPRS бинарные данные в командном режиме ?

AT+CIPSEND > 3132333435 Отправляет как строку а мне бы нужно как 0x31, 0x32, 0x33, 0x34, 0x35


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
Baser
сообщение Nov 24 2011, 16:48
Сообщение #4


Просто 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 нормально заработал.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Nov 24 2011, 18:32
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Baser @ Nov 24 2011, 18:48) *
У CIPSEND есть два режима: для текстовых и для бинарных данных.

AT+CIPSEND
это для текстовых - байты интерпретируются как бинарные, но отправляются по коду ctrl-Z (0х1А), так что этот код послать нельзя.

Для бинарных нужно применять
AT+CIPSEND=length
при этом можно любые коды передать


Умолчанием является 0 - Normal mode c одним ответом SEND OK

Это новая команда у SIM900, а у меня без переделки код от SIM300 нормально заработал.


Как без переделки? Там же по умолчанию multisocket-режим.
Go to the top of the page
 
+Quote Post
Baser
сообщение Nov 25 2011, 11:32
Сообщение #6


Просто 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" только до выключения питания.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 19:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01429 секунд с 7
ELECTRONIX ©2004-2016