【问题标题】:How to connect with a Bluetooth device without pairing如何在不配对的情况下连接蓝牙设备
【发布时间】:2019-05-29 07:58:22
【问题描述】:

我目前正在用 java 开发我的第一个应用程序。

此应用程序需要与我的 BL652 直接连接,它不接受任何类型的配对选项。话虽如此,我仍然坚持使用下面的代码,它仍然试图与我的蓝牙设备配对,而不仅仅是连接。因此,我想知道我应该怎么做才能建立不需要配对的连接。

提前感谢您的任何回复。

String mac_address = "DA:72:21:29:0F:F0";
private static final UUID MY_UUID = UUID.fromString("E54B0002-67F5-479E-8711-B3B99198CE6C");

lvNewDevices.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            BluetoothDevice device = (BluetoothDevice) mBluetoothAdapter.getRemoteDevice(mac_address);

           try {
                socket = device.createInsecureRfcommSocketToServiceRecord(MY_UUID);
                socket.connect();

                } catch (IOException e) {
                    e.printStackTrace();
                    }

【问题讨论】:

  • 该设备是否支持 LE?我认为经典蓝牙设备只能通过配对连接
  • 它是蓝牙低功耗!
  • device.createInsecureRfcommSocketToServiceRecord 正在使用蓝牙经典。对于 LE,有完全不同的连接方式
  • 关于你应该如何做的任何链接或建议?
  • 你试过搜索吗?例如,对于android LE connect?

标签: java android bluetooth connection


【解决方案1】:

我不确定与外部硬件的连接,但绝对可以在不配对的情况下连接 2 部手机。我使用 Android Nearby Connections 做到了。是的,它基本上与BLE 一起工作。据我所知,可以使用该 API 连接到 RaspberryPi

【讨论】:

    【解决方案2】:

    可以使用主从配置使蓝牙设备相互通信。我首先尝试了两台 BLE-HC05,一台作为主机,另一台作为从机,正如预期的那样,主机能够发送数据,从机能够接收数据,这可以使用 Arduino IDE 中的串行监视器看到。我开发了一个类似的应用程序,它连接到 BLE-HC05 设备,发送和接收数据。但由于您试图获取数据或向手机上的 App 发送数据,Android 将不支持此类未配对的匿名通信。如果您在连接或配对蓝牙设备和您的应用程序时遇到问题,我可以为您提供帮助。但就没有配对的蓝牙通信而言,你可能找不到办法。

    编辑:连接任何蓝牙设备的代码,如您提到的 BLE-HC06,是 1234(仅当您没有更改它时)

    【讨论】:

    • 我能够创建一个与我的 HC-06 配合良好的配对代码。问题是,我为我的 BLE 尝试的每种类型的唯一连接功能都没有奏效,他们总是会要求它没有密码,使其无法连接(或者至少我认为它正在发生)。
    • 另外,NRF Connect 有这个我期待的功能,但是可用的源代码没有显示如何建立连接。
    • 但主要问题是我的BLE没有密码,所以当我尝试连接我的应用程序时,它会要求输入密码来建立连接,但由于没有密码,所以不会连接。
    • 试试 1234,它对我有用。您还可以使用 Arduino 中的 AT 命令将设备配置为具有特定的密钥
    • 1234 是我用于 HC-06 的密码,它工作正常。当我尝试使用我的 BLE 时,它不会。开始认为它仍然是配对类型的连接,但我找不到办法,已经尝试过不同类型的套接字或连接,最终成为配对类型的连接
    猜你喜欢
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    相关资源
    最近更新 更多