Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Telit GL868 прошивка
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
АлексейX
Добрый день! [/color]
Возможно уже где-то здесь освещалась эта тема, но я не нашел...
Вопрос у меня следующий, где можно найти протокол прошивки скриптов *.pyo а если возможно то и firmware, было бы вообще замечательно, обясню, есть свое прикладное приложение для работы с различными GSM модулями, так же встроен функционал для Telit, не хечется постоянно прыгать с одного приложения на другое, чтоб освободить COM порт и что то сделать...
Еще вопрос маленький, каким образом в модуль заностяся пользовательские настройки, напримет точка доступа APN и т.д.


Заранее спасибо!!![color="#0000FF"]
molecul
Цитата(АлексейX @ Jan 11 2012, 18:29) *
Добрый день! [/color]
Возможно уже где-то здесь освещалась эта тема, но я не нашел...
Вопрос у меня следующий, где можно найти протокол прошивки скриптов *.pyo а если возможно то и firmware, было бы вообще замечательно, обясню, есть свое прикладное приложение для работы с различными GSM модулями, так же встроен функционал для Telit, не хечется постоянно прыгать с одного приложения на другое, чтоб освободить COM порт и что то сделать...
Еще вопрос маленький, каким образом в модуль заностяся пользовательские настройки, напримет точка доступа APN и т.д.


Заранее спасибо!!![color="#0000FF"]

По вопросу заливки скриптов - все делается AT командами. Раздел 3.5.7.11 приложенного документа. Есть готовый комплект утилит для работы с Питоном из-под Windows, но многие предпочитают написать свою утилиту, ибо протокол открытый.
По поводу сохранения пользовательских настроек - все тоже описано в прилагаемом документе. Конкретно касательно APN, то это команда +CGDCONT, ее параметры сохраняются в энергонезависимой памяти.
АлексейX
Цитата(molecul @ Jan 12 2012, 09:52) *
По вопросу заливки скриптов - все делается AT командами. Раздел 3.5.7.11 приложенного документа. Есть готовый комплект утилит для работы с Питоном из-под Windows, но многие предпочитают написать свою утилиту, ибо протокол открытый.
По поводу сохранения пользовательских настроек - все тоже описано в прилагаемом документе. Конкретно касательно APN, то это команда +CGDCONT, ее параметры сохраняются в энергонезависимой памяти.



Добрый день!
Я наверное не совсем понятно написал, но вопрос следующий мне нужен протокол по которому прошивается именно файл *.pyo (НЕ *.py) в модуль, я нигде этой информации не нашел, вы говорите, что протокол открытый, ткните меня слепого туда где он открыт....
На счет сохранения настроек: допустим есть настройка как идентификатор устройства или тайм-аут, касаемый только моего протокола работы и эти настройки не известны мне заранее, их ставит клиент, так как прошивку я клиенту отдать не могу, он каким-то образом должен сделать настройки... куда их писать???
Спасибо!
molecul
Цитата(АлексейX @ Jan 12 2012, 11:33) *
Добрый день!
Я наверное не совсем понятно написал, но вопрос следующий мне нужен протокол по которому прошивается именно файл *.pyo (НЕ *.py) в модуль, я нигде этой информации не нашел, вы говорите, что протокол открытый, ткните меня слепого туда где он открыт....
На счет сохранения настроек: допустим есть настройка как идентификатор устройства или тайм-аут, касаемый только моего протокола работы и эти настройки не известны мне заранее, их ставит клиент, так как прошивку я клиенту отдать не могу, он каким-то образом должен сделать настройки... куда их писать???
Спасибо!

При помощи указанных мною AT команд можно залить в модуль вообще любой файл (ну, естественно, с ограничениями по размеру). Некоторые так и делают - в память, рассчитанную на скрипты, заливают информацию в своем формате. В результате получается удобное хранилище файлов. В том числе и настройки можно туда писать. Единственное что не рекомендуется - запускать полученный файл как скрипт, результаты будут непредсказуемыми sm.gif
АлексейX
Цитата(molecul @ Jan 12 2012, 13:05) *
При помощи указанных мною AT команд можно залить в модуль вообще любой файл (ну, естественно, с ограничениями по размеру). Некоторые так и делают - в память, рассчитанную на скрипты, заливают информацию в своем формате. В результате получается удобное хранилище файлов. В том числе и настройки можно туда писать. Единственное что не рекомендуется - запускать полученный файл как скрипт, результаты будут непредсказуемыми sm.gif


