Toon posts:

[Java/Bluetooth] Kan eigen Bluetooth Apparaat niet vinden

Pagina: 1
Acties:
  • 116 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo,

Ik ben bezig om in Java een programma te schrijven voor het zoeken naar en het verbinden met een Bluetooth-apparaat. Nu heb ik op internet enige informatie opgedaan en heb een simpel programma geschreven wat mijn informatie van mijn eigen Bluetooth USB Adapter moet uitlezen. Ik heb een Java API van internet gedownload.

Helaas krijge ik het programma niet werkend, ik krijg een aantal foutmeldingen en omdat ik mijn eigen Bluetooth Adapter niet eens vinden kan begin ik ook niet met het verder schrijven van het programma. Ook heb ik hier gezocht om bluetooth gerelateerde topics maar dit heeft mij ook niet verder geholpen.

Hier de code:
Java: BluetoothChecker.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package bluetooth;

import javax.bluetooth.*;
import org.javabluetooth.stack.*;
import org.javabluetooth.stack.hci.HCIDriver;
import org.javabluetooth.stack.hci.UARTTransport;

public class BluetoothChecker {
    
    LocalDevice local;
    HCIDriver driver;
    
    public BluetoothChecker() {
        startApp();
    }
    
    public void startApp() {
        try {
            // Retrieve the local Bluetooth device object
            HCIDriver.init(new UARTTransport("COM4"));
            local = LocalDevice.getLocalDevice();
            
            // Retrieve the name of the local Bluetooth device
            String name = local.getBluetoothAddress();
            System.out.println("Address is "+name);
            
        } catch(Exception e) {
            System.err.println("Kan lokale Bluetooth-apparaat niet vinden");
            e.printStackTrace();
        }
    }
    
    public static void main(String args[]){
        BluetoothChecker checker = new BluetoothChecker();
      }
        
    }


Graag zou ik weten willen of er iets in mijn code niet juist is of dat ik nog iets moet downloaden om de Bluetooth informatie van mijn eigen Bluetooth-Adapter uit te kunnen lezen. Ik maak gebruik van Eclipse SDK en Java jdk1.5.0_09

  • Marcj
  • Registratie: November 2000
  • Laatst online: 01-12 16:59
Wat voor foutmeldingen krijg je dan? Want aan de code zelf kan ik zo niet zien wat er mis gaat.

Verwijderd

Topicstarter
Sorry, vergeten bij te zetten, het is een hele waslijst :?
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The import javax.comm cannot be resolved
The import javax.comm cannot be resolved
The import javax.comm cannot be resolved
The import javax.comm cannot be resolved
The import javax.comm cannot be resolved
The import javax.comm cannot be resolved
The import javax.comm cannot be resolved
SerialPortEventListener cannot be resolved or is not a valid superinterface
CommPortIdentifier cannot be resolved or is not a type
CommPortIdentifier cannot be resolved
CommPortIdentifier cannot be resolved
SerialPort cannot be resolved or is not a type
SerialPort cannot be resolved
SerialPort cannot be resolved
SerialPort cannot be resolved
NoSuchPortException cannot be resolved or is not a type
SerialPortEvent cannot be resolved (or is not a valid type) for the argument event of the method serialEvent

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.javabluetooth.stack.hci.UARTTransport.<init>(UARTTransport.java:25)
at bluetooth.BluetoothChecker.startApp(BluetoothChecker.java:20)
at bluetooth.BluetoothChecker.<init>(BluetoothChecker.java:14)
at bluetooth.BluetoothChecker.main(BluetoothChecker.java:34)

  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

The import javax.comm cannot be resolved
wil zeggen dat de javax.comm jar niet te vinden is. Je zou even moeten controleren of je die jar hebt en of die dan ook in je CLASSPATH staat.

Nu met Land Rover Series 3 en Defender 90


Verwijderd

Topicstarter
Dat is het vreemde, deze kan ik wel importeren via "import javax.com.*;"

  • Marcj
  • Registratie: November 2000
  • Laatst online: 01-12 16:59
Ja, maar de import is niet genoeg. Hij moet de bestanden waar alles in staat wel kunnen vinden. Dus de jar waarin deze code staat moet wel in je classpath staan.

