Nous avons résumé le flux de développement et d'enregistrement de l'application Sota à l'aide de Java. La source de l'application créée dans cet article se trouve sur GitHub.
Dans cet article, nous avons développé une application pour Intel (R) Edison version Sota (version développeur).
Dans la documentation officielle, il existe deux façons de développer l'application Sota:
VstoneMagic est un logiciel de programmation pour Sota qui développe des applications en connectant des blocs d'instructions pré-préparés. En tant qu'avantage de VstoneMagic, le document officiel décrit comment enregistrer l'application et vous pouvez exécuter l'application créée à partir de "Exécuter l'application" simplement en utilisant Sota lui-même. Cependant, il existe des restrictions sur le développement d'applications en raison des spécifications qui connectent les blocs d'instructions. Par conséquent, dans cet article, nous développerons une application en Java. La méthode d'enregistrement des applications développées en Java n'est pas écrite dans la documentation officielle, je vais donc vous expliquer comment le faire ci-dessous.
Tout d'abord, [Essayez de programmer avec Java](http://www.vstone.co.jp/sotamanual/index.php?Java%E3%81%A7%E3%83%97%E3%83%] AD% E3% 82% B0% E3% 83% A9% E3% 83% 9F% E3% 83% B3% E3% 82% B0% E3% 82% 92% E3% 81% 97% E3% 81% A6% Suivez E3% 81% BF% E3% 82% 8B) pour exécuter l'exemple de programme. Dans ce qui suit, nous supposerons que vous avez Eclipse comme environnement de développement et `` SotaSample '' comme exemple de projet de programme.
À partir de là, nous développerons des applications en Java.
Dans cet article, Sota développera une application qui reconnaît ce que vous dites et vous le renvoie.
C'est la même chose que SpeechRecSample.java '' dans
SotaSample ''.
Tout d'abord, créez un nouveau projet à partir de "Fichier" -> "Nouveau" -> "Projet Java". Le nom du projet doit être `` SotaRepeat ''. Au fait, lors de la gestion avec GitHub, je pense que la coopération et le résumé de GitHub et Eclipse - Qiita sera utile.
Après avoir créé un nouveau projet, faites un clic droit sur le dossier src → "Nouveau" → "Package" pour créer un package. J'ai nommé le package `` com.example.sotarepeat '' (je ne sais pas comment nommer le package).
Faites un clic droit sur le nom du package → "Nouveau" → "Classe" pour créer le fichier Java principal SotaRepeat.java
et l'implémenter. Le déroulement de l'application est le suivant.
Le `` SotaRepeat.java '' implémenté est répertorié ci-dessous.
SotaRepeat.java
/* SotaRepeat.java
*Une application qui renvoie le résultat de la reconnaissance vocale comme un perroquet avec TTS
*/
package com.example.sotarepeat;
import jp.vstone.RobotLib.CPlayWave;
import jp.vstone.RobotLib.CRobotMem;
import jp.vstone.RobotLib.CSotaMotion;
import jp.vstone.sotatalk.MotionAsSotaWish;
import jp.vstone.sotatalk.SpeechRecog;
import jp.vstone.sotatalk.SpeechRecog.RecogResult;
import jp.vstone.sotatalk.TextToSpeechSota;
public class SotaRepeat {
static final String TAG = "SotaRepeat";
static final int LOOP_NUM = 10;
public static void main(String[] args) {
//VSMD et prise de communication / classe d'accès mémoire
CRobotMem mem = new CRobotMem();
//Classe de contrôle de mouvement pour Sota
CSotaMotion motion = new CSotaMotion(mem);
SpeechRecog recog = new SpeechRecog(motion);
MotionAsSotaWish wish = new MotionAsSotaWish(motion);
if (mem.Connect()) {
//Initialiser VSMD aux spécifications Sota
motion.InitRobot_Sota();
motion.ServoOn();
for (int i=0; i<LOOP_NUM; i++) {
//Reconnaissance vocale (prend en charge la voix jusqu'à 10 secondes)
RecogResult result = recog.getRecognition(10000);
if (result.recognized) {
//TextToSpeech le résultat de la reconnaissance
wish.Say(result.getBasicResult(), MotionAsSotaWish.MOTION_TYPE_TALK);
//CPlayWave.PlayWave(TextToSpeechSota.getTTSFile(result.getBasicResult()),true);
if(result.getBasicResult().contains("fin")){
CPlayWave.PlayWave(TextToSpeechSota.getTTSFile("J'ai fini"),true);
break;
}
}
if (i == LOOP_NUM - 1) {
CPlayWave.PlayWave(TextToSpeechSota.getTTSFile("Je suis fatigué alors j'ai fini"), true);
}
}
motion.ServoOff();
}
}
}
Si Eclipse se fâche que cela n'existe pas lors de l'importation de jp.vstone.RobotLib.CPlayWave
etc., cliquez avec le bouton droit sur SotaRepeat
→ "Build Path" → "External Archive" Depuis "Ajouter", spécifiez sotalib.jar
dans le dossier lib
dans SotaSample
.
Créez un fichier jar pour enregistrer l'application développée dans Sota.
Tout d'abord, faites un clic droit sur SotaRepeat
→ sélectionnez "Exporter" → "Fichier JAR".
Assurez-vous que Sota Repeat est coché sur l'écran "JAR Export", spécifiez le fichier jar vers lequel exporter et cliquez sur "Next".
Laissez les paramètres par défaut pour "Options du package JAR" et cliquez sur "Suivant".
Pour «Spécifications du manifeste JAR», cochez «Enregistrer le manifeste dans l'espace de travail» comme indiqué dans l'écran ci-dessous et spécifiez le nom du fichier manifeste. Spécifiez également `` SotaRepeat '' comme classe principale. Et.. Voila".
Ensuite, éditez le MANIFEST.MF '' créé. S'il est laissé tel quel, le chemin de classe n'est pas décrit, donc une erreur se produira lors de l'exécution de l'application. Si vous avez créé un fichier manifeste comme l'image ci-dessus, vous devriez voir
MANIFEST.MF`` ressembler à ceci:
MANIFEST.MF
Manifest-Version: 1.0
Sealed: true
Main-Class: com.example.sotarepeat.SotaRepeat
Ajoutez la description suivante ici.
Class-Path: . /home/vstone/lib/core-2.2.jar /home/vstone/lib/javase-2.2.jar /home/vstone/lib/jna-4.1.0.jar /home/vstone/lib/opencv-310.jar /home/vstone/lib/sotalib.jar /home/vstone/lib/SRClientHelper.jar /home/vstone/lib/gson-2.6.1.jar
Cela peut être inutile car il est ajouté au chemin de classe sans discrimination, mais c'est le miso que / home / vstone / lib / gson-2.6.1.jar
est ajouté. Je ne l'ai pas écrit au début car il n'est pas inclus dans le dossier lib
de SotaSample
, mais quand je l'ai exécuté sur la console Sota, j'ai eu une erreur disant que gson était nécessaire, alors je l'ai ajouté.
Utilisez ce fichier manifeste pour créer un nouveau fichier jar. Créez un fichier JAR de la même manière que précédemment, mais cochez «Utiliser le manifeste existant dans l'espace de travail» dans «Spécifications du manifeste JAR» comme indiqué ci-dessous. Et.. Voila".
Transférez le fichier jar créé vers Sota. Pour le flux à partir d'ici, Comment enregistrer votre propre pot dans Sota --Qiita a été très utile. Ce qui est écrit est fondamentalement le même.
Dans mon environnement, je suis connecté à Sota via un LAN sans fil, je vais donc le transférer en utilisant WinSCP.
Créez un répertoire SotaRepeat '' sous
/ home / vstone / vstonemagic / app / jar`` dans Sota, et placez-y le fichier jar créé.
Le programme à exécuter depuis "Run App" de Sota est décrit dans le fichier de configuration `` / home / vstone / vstonemagic / app / jar / app.properties ''. Réécrivez ce fichier de paramètres comme suit.
app.properties
length=1 #Nombre d'applications
Debug=false
TimeZone=Asia/Tokyo
app1.title=SotaRepeat
app1.workingdir=SotaRepeat/
app1.jar=SotaRepeat.jar
app1.type=app
app1.trigger=
app1.triggeroption=
Assurez-vous que la valeur de longueur '' correspond au nombre d'applications. De plus, si vous développez une nouvelle application, ajoutez-la en tant que `ʻapp2.title = hogehoge
.
Maintenant que l'enregistrement est terminé, redémarrez Sota.
Après le redémarrage, vous pouvez exécuter l'application développée en appuyant sur le bouton à l'arrière et en sélectionnant "Mode de configuration" → "Exécuter l'application".
Recommended Posts