Перейти к содержанию
    

Дабы не плодить темы, спрошу здесь.

 

Начал разбираться со встроенным интерпретатором Python на модулях Telit GL868. Вроде бы, путем какого-то шаманства, что-то стало получаться, но...

 

Проблемы есть следующие:

 

1. Если заливать в модуль "не скомпилированную" версию скрипта, все работает как надо, но стартует при этом с задержкой больше минуты (скриптик на 3 кб, одним файлом).

 

2. Если же заливать "скомпилированную" версию, то скрипт вообще не запускается. Точнее, один раз у меня получилось сделать так, чтобы он запускался (и при этом не было задержки исполнения), но повторить больше не удается.

 

Хотелось бы услышать мнение представителя фирмы - стоит ли вообще связываться с этой возможностью? Первое впечатление возникло не самое приятное... Вроде бы и руки не самые кривые, но стабильной работы добиться пока так и не удалось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дабы не плодить темы, спрошу здесь.

 

Начал разбираться со встроенным интерпретатором Python на модулях Telit GL868. Вроде бы, путем какого-то шаманства, что-то стало получаться, но...

 

Проблемы есть следующие:

 

1. Если заливать в модуль "не скомпилированную" версию скрипта, все работает как надо, но стартует при этом с задержкой больше минуты (скриптик на 3 кб, одним файлом).

 

2. Если же заливать "скомпилированную" версию, то скрипт вообще не запускается. Точнее, один раз у меня получилось сделать так, чтобы он запускался (и при этом не было задержки исполнения), но повторить больше не удается.

 

Хотелось бы услышать мнение представителя фирмы - стоит ли вообще связываться с этой возможностью? Первое впечатление возникло не самое приятное... Вроде бы и руки не самые кривые, но стабильной работы добиться пока так и не удалось.

Вообще говоря, если скрипт работает, то работает стабильно. Наиболее частая ошибка - это название скрипта. Некомпилированный скрипт должен иметь расширение .py, а компилированный - .pyo. Кроме того, в названии не должно быть пробелов, звездочек и других спецсимволов.

От скрипта нельзя требовать невозможного - там не поддерживаются операции с плавающей точкой (во всяком случае в текущей версии), многопоточность и пр. В принципе, если вы написали скрипт, но он работает некорректно, то можете связаться с техподдержкой дистрибьютора и попросить сделать его анализ. Telit производит это бесплатно и дает свои рекомендации по оптимизации работы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще говоря, если скрипт работает, то работает стабильно. Наиболее частая ошибка - это название скрипта. Некомпилированный скрипт должен иметь расширение .py, а компилированный - .pyo. Кроме того, в названии не должно быть пробелов, звездочек и других спецсимволов.

От скрипта нельзя требовать невозможного - там не поддерживаются операции с плавающей точкой (во всяком случае в текущей версии), многопоточность и пр. В принципе, если вы написали скрипт, но он работает некорректно, то можете связаться с техподдержкой дистрибьютора и попросить сделать его анализ. Telit производит это бесплатно и дает свои рекомендации по оптимизации работы.

Вроде бы поборол проблему. Оказалось, скрипт компилировался другой версией питона (помимо штатного набора софта от Telit в системе был установлен официальный релиз Python 2.7).

 

Какой командой компилируются скрипты при вызове пункта Compile из контекстного меню?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересует еще вот какой вопрос - какой величиной ограничен размер одного скрипта, загруженного в модуль? В официальной документации я этой цифры не нашел - означает ли это, что размер ограничен только доступной памятью?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересует еще вот какой вопрос - какой величиной ограничен размер одного скрипта, загруженного в модуль? В официальной документации я этой цифры не нашел - означает ли это, что размер ограничен только доступной памятью?

 

Вообщето когда работал с питоном в официальных документах от Telit (easy script in python - както так он назывался) встречал рекомендации не заливать файлы более 16 килобайт. А более крупные дробить на файлы помельче. Иначе падает скорость запуска скрипта.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересует еще вот какой вопрос - какой величиной ограничен размер одного скрипта, загруженного в модуль? В официальной документации я этой цифры не нашел - означает ли это, что размер ограничен только доступной памятью?

