BlueTooth simples

Olá,

Eu estou pesquisando para fazer uma aplicação q envia dados do celular para um desktop, so que estou achando muito complicado os exemplos de bluetooth q peguei no site da nokia, alguem por obsequio poderia me dar um basic de envio?

Grato.

Primeiro o que pode ser simples para uns poder ser muito complicado para outros. Isso nunca pode ser um obstáculo.

Primeiro qual é o dispositivo bluetooth do seu desktop, SO, etc isso é importante para você procurar uma solução de terceiros

que funcione com seu Bluetooth mais crítico, o do Desktop. Para celular é menos complicado apenas com a exceção do Iphone

onde o dispositivo precisa de uma autenticação especifica da Apple.

Vou te dar um exemplo de um dongle USB de R$15,00 a R$ 30,00 e o driver do windows BlueSoleil

New todos os as versões do driver BlueSoleil para windows funcionam corretamente.

Aconselho você mudar seus paradigimas e encarar o “Complicado” como “Conhecimento”.

Da uma olhada primeiro na http://bluecove.org/ e ve se voce consegue primeiro de laptop para laptop com OBEX quando conseguir poste aqui ou me passe um e-mail.

abs

[quote=mohawk]Primeiro o que pode ser simples para uns poder ser muito complicado para outros. Isso nunca pode ser um obstáculo.

Primeiro qual é o dispositivo bluetooth do seu desktop, SO, etc isso é importante para você procurar uma solução de terceiros

que funcione com seu Bluetooth mais crítico, o do Desktop. Para celular é menos complicado apenas com a exceção do Iphone

onde o dispositivo precisa de uma autenticação especifica da Apple.

Vou te dar um exemplo de um dongle USB de R$15,00 a R$ 30,00 e o driver do windows BlueSoleil

New todos os as versões do driver BlueSoleil para windows funcionam corretamente.

Aconselho você mudar seus paradigimas e encarar o “Complicado” como “Conhecimento”.

Da uma olhada primeiro na http://bluecove.org/ e ve se voce consegue primeiro de laptop para laptop com OBEX quando conseguir poste aqui ou me passe um e-mail.

abs

[/quote]
nao estou conseguindo achar a dll intelbth.dll
onde eu acho

Olá consegui achar a dll e conseguir fazer a parte desktop funcionar, agora esotu com rpblema na parte j2me.
acho q estou pulando alguma coisa nao sei oq, 1º estou fazendo o inquiry com o seguinte codigo


public void iniciaInquiry(UUID servicoUUIDs [] )
 {
        try 
{
            this.servicoUUIDs = servicoUUIDs;
            
                     dispositivos.removeAllElements();
            classesDispositivos.removeAllElements();
            
                  dispositivo = LocalDevice.getLocalDevice();
                   dispositivo.setDiscoverable(DiscoveryAgent.GIAC);
            agenteDescoberta = dispositivo.getDiscoveryAgent();             
            
            boolean resultado = agenteDescoberta.startInquiry(DiscoveryAgent.GIAC, new BluetoothListener());
                      telacliente.escreveMSG("[Aguarde...]");
            
        } 
        catch ( BluetoothStateException e ) 
        {
            e.printStackTrace();
        }
    }

dai eu impelementei essa classe aqui para o DiscoveryListener

class BluetoothListener implements DiscoveryListener {
        
        public void deviceDiscovered(RemoteDevice dispositivoRemoto,
                DeviceClass classeDispositivo) {
            dispositivos.addElement( dispositivoRemoto );
            classesDispositivos.addElement( classeDispositivo );
        }
        
        public void inquiryCompleted(int complete) {
            
            deviceReturnCode = complete;
            
            if ( dispositivos.size() == 0 ) {
                telacliente.mostraDispositivos();
                display.setCurrent( telacliente );
                
            } else {
                telacliente.mostraDispositivos();
                display.setCurrent( telacliente );
            }
            
        }
        
        public void servicesDiscovered(int transId, ServiceRecord[] records) {
            for ( int i=0; i< records.length;  i ++ ) {
                ServiceRecord record = records[i];
                servicos.addElement( record );
            }
        }
        
        public void serviceSearchCompleted(int transId, int complete) {
            serviceReturnCode = complete;
                    }
        
    }

entao ai eu ja poderia envia os arquivos?

Olá denovo,
algume poderia me ajudar a achar onde estou errando?

package Core;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.util.Vector;
import javax.bluetooth.*;
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.List;

/**
 *
 * @author Hudson 
 */
public class mega extends List implements CommandListener,Runnable
{
    private final Command cmd_search;
    private final Command cmd_select;
    private final Command cmd_exit;

    public static Vector dispositivos = new Vector();
    public static Vector classesDispositivos = new Vector();
    public static Vector servicos = new Vector();
    public static int dispositivoSelecionado = -1;
    public UUID[] servicoUUIDs = null;
    public int deviceReturnCode;
    public int serviceReturnCode;
    public LocalDevice dispositivo;
    private DiscoveryAgent agenteDescoberta;
    public UUID uuid = new UUID("102030405060708090A1B1C1D1E1F111", false);

