|
GE863-GPS, Выход в интернет через GPRS |
|
|
|
Oct 20 2008, 13:59
|

Профессионал
    
Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409

|
Добрый день. Помогите пожалуйста разобраться со скриптом для выхода в интернет через GPRS с помощью модема GE863-GPS. Стоит задача: принимать координаты со спутника и передавать их на ftp-сервер. С приёмом координат со спутника я разобрался. Теперь пытаюсь выйти в интернет. Насколько я понял чтобы подключится к ftp-серверу для начала нужно выйти в интернет (например через GPRS). В примерах Python нашёл скрипт для подключения к GPRS. Изменил APN, и дописал необязательные логин и пароль Все команды проходят нормально кроме res = iterateCmd('AT#GPRS', '1', TIMEOUT_CMD, numCheck). Выводится ошибка +CME ERROR: activation failed. Подскажите в чём причина нежелания модема конектится к GPRS? Или наоборот - нежелание сети воспринимать мой модем? P.S. С GSM/GPRS раньше дела не имел, так что не удивляйтесь что вопросы совсем простые и возможно глупые Код import GPS import MDM import MOD
####################################### # sends a generic AT command and waits for a response # if value is NULL then the AT command isn't compound (it's like ATA) # if value isn't NULL then the AT command is like AT+CMGR=1 def sendCmd(cmd,value,waitfor): if (value != ""): cmd = cmd + '=' else: cmd = cmd + '\r' res = MDM.send(cmd, 0) if (value != ""): res = MDM.send(value, 0) res = MDM.send('\r', 0) if (waitfor > 0): res = MDM.receive (waitfor) return res
####################################### def iterateCmd(comando, parametro, TIMEOUT_CMD, numCheck): while( numCheck >= 0): numCheck = numCheck -1 res = sendCmd(comando, parametro, TIMEOUT_CMD) if(res.find('OK') != -1): return 1 MOD.sleep(TIMEOUT_CMD) if(numCheck == 0): return -1
#established a GPRS connection def connectGPRS(): print 'connect GPRS' numCheck = 5 TIMEOUT_CMD = 50 CGDCONT = '1,"IP","www.kyivstar.net","0.0.0.0",0,0<cr>' USERID = 'kyivstar' PASSW = 'gprs' res = iterateCmd('AT#GPRS', '0', TIMEOUT_CMD, numCheck) if(res == -1): return -1 res = iterateCmd('AT+CGDCONT', CGDCONT, TIMEOUT_CMD, numCheck) if(res == -1): return -1 res = iterateCmd('AT#USERID', USERID, TIMEOUT_CMD, numCheck) if(res == -1): return -1 res = iterateCmd('AT#PASSW', PASSW, TIMEOUT_CMD, numCheck) if(res == -1): return -1 res = iterateCmd('AT#GPRS', '1', TIMEOUT_CMD, numCheck) if(res == -1): return -1 return 1 # -1 => ERROR , 1 => OK
connect = connectGPRS() if connect == 1: print 'GPRS OK' else: print 'GPRS ERROR'
|
|
|
|
|
 |
Ответов
|
Oct 23 2008, 04:57
|
Частый гость
 
Группа: Новичок
Сообщений: 148
Регистрация: 13-12-05
Пользователь №: 12 162

|
Цитата(mempfis_ @ Oct 20 2008, 17:59)  Добрый день. Помогите пожалуйста разобраться со скриптом для выхода в интернет через GPRS с помощью модема GE863-GPS. Стоит задача: принимать координаты со спутника и передавать их на ftp-сервер. С приёмом координат со спутника я разобрался. Теперь пытаюсь выйти в интернет. Насколько я понял чтобы подключится к ftp-серверу для начала нужно выйти в интернет (например через GPRS). В примерах Python нашёл скрипт для подключения к GPRS. Изменил APN, и дописал необязательные логин и пароль Все команды проходят нормально кроме res = iterateCmd('AT#GPRS', '1', TIMEOUT_CMD, numCheck). Выводится ошибка +CME ERROR: activation failed. Подскажите в чём причина нежелания модема конектится к GPRS? Или наоборот - нежелание сети воспринимать мой модем? м-м-м-м-м...... а попробуйте сначала всё это сделать просто подавая команды с компа, и сразу же станет понятно в чём причина - толи модем сконфигурён неправильно, толи вас сетка не пускает. К тому же в этом случае модем выплюнет вам стандартные коды ошибок, которые знакомы не только пользователям телита..... easyscript не всегда работает корректно, я в итоге отказался от его использования.
|
|
|
|
|
Oct 24 2008, 05:40
|

Профессионал
    
Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409