Спасибо! У меня была такая же мысль, а вы меня еще и убедили в этом.
Еще вопрос, мое приложение заставляет модуль соединиться с сервером по TCP\IP , и вот какая штука, если я запускаю скрипт в дебаге то соединения не происходит, если я прошиваю скрипт в модуль, то соединение есть, но при отсылке какой-либо последовательности, на удаленную сторону приходит мусор....
Пытаюсь отправить смс, не в дебаге не в модуле смс не отправляется...
molecul
Цитата(АлексейX @ Jan 12 2012, 15:07) *
Спасибо! У меня была такая же мысль, а вы меня еще и убедили в этом.
Еще вопрос, мое приложение заставляет модуль соединиться с сервером по TCP\IP , и вот какая штука, если я запускаю скрипт в дебаге то соединения не происходит, если я прошиваю скрипт в модуль, то соединение есть, но при отсылке какой-либо последовательности, на удаленную сторону приходит мусор....
Пытаюсь отправить смс, не в дебаге не в модуле смс не отправляется...

Дебаг режим - имеется в виду отладка с компьютера через Telit Python Package? Тогда там не будет работать ни смс, ни передача данных, поскольку все это всего лишь эмулируется на компьютере. Если требуется отладка реальной передачи данных, то нужно делать отладочный вывод прямо из скрипта, можно на второй UART, если первый занят.
Почему не отправляется из скрипта - пришлите скрипт мне, я посмотрю правильность либо отправлю в Телит для анализа, если сам не увижу ошибок.
АлексейX
Цитата(molecul @ Jan 12 2012, 17:14) *
Дебаг режим - имеется в виду отладка с компьютера через Telit Python Package? Тогда там не будет работать ни смс, ни передача данных, поскольку все это всего лишь эмулируется на компьютере. Если требуется отладка реальной передачи данных, то нужно делать отладочный вывод прямо из скрипта, можно на второй UART, если первый занят.
Почему не отправляется из скрипта - пришлите скрипт мне, я посмотрю правильность либо отправлю в Телит для анализа, если сам не увижу ошибок.


Добрый день!
В прилагаемом файле скрипт, буду очень благодарен если укажете на допущенный мной ошибки)
Спасибо!

Цитата(АлексейX @ Jan 13 2012, 14:32) *
Добрый день!
В прилагаемом файле скрипт, буду очень благодарен если укажете на допущенный мной ошибки)
Спасибо!

Извините вот он...Нажмите для просмотра прикрепленного файла
molecul
Цитата(АлексейX @ Jan 13 2012, 14:34) *
Добрый день!
В прилагаемом файле скрипт, буду очень благодарен если укажете на допущенный мной ошибки)
Спасибо!


Извините вот он...Нажмите для просмотра прикрепленного файла

Что сразу вижу - отправка SMS работать не будет. По умолчанию модуль работает в режиме PDU, а вы пытаетесь в текстовом режиме передать. Необходимо подать при инициализации команду
AT+CMGF=1
И все должно заработать.

Касательно TCP/IP, почему то вы используете устаревшие команды TCP/IP стека. Рекомендую полностью переписать скрипт, следуя рекомендациям приложенного документа. Там и примеры есть работающие.
Еще рекомендация - прежде чем загонять команды в скрипт - лучше их прогнать вручную, подавая на модуль через терминалку. И лишь когда все заработает, писать скрипт.
АлексейX
Цитата(molecul @ Jan 13 2012, 16:49) *
Что сразу вижу - отправка SMS работать не будет. По умолчанию модуль работает в режиме PDU, а вы пытаетесь в текстовом режиме передать. Необходимо подать при инициализации команду
AT+CMGF=1
И все должно заработать.

Касательно TCP/IP, почему то вы используете устаревшие команды TCP/IP стека. Рекомендую полностью переписать скрипт, следуя рекомендациям приложенного документа. Там и примеры есть работающие.
Еще рекомендация - прежде чем загонять команды в скрипт - лучше их прогнать вручную, подавая на модуль через терминалку. И лишь когда все заработает, писать скрипт.


