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

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

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

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

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


person dim    schedule 10.08.2018    source источник


Ответы (1)


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

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

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

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

  • слово «служба» может относиться либо к службе NAOqi (которая регистрируется, которую вы можете вызывать с помощью qicli и т. д. и которая управляется службой ServiceDirectory), либо к службе systemd< /em>, который в основном представляет собой автономный процесс (который может содержать или не содержать службу NAOqi), которым управляет ALServiceManager.
  • часто, когда кто-то создает приложение NAOqi на Python, основной код приложения находится в одной или нескольких службах NAOqi, содержащихся в пакете приложения («приложение» и «служба» не являются взаимоисключающими категориями)
person Emile    schedule 11.08.2018