|
Цитата(Andrewak @ Oct 23 2008, 08:57)  м-м-м-м-м...... а попробуйте сначала всё это сделать просто подавая команды с компа, и сразу же станет понятно в чём причина - толи модем сконфигурён неправильно, толи вас сетка не пускает. К тому же в этом случае модем выплюнет вам стандартные коды ошибок, которые знакомы не только пользователям телита..... easyscript не всегда работает корректно, я в итоге отказался от его использования. Спасибо, и правда помогло - сначала подал команды вкрючения GPRS через терминал увидел что они проходят. Начал разбираться в своём коде оказалось неверно склеивалась ат-команда и не нужно <cr> в контексте. Вобщем достаточно такого: Код import GPS import MDM import MOD
####################################### # sends a generic AT command and waits for a response # if value is NULL then the AT command isn't compound (it's like ATA) # if value isn't NULL then the AT command is like AT+CMGR=1 def sendCmd(cmd,value,waitfor): if (value != ""): cmd = cmd + '=' else: cmd = cmd + '\r' res = MDM.send(cmd, 0) if (value != ""): res = MDM.send(value, 0) res = MDM.send('\r', 0) if (waitfor > 0): res = MDM.receive (waitfor) return res #######################################
####################################### def connectGPRS(): print 'connect GPRS' numCheck = 5 TIMEOUT_CMD = 50 CGDCONT = '1,"IP","www.kyivstar.net","0.0.0.0",0,0' res = sendCmd('AT#GPRS', '0', TIMEOUT_CMD) if(res == -1): return -1 res = sendCmd('AT+CGDCONT', CGDCONT, TIMEOUT_CMD) if(res == -1): return -1 res = sendCmd('AT#GPRS', '1', TIMEOUT_CMD, numCheck) if(res == -1): return -1 ####################################### P.S. По-поводу easyscript - у меня он вроде не глючит, но правда модуль GPIO не работает  хотя другие (MOD, MDM, GPS, GPRS) работают без проблем
Сообщение отредактировал mempfis_ - Oct 24 2008, 05:43
|
|
|
|
|
Oct 25 2008, 08:17
|
Частый гость
 
Группа: Новичок
Сообщений: 148
Регистрация: 13-12-05
Пользователь №: 12 162

|
Цитата(mempfis_ @ Oct 24 2008, 09:40)  Спасибо, и правда помогло - сначала подал команды вкрючения GPRS через терминал увидел что они проходят. Начал разбираться в своём коде оказалось неверно склеивалась ат-команда и не нужно <cr> в контексте. Вобщем достаточно такого: ........ P.S. По-поводу easyscript - у меня он вроде не глючит, но правда модуль GPIO не работает  хотя другие (MOD, MDM, GPS, GPRS) работают без проблем Дело не в том, что он работает или не работает. Просто он вертится в том же проце, что и baseband и пользовательское приложение имеет далеко не самый высокий приоритет. Как итог - пользовательское приложение далеко не всегда получает нужную скорострельность. Это, кстати, знакомо и пользователям wavecom. Другой подход - GE864-PRO3. Там отдельный проц для пользователя, но соединять его с baseband нужно через мамку... Что за бред? Почему нельзя было эти соединения развести на модуле? Лично я стараюсь вообще не применять возможность встраивания своего приложения в модуль - я по крайней мере могу в любое время поменять один модуль на другой малой кровью....
Сообщение отредактировал Andrewak - Oct 25 2008, 08:17
|
|
|
|
|
Oct 26 2008, 23:26
|

Местный
  
Группа: Свой
Сообщений: 414
Регистрация: 8-06-06
Пользователь №: 17 897

|
Цитата(Andrewak @ Oct 25 2008, 14:17)  Дело не в том, что он работает или не работает. Просто он вертится в том же проце, что и baseband и пользовательское приложение имеет далеко не самый высокий приоритет. Как итог - пользовательское приложение далеко не всегда получает нужную скорострельность. Это, кстати, знакомо и пользователям wavecom. Другой подход - GE864-PRO3. Там отдельный проц для пользователя, но соединять его с baseband нужно через мамку... Что за бред? Почему нельзя было эти соединения развести на модуле? Лично я стараюсь вообще не применять возможность встраивания своего приложения в модуль - я по крайней мере могу в любое время поменять один модуль на другой малой кровью.... Только что закончил прибор, построенный полностью на easyscript. Пока вроде бы полёт нормальный. А какие у Вас были с ним проблемы?
--------------------
Курильщик даташитов со стажем
|
|
|
|
|
Oct 27 2008, 14:37
|
Частый гость
 
Группа: Новичок
Сообщений: 148
Регистрация: 13-12-05
Пользователь №: 12 162

|
Цитата(InsolentS @ Oct 27 2008, 03:26)  Только что закончил прибор, построенный полностью на easyscript. Пока вроде бы полёт нормальный. А какие у Вас были с ним проблемы? Тормознутость. Хотя, в принципе, наверное можно было решить эти проблемы. Просто главную причину я обозначил двумя постами выше - я почти не завишу от аппаратной платформы  Тем более, что ресурсов модуля мне не достаточно и без внешнего камня обойтись в любом случае не получается
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|