    public mega()
    {
        super("Bt",List.IMPLICIT);
        cmd_search = new Command("Procurar",Command.SCREEN, 0);
        this.addCommand(cmd_search);

        cmd_select= new Command("Selecionar",Command.SCREEN, 1);
        this.addCommand(cmd_select);

        cmd_exit = new Command("Voltar",Command.BACK, 1);
        this.addCommand(cmd_exit);


        this.setCommandListener(this);
    }
    public void iniciaInquiry(UUID servicoUUIDs [] )
    {
        try
        {
            this.servicoUUIDs = servicoUUIDs;
            dispositivos.removeAllElements();
            classesDispositivos.removeAllElements();
            dispositivo = LocalDevice.getLocalDevice();
            dispositivo.setDiscoverable(DiscoveryAgent.GIAC);
            agenteDescoberta = dispositivo.getDiscoveryAgent();
            boolean resultado = agenteDescoberta.startInquiry(DiscoveryAgent.GIAC, new BluetoothListener());
            this.deleteAll();
            this.append("[Aguarde...]",null);

        }
        catch ( BluetoothStateException e )
        {
            e.printStackTrace();
        }
    }
    public void commandAction(Command c, Displayable d)
    {
         if(c == cmd_exit)
        {
            new Run().destroyApp(true);
        }
        else if(c == cmd_search)
        {
           iniciaInquiry(new UUID[]{uuid});
        }
        else if(c == cmd_select)
        {
            run();
        }
    }
    public void executa()
    {
        dispositivoSelecionado = this.getSelectedIndex();
        RemoteDevice dispositivoRemoto = (RemoteDevice) dispositivos.elementAt( dispositivoSelecionado );
        servicos.removeAllElements();

        try
        {
            agenteDescoberta.searchServices(null,
                    servicoUUIDs,
                    dispositivoRemoto,
                    new BluetoothListener() );

        }
        catch (BluetoothStateException ex)
        {
            ex.printStackTrace();
        }
    }
    public void mostraDispositivos()
    {
        super.deleteAll();
        if (dispositivos.size() > 0)
        {
            for (int i = 0; i < dispositivos.size(); i++) {
                try {
                    RemoteDevice dispositivoRemoto = (RemoteDevice) dispositivos.elementAt(i);
                    String name = dispositivoRemoto.getFriendlyName(false);
                    append(name, null);

                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
            }
        }
        else
        {
            limpaTudo();
            append("[Não Encontrado]", null);
        }
    }
    public void limpaTudo()
    {
        this.deleteAll();
    }
    public void inseriTexto(String s)
    {
        this.append(s, null);
    }
    public void envia_mensagem(ServiceRecord r, String msg, String addr)
    {

//        escreveSaida( "--------------------------------------------------------------------------------------");
//        escreveSaida( "Enviando Mensagem para Servidor");
        // Obt&#65533;m a URL para o servi&#65533;o serial do Servidor
        String url  = r.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false );
//        escreveSaida("URL do Servidor:"+url);
        try
        {
            StreamConnection con = (StreamConnection) Connector.open( url );
//            escreveSaida("-> Conectado ao Servidor ");
//            escreveSaida("-> Enviando  '"+msg+"'");
//            escreveSaida("-> Enviando  '"+addr+"'");

            DataOutputStream saida = con.openDataOutputStream();


            saida.writeUTF( msg );
            saida.writeUTF( addr );
            saida.flush();
//            escreveSaida("Finalizou Envio Dados SYN OK");

            Thread.sleep(1000);

            saida.close();
            DataInputStream in = con.openDataInputStream();
            String s = in.readUTF();
            String s1 = in.readUTF();
//            escreveSaida("Retorno Servidor -> '"+s+"'");
//            escreveSaida("Retorno Servidor -> '"+s1+"'");
//
//            escreveSaida("Finalizou Recebimento Dados ACK OK");
            con.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    public ServiceRecord getPrimeiroServicoDescoberto()
    {
        if ( servicos.size() > 0 )
            return (ServiceRecord) servicos.elementAt(0);
        else
            return null;
    } 
    public void run()
    {
         envia_mensagem(getPrimeiroServicoDescoberto(), "teste", dispositivo.getBluetoothAddress().toString() );
    }
    class BluetoothListener implements DiscoveryListener
    {
        public void deviceDiscovered(RemoteDevice dispositivoRemoto,
                DeviceClass classeDispositivo) {
            dispositivos.addElement( dispositivoRemoto );
            classesDispositivos.addElement( classeDispositivo );
        }
        public void inquiryCompleted(int complete) {

            deviceReturnCode = complete;

            if ( dispositivos.size() == 0 )
            {
                 limpaTudo();
                 inseriTexto("[Não foi possível encontrar dispositivos]");
            }
            else
            {
                mostraDispositivos();
            }
        }
        public void servicesDiscovered(int transId, ServiceRecord[] records)
        {
            for ( int i=0; i< records.length;  i ++ ) {
                ServiceRecord record = records[i];
                servicos.addElement( record );
            }
        }
        public void serviceSearchCompleted(int transId, int complete)
        {
            serviceReturnCode = complete;
        }
    }
}

Você esta procurando saber mais sobre BT? aqui mesmo tem essa info

http://www.guj.com.br/posts/list/144525.java

abs