Внимательней читайте документацию:

The recommended dimension of the compiled file .pyo should be <16KByte

Telit_Easy_Script_Python_r13.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Работаю сейчас с Телитом 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.

В терминале приходит вот что

post-74999-1371635665_thumb.png

 

 

Телитовский пример тестирования SER также не работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понимаю, что у меня ошибка при импортировании SER. Но в ПитонВин я перехожу в эту библиотеку из моего скрипта без проблем, да и ни где ни каких рекомендаций нет по её импорту.

Изменено пользователем Ruslan-maniak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте Руслан,

для корректной работы с физическими портами UART, сначала нужно настроить параметры работы с ними, попробуйте такой пример, он работает корректно:

import MOD

import SER

 

print 'Test UART\r'

 

SER.set_speed('115200','8N1') /// Настройка порта ASC0

 

while 1:

MOD.sleep(5)

a = SER.send('TEST\r\n')

print '%d\r' % a

 

Желаю удачи!

Изменено пользователем Telit_Sprt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понимаю, что у меня ошибка при импортировании 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()

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возникла необходимость реализации алгоритма AES128 на модуле GL868 (865). Написал скрипт на мнемонике питона - поразила очень медленная скорость его выполнения - 1 блок (16 байт) обрабатывался в течении 4х секунд! Что на два порядка превышало необходимую мне скорость! Обратился за помощью к Telit - отправил свой скрипт. Однако представители техподдержки даже не удосужились его посмотреть - сплошные отписки... и отсылки старой документации по питона 1.5.2. Далее узнал, что в последних версиях прошивки GL868 - реализован шифрованный канал передачи данных SSL/TLS с использование AES256.  Снова обратился к Телит с просьбой переложить часть нативного шитого си-кода этого алгоритма в прошивку GL-868 - поскольку все быстрые модули в Питоне реализованы через си. Однако и в этом случае Телит отказал в помощи. Вся их переписка со мной сводилась к предложению приобрести новый 3G-модуль... 

На мои просьбы предоставить исходники и компиляторы под данный процессор для возможности самостоятельного портирования нужного мне модуля Телит так же ответил отказом (не смотря на то, что данные модули уже сняты с производства)...

На данный проект я потратил очень много времени и сил, и было очень обидно когда все уперлось в AES128. А "специалисты" которые призваны помогать в решении подобных проблем остались безучастны к моей просьбе...

Прошу Вас донести данный пост до директора компании Telit!

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возникла необходимость реализации алгоритма AES128 на модуле GL868 (865). Написал скрипт на мнемонике питона - поразила очень медленная скорость его выполнения - 1 блок (16 байт) обрабатывался в течении 4х секунд! Что на два порядка превышало необходимую мне скорость! Обратился за помощью к Telit - отправил свой скрипт. Однако представители техподдержки даже не удосужились его посмотреть - сплошные отписки... и отсылки старой документации по питона 1.5.2. Далее узнал, что в последних версиях прошивки GL868 - реализован шифрованный канал передачи данных SSL/TLS с использование AES256.  Снова обратился к Телит с просьбой переложить часть нативного шитого си-кода этого алгоритма в прошивку GL-868 - поскольку все быстрые модули в Питоне реализованы через си. Однако и в этом случае Телит отказал в помощи. Вся их переписка со мной сводилась к предложению приобрести новый 3G-модуль... 

На мои просьбы предоставить исходники и компиляторы под данный процессор для возможности самостоятельного портирования нужного мне модуля Телит так же ответил отказом (не смотря на то, что данные модули уже сняты с производства)...

На данный проект я потратил очень много времени и сил, и было очень обидно когда все уперлось в AES128. А "специалисты" которые призваны помогать в решении подобных проблем остались безучастны к моей просьбе...

Прошу Вас донести данный пост до директора компании Telit!

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

56 minutes ago, Dima83 said:

Прошу Вас донести данный пост до директора компании Telit!

Объявите ему выговор с занесением в трудовую книжку и лишите его премии за 2020 год.

Если не поможет, то растрел на рабочем месте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...