Beim Speichern oder Abrufen von Informationen in Pepper wird ALMemory 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) ist der Königsweg, aber wenn Sie darüber nachdenken, einen etwas größeren Text mit einer Anwendung zu speichern und ihn mit einem Entwicklungs-PC zu extrahieren, ist die Datei bequemer. Es gibt auch.
In einem solchen Fall habe ich ein Feld zum Schreiben einer Textdatei erstellt und versucht, die Datei aus Pepper in die lokale Umgebung zu extrahieren. Daher habe ich eine Notiz erstellt.
Die Box befindet sich im Verzeichnis "Web-Boxen" unter https://github.com/yacchin1205/pepper-web-boxes.
Klonen oder Herunterladen von 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% Sie können es verwenden, indem Sie die Box-Bibliothek gemäß dem Verfahren von E3% 81% BF% E8% BE% BC% E3% 81% BF laden.
Die erstellte Box befindet sich im Ordner "IO" der Boxbibliothek und sieht wie folgt aus. Gibt es irgendwo so etwas wie ein Tool zur Generierung von Boxdokumenten ...
Schreiben Sie den Text in eine Datei.
Geben Sie den Text ein, den Sie exportieren möchten. Wenn diese Eingabe ausgelöst wird, wird die Zeichenfolge ausgeschrieben, die in die Datei eingegeben wurde, die durch den unten beschriebenen Parameter Dateipfad angegeben wird.
Ausgabe bei erfolgreichem Export.
Wenn das Schreiben fehlschlägt, wird eine Zeichenfolge ausgegeben, die den Inhalt des Fehlers angibt.
Geben Sie den Pfad der zu lesenden Textdatei an. Es wird basierend auf dem aktuellen Verzeichnis erstellt, in dem das Verhalten ausgeführt wird.
Gibt die Zeichenkodierung der zu lesenden Textdatei an. Der Standardwert ist "utf8". Informationen dazu, welche Art von Wert angegeben werden kann, finden Sie unter http://docs.python.jp/2.7/library/codecs.html.
Es ist nicht dieses Feld "Text schreiben", aber ich habe mich in die Unicode-Falle mit dem folgenden Code in dem Feld "Text lesen" verliebt, das ich damit erstellt habe.
with codecs.open(self.getParameter("File path"), "r", self.getParameter("Encoding")) as f:
text = f.read()
self.onStopped(text.encode("utf8"))
Ich habe "Zeichenfolge" für den Typ "onStopped" angegeben, aber wenn ich die von "read ()" erhaltene Zeichenfolge vom Typ Unicode als Argument gebe, wird "None" an die nächste Eingabe übergeben. Es scheint zu enden. Ich habe Testcode geschrieben, aber wenn ich in Choregraphes Dokumentation String sage, wird anscheinend nur der Python-Typ str berücksichtigt und der Unicode-Typ kann nicht verarbeitet werden. Vorerst habe ich es vermieden, indem ich es als Byte-Array mit "encode (" utf8 ")" angegeben habe, aber dieses Verhalten von Choregraphe entspricht nicht der Idee von Strings in Python, und es ist sehr cool, da es Verwirrung stiften kann. Ich fühle mich wie ich nicht bin.
Für Japaner ist es besser, dies zu klären, also fragte ich in der Aldebaran-Community (String in Choregraphes Python-Box. -choregraphes-python-box-2651)) Die Antwort, dass der Unicode-Typ jetzt nicht unterstützt wird ... Hmm.
Derzeit wird ein einfacher Test in das Repository "tests / test-io-text /" geschrieben. Testen Sie beispielsweise auf der Ebene, ob der im Feld Text lesen erhaltene Inhalt den unten gezeigten Erwartungen entspricht. Der Test zum Lesen von Text sieht beispielsweise so aus.
Informationen zur Idee finden Sie unter Überlegungen zum Test der Pepper Box-Bibliothek.
Einige Informationen zum Abrufen von Dateien, die in diesen Feldern gespeichert sind.
Für das Dateisystem von Pepper können Sie mit Choregraphe Dateien hochladen und herunterladen. [Dateien in das erweiterte Menü übertragen](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), daher ist es der königliche Weg, es zu benutzen.
Wenn ich an Automatisierung denke, möchte ich manchmal Dateien auch in einer Umgebung ohne Choregraphe abrufen. Wenn Sie sich die Dokumentation NAOqi Developer Guide> Programmierung> Verbinden von Choregraphe / Ihrem Roboter> Verbindungsmanagement ansehen, können Sie davon ausgehen, dass FTP funktioniert, aber ich habe es gewagt, HTTP zu verwenden.
[Wenn Sie im Projekt ein Verzeichnis mit dem Namen html erstellen, können Sie es auf dem Tablet anzeigen](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), aber in diesem Zustand können Sie den Inhalt dieses HTML-Verzeichnisses anzeigen, indem Sie "http: // (Pepper's name.local. Oder IP-Adresse) / apps / .lastUploadedChoregrapheBehavior /" ausführen. Vielleicht ist es die gleiche Idee wie das Verzeichnis "public_html" in Ihrem Home-Verzeichnis auf einem Webserver abzulegen.
Warum also nicht die Dateien generieren, die Sie im HTML-Verzeichnis zum Download bereitstellen möchten? Ich habe das Projekt "samples / dump-info" im Repository erstellt. Hier werden alle Inhalte von ALMemory und alle Inhalte der Einstellungen gespeichert, in einer Textdatei gespeichert und von einem externen PC heruntergeladen.
Die Punkte sind die folgenden zwei Punkte.
Öffnen Sie nach dem Ausführen dieser Anwendung eine URL wie "http: // Peppers IP / apps / .lastUploadedChoregrapheBehavior /" auf einem PC, der mit demselben LAN wie Pepper verbunden ist. Anschließend können Sie die index.html des Projekts von Ihrem PC aus überprüfen. Hier können Sie die im Feld Schreiben von Text exportierte Datei (1.) herunterladen, indem Sie auf den Link zur Datei (2.) klicken.
Wenn Sie also eine Datei im Projekt erstellen und vom PC abrufen möchten, sollten Sie die Datei im HTML-Verzeichnis des Projekts erstellen. Lassen Sie uns dies für eine Weile verwenden ...
Recommended Posts