|
Telit GL868 прошивка, прошивка |
|
|
|
Jan 11 2012, 14:29
|
Группа: Участник
Сообщений: 10
Регистрация: 11-01-12
Пользователь №: 69 290

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

Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326

|
Цитата(АлексейX @ Jan 11 2012, 18:29)  Добрый день! [/color] Возможно уже где-то здесь освещалась эта тема, но я не нашел... Вопрос у меня следующий, где можно найти протокол прошивки скриптов *.pyo а если возможно то и firmware, было бы вообще замечательно, обясню, есть свое прикладное приложение для работы с различными GSM модулями, так же встроен функционал для Telit, не хечется постоянно прыгать с одного приложения на другое, чтоб освободить COM порт и что то сделать... Еще вопрос маленький, каким образом в модуль заностяся пользовательские настройки, напримет точка доступа APN и т.д.
Заранее спасибо!!![color="#0000FF"] По вопросу заливки скриптов - все делается AT командами. Раздел 3.5.7.11 приложенного документа. Есть готовый комплект утилит для работы с Питоном из-под Windows, но многие предпочитают написать свою утилиту, ибо протокол открытый. По поводу сохранения пользовательских настроек - все тоже описано в прилагаемом документе. Конкретно касательно APN, то это команда +CGDCONT, ее параметры сохраняются в энергонезависимой памяти.
|
|
|
|
|
Jan 12 2012, 07:33
|
Группа: Участник
Сообщений: 10
Регистрация: 11-01-12
Пользователь №: 69 290

|
Цитата(molecul @ Jan 12 2012, 09:52)  По вопросу заливки скриптов - все делается AT командами. Раздел 3.5.7.11 приложенного документа. Есть готовый комплект утилит для работы с Питоном из-под Windows, но многие предпочитают написать свою утилиту, ибо протокол открытый. По поводу сохранения пользовательских настроек - все тоже описано в прилагаемом документе. Конкретно касательно APN, то это команда +CGDCONT, ее параметры сохраняются в энергонезависимой памяти. Добрый день! Я наверное не совсем понятно написал, но вопрос следующий мне нужен протокол по которому прошивается именно файл *.pyo (НЕ *.py) в модуль, я нигде этой информации не нашел, вы говорите, что протокол открытый, ткните меня слепого туда где он открыт.... На счет сохранения настроек: допустим есть настройка как идентификатор устройства или тайм-аут, касаемый только моего протокола работы и эти настройки не известны мне заранее, их ставит клиент, так как прошивку я клиенту отдать не могу, он каким-то образом должен сделать настройки... куда их писать??? Спасибо!
|
|
|
|
|
Jan 12 2012, 09:05
|

Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326

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

|
Цитата(molecul @ Jan 12 2012, 13:05)  При помощи указанных мною AT команд можно залить в модуль вообще любой файл (ну, естественно, с ограничениями по размеру). Некоторые так и делают - в память, рассчитанную на скрипты, заливают информацию в своем формате. В результате получается удобное хранилище файлов. В том числе и настройки можно туда писать. Единственное что не рекомендуется - запускать полученный файл как скрипт, результаты будут непредсказуемыми  Спасибо! У меня была такая же мысль, а вы меня еще и убедили в этом. Еще вопрос, мое приложение заставляет модуль соединиться с сервером по TCP\IP , и вот какая штука, если я запускаю скрипт в дебаге то соединения не происходит, если я прошиваю скрипт в модуль, то соединение есть, но при отсылке какой-либо последовательности, на удаленную сторону приходит мусор.... Пытаюсь отправить смс, не в дебаге не в модуле смс не отправляется...
|
|
|
|
|
Jan 12 2012, 13:14
|

Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326

|
Цитата(АлексейX @ Jan 12 2012, 15:07)  Спасибо! У меня была такая же мысль, а вы меня еще и убедили в этом. Еще вопрос, мое приложение заставляет модуль соединиться с сервером по TCP\IP , и вот какая штука, если я запускаю скрипт в дебаге то соединения не происходит, если я прошиваю скрипт в модуль, то соединение есть, но при отсылке какой-либо последовательности, на удаленную сторону приходит мусор.... Пытаюсь отправить смс, не в дебаге не в модуле смс не отправляется... Дебаг режим - имеется в виду отладка с компьютера через Telit Python Package? Тогда там не будет работать ни смс, ни передача данных, поскольку все это всего лишь эмулируется на компьютере. Если требуется отладка реальной передачи данных, то нужно делать отладочный вывод прямо из скрипта, можно на второй UART, если первый занят. Почему не отправляется из скрипта - пришлите скрипт мне, я посмотрю правильность либо отправлю в Телит для анализа, если сам не увижу ошибок.
|
|
|
|
|
Jan 13 2012, 10:34
|
Группа: Участник
Сообщений: 10
Регистрация: 11-01-12
Пользователь №: 69 290

