Как правильно упаковывать и развертывать приложение QiMessaging Service на роботе Pepper/Nao?

Я запутался в правильном процессе упаковки и развертывания приложения-службы для робота. Я использую Python.

  • Я прочитал этот документ, но он больше похож на руководство по созданию приложений.
  • С другой стороны, я попробовал робот-прыгун, который выглядит очень многообещающе. я использовал python jumpstart.py python-service my-package-name MyServiceName Команда для создания шаблона службы. Я мог открыть и установить Сервис через Choregraphe, но я не нашел инструмента CLI, чтобы сделать это. Более того, структура проекта выглядит иначе, чем robot-jumpstarter генерирует много кода. Я хочу начать с чего-то более простого и усложнить при необходимости.

Я хотел бы знать, что является правильным QiMessaging структура сервисного проекта и способы упаковки и развертывания на роботе с помощью инструментов CLI. Сейчас я загружаю услуги с autoload.ini,

Изменить: я нашел это руководство.

1 ответ

Решение

Я сделал робот-джампстартер, и да, у него есть довольно много стандартного кода, чтобы облегчить отладку и т. Д.

Если вы хотите использовать простой сервис, то как это описать в сервисе qimessaging в документации; Есть также учебник, который вы уже нашли, который охватывает это, а также, как использовать qipkg, который действительно является стандартным способом командной строки для упаковки сервиса. Примеры, приведенные в этих двух документах, действительно настолько просты, насколько это возможно.

Минимальной структурой должны быть файл manifest.xml, файл.pml и ваш скрипт на python (и, возможно, значок для пакета; по крайней мере, настоятельно рекомендуется, чтобы приложения без значков выглядели ужасно).

Вы также должны знать, что:

  • Слово "сервис" может относиться либо к сервису NAOqi (который регистрирует, который вы можете вызвать с помощью qicli и т. д. и которым управляет сервис ServiceDirectory), либо к сервису systemd, который в основном является автономным процессом (который может или может не содержать службу NAOqi), которой управляет ALServiceManager
  • часто, когда кто-то создает приложение NAOqi на Python, основной код приложения находится в одной или нескольких службах NAOqi, содержащихся в пакете приложения ("application" и "service" не являются взаимоисключающими категориями)
Другие вопросы по тегам