Anders lees dit even :)

Verwijderd

Topicstarter
Ik krijg nu wel met BlackBox dit is een voorbeeldprogramma, een viertal compoorten aan de praat, hoewel deze poorten ook zonder een Bluetooth-Adapter te vinden zijn, maar helaas lukt het me nog niet om het bovenstaande programma te kunnen draaien. De foutmeldingen blijven en het vreemde is dat alles wel op de daarvoor bestemde plaats staat

  • Marcj
  • Registratie: November 2000
  • Laatst online: 01-12 16:59
Heb je wel gelezen wat er al gezegd is? Waarschijnlijk mis je een een verwijzing naar de library die je gebruikt voor de javax.comm. Dit doe je door een classpath te zetten. Wat staat er om dit moment in je classpath? (Oftwel, hoe start je jouw programma?)

(en heb je die link van mij wel gelezen? http://www.kevinboone.com/classpath.html)

Verwijderd

Topicstarter
Mijn classpath bevat het volgende:
.;C:\Program~1.;%classpath%.;C:\Program Files\Java\jdk1.5.0_09\bin

Ik heb de link wel bekeken maar daar kwam ik niet helemaal uit.

EDIT:

Ik heb de CLASSPATH nu gewijzigd naar:
C:\Program Files\Java\jdk1.5.0_09\bin;C:\Program Files\Java\jre1.5.0_10\lib\;

maar dit werkte ook niet

[ Voor 31% gewijzigd door Verwijderd op 21-05-2007 14:09 . Reden: Aanpassing classpath ]


  • Marcj
  • Registratie: November 2000
  • Laatst online: 01-12 16:59
In je classpath moet iig je de directory met je classfiles staan (meestal de huidige directory "."). Daarnaast moet je de jar-file die bluetooth library bevat ook in je classpath zetten (iets van lib/bluetooth.jar). Of anders kun je ook deze link lezen: http://java.sun.com/j2se/...cs/solaris/classpath.html en misschien je eerst wat meer in Java verdiepen, want dit is nogal basiskennis :)

  • YopY
  • Registratie: September 2003
  • Laatst online: 06-11 13:47
Hier stond eerst een hele grote post met van alles en nogwat, maar dat is nu niet meer nodig; na wat onderzoek en dergelijke zijn wij erachtergekomen hoe dit probleem op te lossen is.

(Ik ben een collega-student van Gurbe, trouwens)

Ten eerste heb ik de BlueCove-libraries gedownload, een set libraries die gebruik maken van de Win32 Bluetooth stack. Geinstalleerd, jippie. Werkte nog steeds niet; gaf een BluetoothStateException zonder enige inhoud.

Volgende onderzoek, blijkt dat deze alleen werkt bij bluetooth dongles en dergelijke die standaard door Windows ondersteund zijn; de dongle die wij gebruikten was dat niet. Vervangen door een die dat wel was; nog steeds hetzelfde probleem.

Tenslotte, net voordat ik een enorme post neer zou zetten, probeerde ik even de oudere twee standaard Java libraries te verwijderen uit het project, om conflicten met BlueCove te voorkomen. Resultaat;

code:
1
2
3
4
5
6
7
BlueCove version 1.2.3
Local btaddr is 001583b3d2c7
Local name is DHJFGK
Starting inquiry
Found 0016202099eb : My Little Pony       : Phone/Cellular/(Networking,Object Transfer,Telephony)
Found 00a0961cf1d0 : DHJFGK               : Computer/Laptop/(Networking,Object Transfer,Audio,Telephony)
Found 00a0961d3169 : TW-224               : Computer/Desktop/(Object Transfer)


Succes!

Wij danken u voor uw aandacht, en het classpath en dergelijke had er helemaal niets mee te maken.

  • Marcj
  • Registratie: November 2000
  • Laatst online: 01-12 16:59
Tja, sorry hoor, maar Gurbe gaf in zijn tweede post een rij met "Unresolved compilation problems", omdat waarschijnlijk de goede library niet gevonden kon worden. Er werd nergens gesproken dat hij nu wel goed compileerd, maar dat hij nu een BluetoothStateException gaf. Dan kunnen wij natuurlijk ook niet ruiken ;)
Pagina: 1