|
Цитата(molecul @ Jan 12 2012, 17:14)  Дебаг режим - имеется в виду отладка с компьютера через Telit Python Package? Тогда там не будет работать ни смс, ни передача данных, поскольку все это всего лишь эмулируется на компьютере. Если требуется отладка реальной передачи данных, то нужно делать отладочный вывод прямо из скрипта, можно на второй UART, если первый занят. Почему не отправляется из скрипта - пришлите скрипт мне, я посмотрю правильность либо отправлю в Телит для анализа, если сам не увижу ошибок. Добрый день! В прилагаемом файле скрипт, буду очень благодарен если укажете на допущенный мной ошибки) Спасибо! Цитата(АлексейX @ Jan 13 2012, 14:32)  Добрый день! В прилагаемом файле скрипт, буду очень благодарен если укажете на допущенный мной ошибки) Спасибо! Извините вот он...
test.zip ( 1.42 килобайт )
Кол-во скачиваний: 159
|
|
|
|
|
Jan 13 2012, 12:49
|

Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326

|
Цитата(АлексейX @ Jan 13 2012, 14:34)  Добрый день! В прилагаемом файле скрипт, буду очень благодарен если укажете на допущенный мной ошибки) Спасибо! Извините вот он...
test.zip ( 1.42 килобайт )
Кол-во скачиваний: 159Что сразу вижу - отправка SMS работать не будет. По умолчанию модуль работает в режиме PDU, а вы пытаетесь в текстовом режиме передать. Необходимо подать при инициализации команду AT+CMGF=1 И все должно заработать. Касательно TCP/IP, почему то вы используете устаревшие команды TCP/IP стека. Рекомендую полностью переписать скрипт, следуя рекомендациям приложенного документа. Там и примеры есть работающие. Еще рекомендация - прежде чем загонять команды в скрипт - лучше их прогнать вручную, подавая на модуль через терминалку. И лишь когда все заработает, писать скрипт.
Сообщение отредактировал molecul - Jan 13 2012, 13:03
|
|
|
|
|
Jan 13 2012, 14:06
|
Группа: Участник
Сообщений: 10
Регистрация: 11-01-12
Пользователь №: 69 290

|
Цитата(molecul @ Jan 13 2012, 16:49)  Что сразу вижу - отправка SMS работать не будет. По умолчанию модуль работает в режиме PDU, а вы пытаетесь в текстовом режиме передать. Необходимо подать при инициализации команду AT+CMGF=1 И все должно заработать.
Касательно TCP/IP, почему то вы используете устаревшие команды TCP/IP стека. Рекомендую полностью переписать скрипт, следуя рекомендациям приложенного документа. Там и примеры есть работающие. Еще рекомендация - прежде чем загонять команды в скрипт - лучше их прогнать вручную, подавая на модуль через терминалку. И лишь когда все заработает, писать скрипт. Спасибо большое за помощь! Еще вопрос, есть ли разница писать проект модульно или в одном файле? И еще может вы знаете протокол по которому заливается откомпелированный файл *.pyo в модуль, хотелось бы чтоб все было в одно месте) Спасибо!
|
|
|
|
|
Jan 14 2012, 21:19
|
Группа: Участник
Сообщений: 10
Регистрация: 11-01-12
Пользователь №: 69 290

|
Цитата(АлексейX @ Jan 13 2012, 18:06)  Спасибо большое за помощь! Еще вопрос, есть ли разница писать проект модульно или в одном файле? И еще может вы знаете протокол по которому заливается откомпелированный файл *.pyo в модуль, хотелось бы чтоб все было в одно месте) Спасибо! Добрый день, столкнулся с еще одной проблемой: прошиваю скомпелированный файл питон в модуль, а скомпелированный состоит из нескольких модулей, не запускается, а в отладке все работает, что может быть?
|
|
|
|
|
Jan 17 2012, 08:45
|
Группа: Участник
Сообщений: 10
Регистрация: 11-01-12
Пользователь №: 69 290

|
Цитата(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 **************************
|
|
|
|
|
Jan 18 2012, 11:56
|

Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326

|
Цитата(Алексей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. Форум знаки табуляции похоже режет, так что лучше исходные тексты отдельно пристегивать.
Сообщение отредактировал molecul - Jan 18 2012, 11:57
|
|
|
|
|
Jan 20 2012, 08:42
|
Группа: Участник
Сообщений: 10
Регистрация: 11-01-12
Пользователь №: 69 290

|
Цитата(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 стека.......
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|