Cet article suppose que vous disposez d'un environnement de développement leJOS. Veuillez consulter cet article pour plus de détails.
[LeJOS] Programmons mindstorm-EV3 avec Java [Construction de l'environnement première partie]
[LeJOS] Programmons mindstorm-EV3 avec Java [Construction de l'environnement partie 2]
Dans leJOS, la méthode de développement consistant à déployer le programme créé côté PC sur l'unité principale EV3 et à l'exécuter est courante, mais en fait il est possible de contrôler à distance sans déployer le programme via WiFi. Au fait, j'ai également expliqué comment contrôler à distance ev3dev depuis Python.
[Ev3dev] Faisons un programme de contrôle à distance par Python avec le protocole RPyC
Cette fois, nous allons le faire en Java en utilisant leJOS.
Connectez le moteur L au port A de l'unité principale EV3 et exécutez le programme suivant côté PC. Pas besoin de déployer. Faites correspondre l'adresse IP à chaque environnement. C'est un programme qui émet un bip et fait tourner le moteur L de 180 degrés.
RemoteEv3.java
import java.net.MalformedURLException;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import lejos.hardware.Sound;
import lejos.remote.ev3.RMIRegulatedMotor;
import lejos.remote.ev3.RemoteEV3;
public class RemoteEv3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
RemoteEV3 ev3 = null;
RMIRegulatedMotor m = null;
try {
//Connectez-vous à l'adresse IP EV3, EV3 comme argument
ev3 = new RemoteEV3("192.168.2.91");
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NotBoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Initialisation
ev3.setDefault();
//Instanciation du moteur(Connectez un gros moteur au port A)
m = ev3.createRegulatedMotor("A",'L');
//Faire un bip
Sound.beep();
//Faites tourner le moteur de 180 degrés
try {
m.rotate(180);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Créez une classe RemoteEV3 pour le contrôle à distance. Créez une instance en passant l'adresse IP EV3 comme argument.
ev3 = new RemoteEV3("192.168.2.91");
Utilisez la méthode createRegulatedMotor pour accéder au moteur. Spécifiez le port de connexion avec le type String dans le premier argument et le type de moteur («L» ou «M») avec le type char dans le second argument.
m = ev3.createRegulatedMotor("A",'L');
Moteur L Moteur M
http://www.lejos.org/ev3/docs/lejos/remote/ev3/RMIEV3.html
https://yoshio3.com/tag/lejos/
J'ai trouvé que EV3 peut être facilement contrôlé à distance. Il semble que vous puissiez développer des outils GUI en les combinant avec JavaFX, etc.
Recommended Posts