|
Python в Telit. |
|
|
|
Feb 21 2012, 13:26
|

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

|
Дабы не плодить темы, спрошу здесь.
Начал разбираться со встроенным интерпретатором Python на модулях Telit GL868. Вроде бы, путем какого-то шаманства, что-то стало получаться, но...
Проблемы есть следующие:
1. Если заливать в модуль "не скомпилированную" версию скрипта, все работает как надо, но стартует при этом с задержкой больше минуты (скриптик на 3 кб, одним файлом).
2. Если же заливать "скомпилированную" версию, то скрипт вообще не запускается. Точнее, один раз у меня получилось сделать так, чтобы он запускался (и при этом не было задержки исполнения), но повторить больше не удается.
Хотелось бы услышать мнение представителя фирмы - стоит ли вообще связываться с этой возможностью? Первое впечатление возникло не самое приятное... Вроде бы и руки не самые кривые, но стабильной работы добиться пока так и не удалось.
--------------------
Good News Everyone!
|
|
|
|
|
Feb 21 2012, 13:46
|

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

|
Цитата(Pavel V. @ Feb 21 2012, 17:26)  Дабы не плодить темы, спрошу здесь.
Начал разбираться со встроенным интерпретатором Python на модулях Telit GL868. Вроде бы, путем какого-то шаманства, что-то стало получаться, но...
Проблемы есть следующие:
1. Если заливать в модуль "не скомпилированную" версию скрипта, все работает как надо, но стартует при этом с задержкой больше минуты (скриптик на 3 кб, одним файлом).
2. Если же заливать "скомпилированную" версию, то скрипт вообще не запускается. Точнее, один раз у меня получилось сделать так, чтобы он запускался (и при этом не было задержки исполнения), но повторить больше не удается.
Хотелось бы услышать мнение представителя фирмы - стоит ли вообще связываться с этой возможностью? Первое впечатление возникло не самое приятное... Вроде бы и руки не самые кривые, но стабильной работы добиться пока так и не удалось. Вообще говоря, если скрипт работает, то работает стабильно. Наиболее частая ошибка - это название скрипта. Некомпилированный скрипт должен иметь расширение .py, а компилированный - .pyo. Кроме того, в названии не должно быть пробелов, звездочек и других спецсимволов. От скрипта нельзя требовать невозможного - там не поддерживаются операции с плавающей точкой (во всяком случае в текущей версии), многопоточность и пр. В принципе, если вы написали скрипт, но он работает некорректно, то можете связаться с техподдержкой дистрибьютора и попросить сделать его анализ. Telit производит это бесплатно и дает свои рекомендации по оптимизации работы.
|
|
|
|
|
Feb 25 2012, 13:53
|

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

|
Цитата(molecul @ Feb 21 2012, 17:46)  Вообще говоря, если скрипт работает, то работает стабильно. Наиболее частая ошибка - это название скрипта. Некомпилированный скрипт должен иметь расширение .py, а компилированный - .pyo. Кроме того, в названии не должно быть пробелов, звездочек и других спецсимволов. От скрипта нельзя требовать невозможного - там не поддерживаются операции с плавающей точкой (во всяком случае в текущей версии), многопоточность и пр. В принципе, если вы написали скрипт, но он работает некорректно, то можете связаться с техподдержкой дистрибьютора и попросить сделать его анализ. Telit производит это бесплатно и дает свои рекомендации по оптимизации работы. Вроде бы поборол проблему. Оказалось, скрипт компилировался другой версией питона (помимо штатного набора софта от Telit в системе был установлен официальный релиз Python 2.7). Какой командой компилируются скрипты при вызове пункта Compile из контекстного меню?
--------------------
Good News Everyone!
|
|
|
|
|
Feb 29 2012, 13:21
|

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

|
Цитата(Pavel V. @ Feb 29 2012, 15:56)  Интересует еще вот какой вопрос - какой величиной ограничен размер одного скрипта, загруженного в модуль? В официальной документации я этой цифры не нашел - означает ли это, что размер ограничен только доступной памятью? Внимательней читайте документацию: The recommended dimension of the compiled file .pyo should be <16KByte
|
|
|
|
|
Jun 19 2013, 10:22
|
Частый гость
 
Группа: Участник
Сообщений: 92
Регистрация: 27-12-12
Из: Томск
Пользователь №: 74 999

|
Работаю сейчас с Телитом GL-865. Пытаюсь работать с помощью скриптов на Питоне. Однако ничего не получается кроме команды PRINT, которая передаёт строку во второй УАРТ. Записываю скомпиленный вот такой код. Код import MDM import SER import MOD print 'start'
a = SER.send('sdg') print a print 'OK' MOD.sleep(10) По идеи команда SER.send должна передавать в первый УАРТ строку 'sdg'. Но этого не проиходит. Приходит только на второй УАРТ 'start', '1' (отсутствие ошибки отправки) и 'OK'. Что я делаю не так? Основываюсь на документе Телитовском документе Easy Script in Python. В терминале приходит вот что
Телитовский пример тестирования SER также не работает
|
|
|
|
|
Jun 29 2013, 23:53
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 15-04-10
Из: Kiev
Пользователь №: 56 654

|
Цитата(Ruslan-maniak @ Jun 20 2013, 07:57)  Я так понимаю, что у меня ошибка при импортировании SER. Но в ПитонВин я перехожу в эту библиотеку из моего скрипта без проблем, да и ни где ни каких рекомендаций нет по её импорту. При отладке скриптов результат команды print выводится во второй порт (не очень удобно, т.к. загрузка скриптов происходит по первому порту. В сети рекомендуют множество вариантов для перенаправления вывода print на первый порт, например import SER import sys speed = SER.set_speed('115200') class SerWriter: def write(self,s): SER.send(s+'\r') sys.stdout = sys.stderr = SerWriter() но иногда этот метод не срабатывает. Причина может быть в том, что нужно выключить режим виртуализации портов: import SER import sys import MDM res = MDM.send('AT#CMUXSCR=0,115200\r',2) speed = SER.set_speed('115200') class SerWriter: def write(self,s): SER.send(s+'\r') sys.stdout = sys.stderr = SerWriter()
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|