[2015/11/19] Comment enregistrer un service localement à l'aide du SDK python avec naoqi os

Obtenez un compte ADE

https://www.aldebaran.com/ja Veuillez créer un compte sur le site ci-dessus. Si vous avez du poivre, je pense que vous l'avez déjà. Si vous n'en avez pas, veuillez l'obtenir.

Participation au programme développeur

https://community.aldebaran.com/ja/developerprogram Inscrivez-vous au programme du développeur. ss1.png

Obtenez le SDK

https://community.aldebaran.com/en/resources/software Téléchargez le SDK qui convient à votre environnement actuel. Nom de la version du SDK Python 2.7 Nom du système d'exploitation Numéro de bit Exemple: Mon environnement est ubuntu 64bit et la version pepper est 2.4.2, donc C'est comme [Python 2.7 SDK 2.4.2 Linux 64].

ss2.png

Construire un environnement python (facultatif)

Facultatif pour créer un environnement python. Parce que Cela est dû au fait que les systèmes d'exploitation autres que Windows ont la version SDK requise pour cet article installée par défaut.

Si vous avez déjà construit un système python 3.x ou un autre environnement pour l'apprentissage automatique ou le calcul scientifique, Je pense que pyenv est inclus, mais je vais lier l'article ci-dessous.

Création d'un environnement Python sur un Mac à l'aide de pyenv

Installation du module python naoqi & qi

Ci-dessous, les matériaux officiels Python SDK - Installation Guide

Puisque vous travaillerez dans le terminal, définissez l'environnement. Editeur: emacs (je pense qu'il y a vi, nano, etc.) OS: Mac (presque la même chose pour Linux)

Téléchargez pynaoqi-python2.7-2.4.2.26-mac64 à partir du site et de la méthode ci-dessus. Je pense qu'il est au format zip, alors décompressez-le dans votre répertoire préféré.

Démarrez le terminal et ajoutez ce qui suit à ~ / .bash_profile avec divers éditeurs.

$ export PYTHONPATH=${PYTHONPATH}:/path/to/python-sdk $ export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/path/to/python-sdk

La partie de / path / to / python-sdk n'est pas telle qu'elle est, je viens de la télécharger et de la décompresser. Le chemin d'accès au répertoire.

Lancez le terminal et vérifiez l'importation $ source .bash_profile $ python >>> import qi >>> import naoqi S'il n'y a pas de problème, passez au suivant.

Site recommandé pour les utilisateurs de Windows Apple (Japon)

Installez qibuild

qiBuild documentation - Getting started ・ Que préparer

  1. chemin vers le bac cmake $ which cmake Veuillez l'obtenir.

-Installer avec pip. $ sudo pip install qibuild

\ $ qibuild config - crée un fichier de configuration avec l'assistant Au tout début, on vous demandera le chemin vers la corbeille de cmake, mais sinon il vaut mieux choisir 1. ss3.png

・ Contrôle de fonctionnement $ qibuild --version qibuild version 3.10.1 Using Python code from /usr/local/lib/python2.7/dist-packages Using CMake code from /usr/local/share/cmake

Essayez de faire un service

Python - How to write a qimessaging service Enfin le sujet principal. Peut être utilisé localement avec les applications et les dialogues de pepper tels que ^ pCall et call Enregistrons le service.

myfooservice.py


import qi
import sys

class MyFooService:
  def __init__(self, session):
    print "hello,"

  def bang(self):
    return "world"

def main():
    # Create and Start the Application
    app = qi.ApplicationSession(sys.argv)
    app.start()

    # Get the Session
    session = app.session

    # Create the Service
    mf = MyFooService(session)

    # Register It
    session.registerService("MyFooService", mf)

    # Run the Application
    app.run()

if __name__ == "__main__":
    main()


Inscrivez-vous pour pepper on LAN depuis l'environnement local

Oui, dans la section précédente, vous avez créé avec succès un fichier python qui sera le chef-d'œuvre du service. Tout ce que vous avez à faire est de vous inscrire. Ce dont vous avez besoin ci-dessous.

  1. adresse IP ou domaine de Pepper (192.168.0.x ou pepper1.local)
  2. Mot de passe SSH réel de la machine Accédez au répertoire du fichier que vous avez créé précédemment.

$ cd /path/to/sakki/no/faile/myfooservice.py \ $ python myfooservice.py --qi-url = tcp: //pepper1.local (ou 192.168.0.11)

Ensuite, je pense que cela ressemblera à ce qui suit. ss4.png

Je me demande si vous pouvez dire cela, mais qu'en est-il?

Contrôle de fonctionnement sur la machine réelle

