Java-蓝牙API Bluecove问题 [英] Java - Bluetooth API Bluecove Issue

查看:558
本文介绍了Java-蓝牙API Bluecove问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Java中使用Bluecove API时遇到问题.我计划创建一个基本的BT侦听器,以便从自制设备(由Arduino驱动)接收一些数据.我有以下很容易理解的代码:

I'm having an issue using the Bluecove API in Java. I plan to create a basic BT listener in order to receive some data from a homemade device (Arduino powered). I've the following code which is quite easy to understand:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;

import javax.bluetooth.*;
import javax.microedition.io.*;

public class Bluetooth
{
    private void startServer() throws IOException
    {
    //Create a UUID for SPP
    UUID uuid = new UUID("1101", true);
    //Create the servicve url
    String connectionString = "btspp://localhost:" + uuid +";name=Magic Merlin Server";

    //open server url
    StreamConnectionNotifier streamConnNotifier = (StreamConnectionNotifier)Connector.open(connectionString);

    //Wait for client connection
    System.out.println("\nServer Started. Waiting for clients to connect...");
    StreamConnection connection = streamConnNotifier.acceptAndOpen();

    RemoteDevice dev = RemoteDevice.getRemoteDevice(connection);
    System.out.println("Remote device address: "+dev.getBluetoothAddress());
    System.out.println("Remote device name: "+dev.getFriendlyName(true));

    //read string from spp client
    InputStream inStream=connection.openInputStream();
    BufferedReader bReader=new BufferedReader(new InputStreamReader(inStream));
    String lineRead=bReader.readLine();
    System.out.println(lineRead);

    //send response to spp client
    OutputStream outStream = connection.openOutputStream();
    PrintWriter pWriter=new PrintWriter(new OutputStreamWriter(outStream));
    pWriter.write("Response String from SPP Server\r\n");
    pWriter.flush();
    pWriter.close();

    streamConnNotifier.close();
    }

    public static void main(String[] args) throws IOException
    {
    LocalDevice localDevice = LocalDevice.getLocalDevice();
    System.out.println("Address: "+localDevice.getBluetoothAddress());
    System.out.println("Name: "+localDevice.getFriendlyName());

    Bluetooth sampleSPPServer = new Bluetooth();
    sampleSPPServer.startServer();
    }
}

当我尝试执行我的代码时,出现了这个奇怪的错误:

WHen I try to execute my code, I got this weird error:

Exception in thread "main" javax.bluetooth.BluetoothStateException: BlueCove com.intel.bluetooth.BluetoothStackBlueZ not available
at com.intel.bluetooth.BlueCoveImpl.loadStackClass(BlueCoveImpl.java:342)
at com.intel.bluetooth.BlueCoveImpl.detectStack(BlueCoveImpl.java:427)
at com.intel.bluetooth.BlueCoveImpl.access$500(BlueCoveImpl.java:65)
at com.intel.bluetooth.BlueCoveImpl$1.run(BlueCoveImpl.java:1020)
at java.security.AccessController.doPrivileged(Native Method)
at com.intel.bluetooth.BlueCoveImpl.detectStackPrivileged(BlueCoveImpl.java:1018)
at com.intel.bluetooth.BlueCoveImpl.getBluetoothStack(BlueCoveImpl.java:1011)
at javax.bluetooth.LocalDevice.getLocalDeviceInstance(LocalDevice.java:75)
at javax.bluetooth.LocalDevice.getLocalDevice(LocalDevice.java:95)
at Bluetooth.main(Bluetooth.java:50)

第50行是LocalDevice localDevice = LocalDevice.getLocalDevice();.

我的计算机上有一个BT加密狗,该加密狗已启用,因此我对此感到非常失望. 如果您对如何解决这个问题有任何想法,那就好!

I have a BT dongle on my computer which is enabled, so I'm really disapointed with that. If you have any idea on how to solve this, it'd be kind!

无论如何,感谢您阅读本主题. 问候.

Thanks anyway for reading this subject. Regards.

推荐答案

最后,我找到了一个使用名为"GlovePie"的应用程序的简便方法.它提供了一个非常简单的界面来检索传感器值并通过网络协议发送传感器值.然后,一个Java程序侦听该协议并获取值.

Finally I found an easier way using an application named "GlovePie". It provides a very simple interface to retrieve the sensor values and send it through a network protocol. Then a java program listen to that protrocol and grab the values.

上述错误(在我的第一篇文章中)是Bluecove跟踪器上报告的一个常见问题.

The above error (in my first post) is a common issue that has been reported on Bluecove tracker.

这篇关于Java-蓝牙API Bluecove问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