- sudo apt-get install libbluetooth-dev
- bluecove (http://bluecove.org/) から以下のJarファイルをダウンロード
- bluecove-2.1.0.jar
- bluecove-gpl-2.1.0.jar
- bluecove-2.1.0.jar
- 新しいNetBeansプラットフォームアプリケーションを作成
- 新しいモジュールを作成し、2個のJarファイルをラップする(モジュールのプロパティダイアログへ移動し、ライブラリパネルからWrapped JARsへ遷移して、ラップするJarファイルを選択)
- 下記クラス(blecoveのサンプルから持ってきたもの)をモジュールにコピーする。
public class BlueTooth { public static final Vector/*<RemoteDevice>*/ devicesDiscovered = new Vector(); public static void main(String[] args) throws IOException, InterruptedException { final Object inquiryCompletedEvent = new Object(); devicesDiscovered.clear(); DiscoveryListener listener = new DiscoveryListener() { public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) { System.out.println("Device " + btDevice.getBluetoothAddress() + " found"); devicesDiscovered.addElement(btDevice); try { System.out.println(" name " + btDevice.getFriendlyName(false)); } catch (IOException cantGetDeviceName) { } } public void inquiryCompleted(int discType) { System.out.println("Device Inquiry completed!"); synchronized(inquiryCompletedEvent){ inquiryCompletedEvent.notifyAll(); } } public void serviceSearchCompleted(int transID, int respCode) { } public void servicesDiscovered(int transID, ServiceRecord[] servRecord) { } }; synchronized(inquiryCompletedEvent) { boolean started = LocalDevice.getLocalDevice().getDiscoveryAgent().startInquiry(DiscoveryAgent.GIAC, listener); if (started) { System.out.println("wait for device inquiry to complete..."); inquiryCompletedEvent.wait(); System.out.println(devicesDiscovered.size() + " device(s) found"); } } } }
- 新しいファイルダイアログを使って、新しくモジュールインストーラを作成し、以下のようにインストーラを定義する。
public class Installer extends ModuleInstall { @Override public void restored() { try { BlueTooth.main(null); } catch (IOException ex) { Exceptions.printStackTrace(ex); } catch (InterruptedException ex) { Exceptions.printStackTrace(ex); } } }
アプリケーションを実行すると、NetBeans IDEのOutputウィンドウに次のような文字が表示されるはずです。
BlueCove version 2.1.0 on bluez wait for device inquiry to complete... Device 5C57C81C1E63 found name Geertjan Wielenga Device 5C17D3967ADA found name LG GU230 Device 00145190B6AB found
[訳注]当然ながら、デバイス名は環境により異なります。
原文はこちら。
http://blogs.sun.com/geertjan/entry/bluetooth_on_linux_on_the
0 件のコメント:
コメントを投稿