Lors du stockage ou de la récupération d'informations dans Pepper, [ALMemory](http://qiita.com/Atelier-Akihabara/items/4162192129f366da1240#almemory%E3%82%92%E4%BB%8B% E3% 81% 97% E3% 81% 9F% E3% 82% A4% E3% 83% 99% E3% 83% B3% E3% 83% 88% E5% 80% A4% E3% 81% AE% E5% 8F% 96% E5% BE% 97) est la voie royale, mais lorsque vous pensez à enregistrer un texte légèrement plus grand avec une application et à l'extraire avec un PC de développement, le fichier est plus pratique. Il y a aussi.
En tant que processus dans un tel cas, j'ai créé une boîte pour écrire un fichier texte et essayé d'extraire le fichier de Pepper vers l'environnement local, j'ai donc pris une note.
La boîte se trouve dans le répertoire web-boxes
de https://github.com/yacchin1205/pepper-web-boxes.
Clonez ou téléchargez le fichier ZIP, [Load Box Library](http://qiita.com/Atelier-Akihabara/items/db907ed319b8af0984db#%E3%83%9C%E3%83%83%E3%82% AF% E3% 82% B9% E3% 83% A9% E3% 82% A4% E3% 83% 96% E3% 83% A9% E3% 83% AA% E3% 81% AE% E8% AA% AD% Vous pouvez l'utiliser en chargeant la bibliothèque de boîtes selon la procédure de E3% 81% BF% E8% BE% BC% E3% 81% BF).
La boîte créée se trouve dans le dossier ʻIO` de la bibliothèque de boîtes et ressemble à ce qui suit. Y a-t-il quelque chose comme un outil de génération de documents boîte quelque part ...
Écrivez le texte dans un fichier.
Saisissez le texte que vous souhaitez exporter. Lorsque cette entrée se déclenche, elle écrit la chaîne entrée dans le fichier spécifié par le paramètre File path décrit ci-dessous.
Sortie lorsque l'exportation est réussie.
Lorsque l'écriture échoue, une chaîne de caractères indiquant le contenu de l'erreur est générée.
Spécifiez le chemin du fichier texte à lire. Il est créé en fonction du répertoire actuel dans lequel le comportement s'exécute.
Spécifie le codage des caractères du fichier texte à lire. La valeur par défaut est ʻutf8`. Veuillez consulter http://docs.python.jp/2.7/library/codecs.html pour connaître le type de valeur pouvant être spécifié.
Ce n'est pas cette zone d'écriture de texte, mais je suis tombé amoureux du piège Unicode avec le code suivant dans la zone de lecture de texte que j'ai créée avec.
with codecs.open(self.getParameter("File path"), "r", self.getParameter("Encoding")) as f:
text = f.read()
self.onStopped(text.encode("utf8"))
J'ai spécifié chaîne de caractères
comme type de onStopped, mais si je donne la chaîne de caractères de type unicode obtenue par read ()
telle qu'elle est comme argument, None
est passé à l'entrée suivante. Cela semble finir.
J'ai écrit du code de test, mais quand je dis String dans la documentation de Choregraphe, il semble que seul le type str de Python soit pris en compte et que le type unicode ne puisse pas être traité. Pour le moment, je l'ai évité en le donnant sous forme de tableau d'octets avec ʻencode ("utf8") `, mais ce comportement de Chorégraphe ne correspond pas à l'idée des chaînes Python, et il est très cool en ce qu'il peut prêter à confusion. J'ai l'impression que non.
Pour les Japonais, il vaut mieux clarifier cela, j'ai donc demandé dans la communauté Aldebaran ([String in Choregraphe's python box](https://community.aldebaran.com/en/forum/string] -choregraphes-python-box-2651)) Cependant, la réponse que le type unicode n'est pas pris en charge maintenant ... Hmm.
Pour le moment, un test simple est écrit dans le référentiel tests / test-io-text /
. Par exemple, testez si le contenu obtenu dans la zone Lire le texte est le contenu attendu, comme indiqué ci-dessous. Par exemple, le test de lecture de texte ressemble à ceci.
Pour cette idée, reportez-vous à Pepper Box Library Test Consideration pour référence.
Certains expliquent comment récupérer les fichiers enregistrés dans ces boîtes.
Pour le système de fichiers de Pepper, Choregraphe vous permet de télécharger et de télécharger des fichiers. [Transférer les fichiers vers le menu avancé](http://qiita.com/tonosamart/items/fe3948a45ccc97ddbbab#choregraphe%E3%81%A7%E3%81%A4%E3%81%AA%E3%81%84% E3% 81% A7% E3% 81% BF% E3% 82% 8B% EF% BC% 92), c'est donc la voie royale pour l'utiliser.
Quand je pense à l'automatisation, j'ai parfois envie de récupérer des fichiers même dans un environnement sans Chorégraphe. En regardant la documentation Guide du développeur NAOqi> Programmation> Connexion Chorégraphe / votre robot> Gestion des connexions, il semble que vous pouvez supposer que FTP fonctionne, mais j'ai osé essayer d'utiliser HTTP.
[Si vous créez un répertoire appelé html dans le projet, vous pouvez le voir sur la tablette](http://qiita.com/Atelier-Akihabara/items/716e88b306db12751c9b#%E7%B0%A1%E5%8D%98%E3%81%AAhtml% E3% 82% 92% E3% 82% BF% E3% 83% 96% E3% 83% AC% E3% 83% 83% E3% 83% 88% E3% 81% AB% E8% A1% A8% E7% A4% BA), mais dans cet état, vous pouvez voir le contenu de ce répertoire html en faisant http: // (nom de Pepper.local. Ou adresse IP) / apps / .lastUploadedChoregrapheBehavior /
. C'est peut-être la même idée que de mettre le répertoire public_html
dans votre répertoire personnel sur un serveur Web.
Alors pourquoi ne pas générer les fichiers que vous souhaitez rendre disponibles pour téléchargement dans le répertoire html
? J'ai créé le projet samples / dump-info
dans le référentiel. Ici, tout le contenu d'ALMemory et tout le contenu des préférences sont vidés, enregistrés dans un fichier texte et téléchargés à partir d'un PC externe.
Les points sont les deux points suivants.
web-boxes
). La zone Obtenir le fichier HTML génère le chemin du fichier de sortie en fonction du chemin absolu du répertoire html dans son application.Après avoir exécuté cette application, ouvrez une URL telle que http: // IP de Pepper / apps / .lastUploadedChoregrapheBehavior /
sur un PC connecté au même LAN que Pepper. Ensuite, vous pouvez vérifier l'index.html du projet depuis votre PC. Ici, vous pouvez télécharger le fichier (1.) exporté dans la zone Écrire du texte en cliquant sur le lien vers le fichier (2.).
Comme ça, si vous voulez créer un fichier dans le projet et le retirer du PC, vous devez créer le fichier dans le répertoire html du projet. Utilisons ceci pendant un moment ...
Recommended Posts