Foros del Web » Programación para mayores de 30 ;) » Java »

Telnet + Fonera + Arduino

Estas en el tema de Telnet + Fonera + Arduino en el foro de Java en Foros del Web. Buenas. Mi duda era, el como realizar la conex desde el pc a la fonera, pero usando java.. no tengo problema relacionado con la seguridad ...
  #1 (permalink)  
Antiguo 23/10/2009, 10:49
 
Fecha de Ingreso: diciembre-2008
Ubicación: Vigo, Spain
Mensajes: 141
Antigüedad: 15 años, 5 meses
Puntos: 12
Telnet + Fonera + Arduino

Buenas.

Mi duda era, el como realizar la conex desde el pc a la fonera, pero usando java.. no tengo problema relacionado con la seguridad de la comunicacion, ya que son solo comandos los que envio para que el arduino ejecute unas determinadas acciones.. por cierto, uso ubuntu/centos depende de donde me encuentre.

He intentado con telnet, desde la terminal va perfecto, pero cuando busco librerias de telnet para realizar la conex y luego enviar los datos.. cuando busca realizar la conex introduciendo user/pass vienen los problemas.. Ejemplo usando la libreria que trae este package "import com.jscape.inet.telnet.*;"

Código:
public void login(){
        telnet = new TelnetSession(host);
        try {
            telnet.setHostname(host);
            telnet.setLoginPrompt("login:"); // **
            telnet.setPasswordPrompt("Password:"); // **
            telnet.setShellPrompt("$"); // **
            telnet.connect(user,passwd); //no pasa de aqui
            System.out.println(" ..... ");
        } catch (TelnetException ex) {
            Logger.getLogger(TelnetConsola.class.getName()).log(Level.SEVERE, null, ex);
        }
        System.out.println("rdy");
}
** de esas lineas no estoy totalmente seguro realmente, he probado poniendole otras cosas pero sigue sin ir bien luego en el connect(..) .. e imagino que es por eso, que no da introducido el user/passwd, ya que no reconoce bien cuando es que tiene que ponerlos.. en consola seria asi:

Código:
nycom@ubuntu:~$ telnet 10.0.x.xxx
Trying 10.0.x.xxx...
Connected to 10.0.x.xxx.
Escape character is '^]'.

DD-WRT v24 std (c) 2008 NewMedia-NET GmbH
Release: 01/02/08 (SVN revision: 8743)

serobotic login: root
Password:
==========================================================
 
 ____  ___    __        ______ _____         ____  _  _ 
 | _ \| _ \   \ \      / /  _ \_   _| __   _|___ \| || | 
 || | || ||____\ \ /\ / /| |_) || |   \ \ / / __) | || |_ 
 ||_| ||_||_____\ V  V / |  _ < | |    \ V / / __/|__   _| 
 |___/|___/      \_/\_/  |_| \_\|_|     \_/ |_____|  |_| 
 
                       DD-WRT v24
                   http://www.dd-wrt.com
 
==========================================================


BusyBox v1.4.2 (2008-01-02 03:34:20 CET) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

root@serobotic:~#
Por otra parte, el ssh quedo inhabilitado luego de ponerle el dd-wrt ..
No necesito que el arduino me devuelva ningun dato .. por ello estaba evitando los sockets (no me llevo bien con ellos lamentablemente), aunque no tendria problema en usarlos si hace falta..

Si tienen alguna sugerencia, bienvenida será.. Gracias
  #2 (permalink)  
Antiguo 25/10/2009, 14:24
 
Fecha de Ingreso: diciembre-2008
Ubicación: Vigo, Spain
Mensajes: 141
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Telnet + Fonera + Arduino

Solucionado, porsia alguno le sirve:

Código:
import com.jscape.inet.telnet.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class TelnetConsola {
    //variables telnet
    TelnetSession telnet;
    String host;
    String user;
    String passwd;

    //Constructor
    public TelnetConsola(String user,String passwd,String host){
        this.user = user;
        this.passwd = passwd;
        this.host = host;
    }

    //Metodos
    //Conectarse al robot via telnet
    public void login(){
        telnet = new TelnetSession(host);
        try {
            telnet.setHostname(host);
            telnet.setLoginPrompt("login:");
            telnet.setPasswordPrompt("Password:");
            telnet.setShellPrompt("#");
            telnet.connect(user,passwd);
        } catch (TelnetException ex) {
            Logger.getLogger(TelnetConsola.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    //controlar la direccion del robot
    public void direccion(String dir) throws TelnetException{
        if(dir.equalsIgnoreCase("adelante")){
            telnet.send("echo 1 > /dev/tts/0");
        }
        if(dir.equalsIgnoreCase("derecha")){
            telnet.send("echo 2 > /dev/tts/0");
        }
        if(dir.equalsIgnoreCase("izquierda")){
            telnet.send("echo 3 > /dev/tts/0");
        }
        if(dir.equalsIgnoreCase("atras")){
            telnet.send("echo 4 > /dev/tts/0");
        }
    }
}
  #3 (permalink)  
Antiguo 25/10/2009, 17:19
 
Fecha de Ingreso: diciembre-2008
Ubicación: Vigo, Spain
Mensajes: 141
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Telnet + Fonera + Arduino

Puse el tema donde no era, podeis moverlo para java.. ? Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:52.