Vérifions pourquoi il peut être utilisé dans la machine réelle. Ce dont vous avez besoin ci-dessous

  1. adresse IP ou domaine de Pepper (192.168.0.x ou pepper1.local)
  2. Mot de passe SSH réel de la machine

Connectez-vous avec ssh. $ ssh [email protected]

Assurez-vous que le service est correctement enregistré. $ qicli info MyFooService $ qicli call MyFooService.bang

ss7.png

la fin

C'est tout. La prochaine fois, j'écrirai comment incorporer le service dans une application réelle et l'exécuter. Si vous avez des questions, laissez un commentaire.

Recommended Posts

[2015/11/19] Comment enregistrer un service localement à l'aide du SDK python avec naoqi os
Utilisation du SDK NAOqi 2.4.2 Python avec Mac OS X El Capitan
[Hyperledger Iroha] Remarques sur l'utilisation du SDK Python
Comment créer un environnement Python à l'aide de Virtualenv sur Ubuntu 18.04 LTS
[Circuit x Python] Comment trouver la fonction de transfert d'un circuit en utilisant Lcapy
Réfléchissez à la programmation de Python sur votre iPad
Comment écrire une interface graphique à l'aide de la commande maya
Comment configurer un environnement Python à l'aide de pyenv
[AWS IoT] Enregistrer des éléments dans AWS IoT à l'aide du SDK AWS IoT Python
Comment créer un environnement Django (python) sur Docker
Comment créer un package Python à l'aide de VS Code
[Introduction à Python] Comment arrêter la boucle en utilisant break?
Comment exécuter une commande à l'aide d'un sous-processus en Python
Comment profiter de Python sur Android !! Programmation en déplacement !!
Comment créer un environnement Python sur Amazon Linux 2
Comment définir un dossier partagé avec le système d'exploitation hôte dans CentOS7 sur Virtual BOX
Comment s'inscrire auprès de pypi
Comment tester unitaire une fonction contenant l'heure actuelle à l'aide de Freezegun en Python
Comment exécuter un modèle de transformateur entraîné localement sur CloudTPU
Comment créer un nouvel environnement virtuel Python sur Ubuntu
Comment utiliser la méthode __call__ dans la classe Python
Essayez une recherche similaire de recherche d'images à l'aide du SDK Python [Recherche]
Comment transloquer un tableau à deux dimensions en utilisant uniquement python [Note]
Comment déployer Pybot, le manuel Python le plus simple, sur Heroku
Comment générer une requête à l'aide de l'opérateur IN dans Django
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment enregistrer un package dans PyPI (à partir de septembre 2017)
Comment connaître le nombre de GPU de python ~ Remarques sur l'utilisation du multitraitement avec pytorch ~
Comment dessiner facilement la structure d'un réseau de neurones sur Google Colaboratory à l'aide de "convnet-tiroir"
Comment installer Python à l'aide d'Anaconda
Comment obtenir la version Python
Contrôlez le moteur avec un pilote de moteur en utilisant python sur Raspberry Pi 3!
Comment déterminer l'existence d'un élément sélénium en Python
Comment modifier le niveau de journalisation d'Azure SDK pour Python
Remarque sur la façon de vérifier la connexion au port du serveur de licences
[Introduction à Python] Comment fractionner une chaîne de caractères avec la fonction split
Est-il facile de synthétiser un médicament sur le marché?
Comment obtenir des abonnés et des abonnés de Python à l'aide de l'API Mastodon
Comment vérifier la taille de la mémoire d'une variable en Python
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
J'ai essayé d'enregistrer une station sur la plateforme IoT "Rimotte"
Comment mettre à jour une source de données de classeur packagée Tableau à l'aide de Python
Comment mettre à jour la version Python de Cloud Shell dans GCP
Comment envoyer une requête à l'API DMM (FANZA) avec python
Comment installer Theano sur Mac OS X 10.10 (en utilisant pyenv, anaconda)
[Python] J'ai essayé de créer un programme simple qui fonctionne sur la ligne de commande en utilisant argparse
Comment générer un nouveau groupe de journaux dans CloudWatch à l'aide de python dans Lambda
Comment diviser et traiter une trame de données à l'aide de la fonction groupby
[Python] Qu'est-ce qu'un argument formel? Comment définir la valeur initiale
Comment exécuter le code pratique du livre "Making Profitable AI with Python" sur Google Colaboratory
Comment lire pydoc sur l'interpréteur python
[Python] Comment rendre une classe itérable
Comment dessiner un graphique avec Matplotlib
[Kivy] Comment installer Kivy sur Windows [Python]
[Python] Comment convertir une liste bidimensionnelle en liste unidimensionnelle
[Python] Explique comment utiliser la fonction range avec un exemple concret
[Introduction à Python] Comment trier efficacement le contenu d'une liste avec le tri par liste