有没有人有一个完整的工作示例,说明如何以编程方式配对使用密码输入(即6位数PIN)或Android 4.4或更高版本的数字比较的BLE(非 Bluetooth Classic)设备?通过'以编程方式'我的意思是我告诉Android PIN - 用户不会被提示.
在SO上有很多类似的问题,但它们要么a)关于蓝牙经典,b)旧(之前setPin()和createBond()公开),或c)未答复.
我的理解如下.
我已经使用创建设备mBed上运行nRF51-DK和赋予它的单个特性.
我设置了安全参数,如下所示:
ble.securityManager().init(
true, // Enable bonding (though I don't really need this)
true, // Require MitM protection. I assume you don't get a PIN prompt without this, though I'm not 100% sure.
SecurityManager::IO_CAPS_DISPLAY_ONLY, // This makes it us the Passkey Entry (PIN) pairing method.
"123456"); // Static PIN
Run Code Online (Sandbox Code Playgroud)
然后在我使用的特征
requireSecurity(SecurityManager::SECURITY_MODE_ENCRYPTION_WITH_MITM);
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试使用Nordic Master Control Panel阅读它时,我收到一个如下配对请求通知: …
android noob在这里!
当两个Android设备(智能手机)"配对"和"连接"时有区别吗?如果是这样,将数据从一个传输到另一个有什么区别?
我希望能够预先配对蓝牙设备,以便在使用应用程序时节省用户混淆的步骤.我发现有用于预配对蓝牙设备的系统,方法和装置的专利 .
我正在寻找将一系列Android设备与一系列嵌入式设备配对,因此当设置Android设备时,我可以预先将它与需要与之通信的设备配对.我考虑过维护一个可以由应用程序下载和更新的MAC地址列表.
有没有办法配对两个设备而不必让它们接触?
我正在编写一个通过BLE连接到物理设备的Android应用程序.Android应用程序将充当外围角色,而设备是中心.设备I/O功能也设置为NoInputNoOutput(ble_cmd_sm_set_parameters(0, 8, sm_io_capability_noinputnooutput))
建立连接的流程是:
bluetoothManager.openGattServer()Sent Pairing Request: AuthReq与Secure Connection Flag = 1后者Secure Connection Flag = 0有关(有关安全连接标志的更多信息,请参阅蓝牙配对第4部分)当从Android Studio logcat读取输出时(如果是三星设备),我得到这些日志:
01-31 15:21:53.322 D/BluetoothAdapter: isSecureModeEnabled
01-31 15:21:53.322 D/BtConfig.SecureMode: isSecureModeOn:false
01-31 15:21:53.325 D/BluetoothAdapter: STATE_ON
01-31 15:21:53.325 D/BluetoothLeAdvertiser: start advertising
不确定SecureMode是否与我们提到的SecureConnection相同.
据我所知,配对是BLE Secure Connections,采用JustWorks模式.但似乎并非所有的Android设备都支持它(你能否确认一下我的想法?).或者,我们如何强制后一个设备也有配对对话框?
一个重要的是,我有一个具有相同连接流和相同物理设备的iOS应用程序,它确实显示了配对对话框.
android bluetooth bluetooth-lowenergy bluetooth-peripheral pairing
我最近更新到 Android Bumblebee。我正在尝试通过 wifi 无线连接我的设备。但我总是收到如下屏幕截图所示的消息。
我已经更新到最新的平台工具 SDK 32,但问题仍然存在。任何帮助,将不胜感激。
android android-wifi android-studio pairing android-studio-bumblebee
我一直在网上搜索,并没有看到任何关于如何准确实现OOB配对的方法.我希望有人能指点我一些示例代码来帮助我.Android开发者网站中的聊天示例根本没有真正涉及这种类型的配对.
基本上,我有一个Android平板电脑,我想安全地与一个用C++编写的设备配对,没有内置的显示/ IO机制.要配对的平板电脑将充当GUI/IO接口,我将通过蓝牙发回消息和第四个消息.因此,我想通过OOB配对方案将平板电脑与每台设备进行安全配对.
我理解OOB的概念,但是当我在android.developers.com网站上查找我的Android客户端代码时,我很难找到适当的方法来调用.另外,在查看bluez的东西时,我找不到太多可以继续使用我的C++编写的服务器.
基本用例是用户将通过USB连接将平板电脑连接到设备.USB连接将有助于传递每个设备的密钥/ mac地址,然后使用该信息对蓝牙.
我可以弄清楚USB部分,但是一旦我在客户端和服务器上获得密钥和必要信息,我似乎无法找到正确的方法来调用两端成功并安全地配对.
我已经有一个客户端/服务器通过不安全的连接进行通话,所以我遇到的唯一问题就是两端的实际配对.一旦我配对,我就可以使用secureRFComm来完成我未来的所有消息传递.
我是Android编程的初学者,因为我3个月前才开始.我正在做一个项目,使用蓝牙将Android应用程序连接到arduino.我已经有了Android应用程序的代码(bluetooth.adapter,socket,.etc.).连接代码已经正常工作.其中一个目标是Android应用程序在与蓝牙设备配对时自动输入密码,而无需用户输入PIN.
这个论坛上的旧帖子没什么用.(许多建议使用不安全模式,但我确实需要安全模式,在我的情况下,arduino是服务器,而手机应用程序是客户端,因此createInsecureRfcommSocketToServiceRecord()服务器方法对我不起作用)
我在android开发者网站上搜索并发现了这个关于bluetoothdevice类的信息:
setPairingConfirmation(boolean confirm)确认PAIRING_VARIANT_PASSKEY_CONFIRMATION配对的密码.
PAIRING_VARIANT_PIN ="将提示用户输入图钉或应用程序将为用户输入图钉".
PAIRING_VARIANT_PASSKEY_CONFIRMATION ="系统将提示用户确认屏幕上显示的密钥或应用程序将确认用户的密钥"
似乎使用代码,应用程序将是输入密码和确认密码使其成为"自动连接"功能,但Android网站没有给出如何使用它的示例代码.你们有没有使用这个或相关过程的示例代码?我感谢您的帮助!
我正在尝试从运行Windows Iot Core的Raspberry Pi 2播放蓝牙信号,以便我可以从智能手机和其他设备连接到它,但我在实际收到配对信号的最后几天一直困扰着.
使用Windows蓝牙文档,我能够广播信号,我可以从我的桌面和手机上看到它.但是,这是我能得到的.我希望能够在没有PIN的情况下进行配对(设备没有屏幕),但是只要选择了设备,配对就会失败.
我在用
SocketProtectionLevel.BluetoothEncryptionAllowNullAuthentication
Run Code Online (Sandbox Code Playgroud)
和
DevicePairingKinds.None
Run Code Online (Sandbox Code Playgroud)
但连接回调永远不会被击中.我查看了许多类似的问题,这些问题要么没有答案,要么没有相应的信息,因为我使用的是RPI2,而不是桌面应用程序.
我不是想通过网络界面配对,而只是通过代码
.
[UPDATE]
我已经尝试过32feet.NET库,但它似乎太旧了,无法支持PI2.我也尝试了一些NuGet包,似乎没有任何工作.
当我学习蓝牙时,我很难理解蓝牙连接和配对,绑定等.
据我所知,蓝牙连接有以下步骤:
当我们使用蓝牙设备(例如智能手机,蓝牙Heaset)时,它有以下步骤:
我无法将分页与配对相匹配.我的理解正好在下面吗?
如何合并上述两个类别?