Как правильно упаковывать и развертывать приложение 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" не являются взаимоисключающими категориями)