Спасибо большое за помощь!
Еще вопрос, есть ли разница писать проект модульно или в одном файле? И еще может вы знаете протокол по которому заливается откомпелированный файл *.pyo в модуль, хотелось бы чтоб все было в одно месте)
Спасибо!
АлексейX
Цитата(АлексейX @ Jan 13 2012, 18:06) *
Спасибо большое за помощь!
Еще вопрос, есть ли разница писать проект модульно или в одном файле? И еще может вы знаете протокол по которому заливается откомпелированный файл *.pyo в модуль, хотелось бы чтоб все было в одно месте)
Спасибо!


Добрый день, столкнулся с еще одной проблемой: прошиваю скомпелированный файл питон в модуль, а скомпелированный состоит из нескольких модулей, не запускается, а в отладке все работает, что может быть?
molecul
Цитата(АлексейX @ Jan 15 2012, 01:19) *
Добрый день, столкнулся с еще одной проблемой: прошиваю скомпелированный файл питон в модуль, а скомпелированный состоит из нескольких модулей, не запускается, а в отладке все работает, что может быть?

По поводу импорта модулей - спросил в Телите, будет ответ - сообщу.
molecul
Цитата(АлексейX @ Jan 15 2012, 01:19) *
Добрый день, столкнулся с еще одной проблемой: прошиваю скомпелированный файл питон в модуль, а скомпелированный состоит из нескольких модулей, не запускается, а в отладке все работает, что может быть?

Telit подтвердил возможность использования модулей в скриптах Python. Посему могу предложить лишь посмотреть сами коды на предмет ошибок.
АлексейX
Цитата(molecul @ Jan 17 2012, 09:02) *
Telit подтвердил возможность использования модулей в скриптах Python. Посему могу предложить лишь посмотреть сами коды на предмет ошибок.

Добрый день!
Спасибо за информацию, модули я использую, но есть ньюанс, для того, чтоб работал "откомпелированный" проек, в модуль нужно загрузить дополнительно все модули, если этого не сделать он не видит их.... тоесь есть отличие от *.exe если в него можно залить все библиотеки и модули, то в *.poy получается нельзя, тогда вопрос нафиг они нужны, если всравно все модули нужно заливать или я чего-то не понимаю..... но в практике работает именно так.....


Еще вопрос:
в ответе на команду AT+CREG=1 я получаю

*************
+CREG: 1,1

OK

10
,
1
2000
**************

вот кусок кода:
**************
res = MDM.send('AT+CREG?\r',10)
res = MDM.receive(TIMEOUT_CMD)
ind = res.find(',')
print res
print ind
print res[ind]
print res[ind+1]
if(ind != -1):
print 2000
if(res[ind+1] == '0'):
Debug_message('not registered, ME is not currently searching a new operator to register to')
elif(res[ind+1] == '1'):
Debug_message('registered, home network')
print 125
return 1
***********************

почему не выполняется код???:
*************************
elif(res[ind+1] == '1'):
Debug_message('registered, home network')
print 125
return 1
**************************

molecul
Цитата(АлексейX @ Jan 17 2012, 12:45) *
Добрый день!
Спасибо за информацию, модули я использую, но есть ньюанс, для того, чтоб работал "откомпелированный" проек, в модуль нужно загрузить дополнительно все модули, если этого не сделать он не видит их.... тоесь есть отличие от *.exe если в него можно залить все библиотеки и модули, то в *.poy получается нельзя, тогда вопрос нафиг они нужны, если всравно все модули нужно заливать или я чего-то не понимаю..... но в практике работает именно так.....


Еще вопрос:
в ответе на команду AT+CREG=1 я получаю

*************
+CREG: 1,1

OK

10
,
1
2000
**************

вот кусок кода:
**************
res = MDM.send('AT+CREG?\r',10)
res = MDM.receive(TIMEOUT_CMD)
ind = res.find(',')
print res
print ind
print res[ind]
print res[ind+1]
if(ind != -1):
print 2000
if(res[ind+1] == '0'):
Debug_message('not registered, ME is not currently searching a new operator to register to')
elif(res[ind+1] == '1'):
Debug_message('registered, home network')
print 125
return 1
***********************

почему не выполняется код???:
*************************
elif(res[ind+1] == '1'):
Debug_message('registered, home network')
print 125
return 1
**************************


Вот мой код, все работает:
import MDM
import SER
import MOD

#GLOBAL VAR
TIMEOUT_CMD = 10
#TIMEOUT_CONNECT = 100
#MY_ID = 'CLIENT_1'


#__MAIN__
SER.set_speed('115200')
res = MOD.sleep(300)
res = MDM.send('AT+CREG?\r',10)
res = MDM.receive(TIMEOUT_CMD)
ind = res.find(',')
print res
print ind
print res[ind]
print res[ind+1]
if (ind != -1) :
print 2000
if(res[ind+1] == '0'):
print 'not registered, ME is not currently searching a new operator to register to'
elif(res[ind+1] == '1'):
print 'registered, home network'
print 125

Результат:
+CREG: 0,1

OK

10
,
1
2000
registered, home network
125


Думаю, проблема в отсутствии табуляции в блоках после if и elif в вашей программе.

P.S. Форум знаки табуляции похоже режет, так что лучше исходные тексты отдельно пристегивать.
АлексейX
Цитата(molecul @ Jan 18 2012, 15:56) *
Вот мой код, все работает:
import MDM
import SER
import MOD

#GLOBAL VAR
TIMEOUT_CMD = 10
#TIMEOUT_CONNECT = 100
#MY_ID = 'CLIENT_1'


#__MAIN__
SER.set_speed('115200')
res = MOD.sleep(300)
res = MDM.send('AT+CREG?\r',10)
res = MDM.receive(TIMEOUT_CMD)
ind = res.find(',')
print res
print ind
print res[ind]
print res[ind+1]
if (ind != -1) :
print 2000
if(res[ind+1] == '0'):
print 'not registered, ME is not currently searching a new operator to register to'
elif(res[ind+1] == '1'):
print 'registered, home network'
print 125

Результат:
+CREG: 0,1

OK

10
,
1
2000
registered, home network
125


Думаю, проблема в отсутствии табуляции в блоках после if и elif в вашей программе.

P.S. Форум знаки табуляции похоже режет, так что лучше исходные тексты отдельно пристегивать.




Да табуляцию а проверил, я этот кода проверил на питоне под виндовс, там все работает!!!!
Вот еще вопрос:
После установке TCP\IP я пытаюсь отслать строку в порт MDM.send('Hello',10), соединение проходит корректно но на приемной стороне вместо Hello какие-то псевдосимволы приходят.... что это может быть? Я использовал документацию которую вы мне выслали с описанием TCP стека.......

АлексейX
Цитата(АлексейX @ Jan 20 2012, 12:42) *
Да табуляцию а проверил, я этот кода проверил на питоне под виндовс, там все работает!!!!
Вот еще вопрос:
После установке TCP\IP я пытаюсь отслать строку в порт MDM.send('Hello',10), соединение проходит корректно но на приемной стороне вместо Hello какие-то псевдосимволы приходят.... что это может быть? Я использовал документацию которую вы мне выслали с описанием TCP стека.......




Может у вас есть аська или еще что-нибудь, для более быстрого общения? Напишите, если можно...
АлексейX
Цитата(АлексейX @ Jan 20 2012, 15:38) *
Может у вас есть аська или еще что-нибудь, для более быстрого общения? Напишите, если можно...



Еще вопрос: сделал вроде проект, под дебагом работает, как прошиваю в модуль, так после установления соединения TCP\IP я делаю посылку MDM.send('Hello',0) , если в дебаге на удаленную сторону приходит 'Hello', если прошит проект в модуль то на удаленной стороне не 'Hello' а какой-то бред приходит и вот, что интересно идут не понятно откуда из модуля посылки по 300 байт и больше может быть куча нулей, а в первой такой посылку есть слово - internet все остальное почти все нули.....
В чем тут может быть дело?
molecul
Цитата(АлексейX @ Jan 20 2012, 17:10) *
Еще вопрос: сделал вроде проект, под дебагом работает, как прошиваю в модуль, так после установления соединения TCP\IP я делаю посылку MDM.send('Hello',0) , если в дебаге на удаленную сторону приходит 'Hello', если прошит проект в модуль то на удаленной стороне не 'Hello' а какой-то бред приходит и вот, что интересно идут не понятно откуда из модуля посылки по 300 байт и больше может быть куча нулей, а в первой такой посылку есть слово - internet все остальное почти все нули.....
В чем тут может быть дело?

Вообще говоря, гадать на кофейной гуще сложно... Лучше всего обратиться к официальному дистрибьютору Telit, у кого были приобретены модули. Вам быстро помогут, при необходимости с привлечением специалистов Telit. Если вы в России, напишите сюда, постараюсь вам помочь максимально оперативно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.