bluetooth-lowenergy 相关问题

蓝牙低功耗(“BLE”)是2006年推出的新无线电标准。蓝牙低功耗也称为蓝牙智能,是蓝牙v4.0的一个子集。

MAUI 应用程序未扫描 BLE

在我的 MAUI 应用程序中,我需要扫描 BLE 设备。我的代码在 Windows 上运行良好,但是在 Android 上,扫描没有发现任何设备。我知道我必须声明所需的许可...

回答 1 投票 0

如何使用 GattServer 以编程方式清除蓝牙缓存

我对 BLE 有点熟悉,但我面临着继承代码的一些问题。所以该应用程序的工作原理如下: 启用 BLE 后,应用程序会扫描设备 该应用程序显示找到的设备 用户

回答 1 投票 0

Andoird [蓝牙 LE] 在外围设备(Android 应用程序)中广告服务之前创建具有预定义值的特征

我的应用程序充当外围设备,广告具有预定义值的特征的服务,中央设备读取它并处理广告数据 但我一直在努力解决...

回答 1 投票 0

BLE PDU 标头格式

所以我正在阅读本指南:https://novelbits.io/deep-dive-ble-packets-events/。 其中结构解释如下: 但我不明白,为什么 0x46 意味着 PDU Type 是 0110。所以这里...

回答 1 投票 0

Android BLE 按名称连接到设备

我正在开发一个应用程序,必须通过低功耗蓝牙连接到硬件设备。我现在正在使用的代码使我能够很好地连接,但是通过设备的地址通过

回答 1 投票 0

如何定义 BLE 测量中的过程噪声以实现卡尔曼滤波器?

我在做什么? 我正在使用 BLE 进行距离计算和资产跟踪。为了标准化每个传感器的灵敏度,我设计了一个一维夹具。该夹具具有比例模型火车轨道

回答 1 投票 0

Android:如何停止基于意图的蓝牙扫描?

我被这个问题困扰了很长时间,也查了很多文章,但还是没有找到解决办法。您能为我提供一些指导吗? 我正在使用 Intent-b...

回答 1 投票 0

ESP32 BLE Arduino 并收到“ringbuf_type_t”尚未声明的编译错误

当我安装Arduino IDE并仔细安装所有库后,我成功安装ESP32 BLE Arduino库并单击文件< Example< ESP32 BLE Arduino < BLE_notify add ...

回答 1 投票 0

尝试在 flutter 中使用蓝牙扫描附近的设备。找到 19、20、22 甚至更多没有名称的设备

我正在尝试扫描设备,但我得到了很多可用的设备,但上面没有名称。当我使用另一个蓝牙应用程序进行扫描时,我没有找到任何设备,或者可能只有一两个。所以我想有一些...

回答 1 投票 0

插件 BLE 显示未处理的异常 .NET MAUI

我正在尝试开发一个用于使用蓝牙连接设备的应用程序,我正在使用 Plugin.BLE 来实现此目的,但它显示了一些未处理的异常 AndroidManifest.xml 我正在尝试开发一个用于使用蓝牙连接设备的应用程序,我正在使用 Plugin.BLE 来实现此目的,但它显示了一些未处理的异常 AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"> <application android:allowBackup="true" android:supportsRtl="true"></application> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" /> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> </manifest> scanPage.xaml.cs using Plugin.BLE; using Plugin.BLE.Abstractions; using Plugin.BLE.Abstractions.Contracts; using Plugin.BLE.Abstractions.EventArgs; using Plugin.BLE.Abstractions.Extensions; using System; using System.Text; using System.Threading; namespace sampleApp; public partial class scanPage : ContentPage { private CancellationToken cancellationToken; public scanPage() { InitializeComponent(); } private async void scanBtn_Clicked(object sender, EventArgs e) { var adapter = CrossBluetoothLE.Current.Adapter; var systemDevices = adapter.GetSystemConnectedOrPairedDevices(); var filteredDevices = systemDevices.Where(device => device.Name != null).ToList(); ScanFilterOptions filterOptions = new ScanFilterOptions(); // Create a list to hold device names for display var deviceList = filteredDevices.Select(device => device.Name); var deviceNames = deviceList.ToList(); var device = systemDevices[0]; try { Guid service_id = filterOptions.ServiceUuids[0]; Guid serviceUUID = service_id; var charUUID = Guid.Parse("00002A00-0000-1000-8000-00805f9b34fb"); await adapter.ConnectToKnownDeviceAsync(serviceUUID); await SendDataToDevice(device, serviceUUID, charUUID); await DisplayAlert("Success", $"Connected to {device}!", "Ok"); } catch (Exception ex) { await DisplayAlert("Exception", $"{ex.Message}", "Ok"); } } private async Task SendDataToDevice(IDevice device, object serviceUuid, object characteristicUuid) { try { // Get the service and characteristic var service = await device.GetServiceAsync((Guid)serviceUuid); var characteristic = await service.GetCharacteristicAsync((Guid)characteristicUuid); // Your message to send string message = "Hello World from Xamarin.Forms!"; // Convert message to byte array (replace with your encoding if needed) byte[] messageBuffer = Encoding.ASCII.GetBytes(message); // Write data to the characteristic await characteristic.WriteAsync(messageBuffer); await DisplayAlert("Sent", "Message sent successfully!", "Ok"); } catch (Exception ex) { await DisplayAlert("Error", ex.Message, "Ok"); } } private async void ListDataItem(object sender, SelectedItemChangedEventArgs e) { if (e.SelectedItem == null) { return; // No item selected, ignore } var selectedDeviceName = e.SelectedItem.ToString(); // Handle device selection here (e.g., display alert or perform an action) await DisplayAlert("Selected Device", $"You selected: {selectedDeviceName}", "Ok"); } } 扫描页面.xaml <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="sampleApp.scanPage" Title="scanPage"> <VerticalStackLayout HorizontalOptions="Center" VerticalOptions="Center" Spacing="50"> <Label Text="Welcome to .NET MAUI!" VerticalOptions="Center" HorizontalOptions="Center" /> <Button x:Name="scanBtn" Text="Scan now" Clicked="scanBtn_Clicked"/> </VerticalStackLayout> </ContentPage> 我遇到以下异常 Java.Lang.SecurityException:“需要 android.permission.BLUETOOTH_CONNECT 权限 android.content.AttributionSource@c82fb2a4:GattService getDevicesMatchingConnectionStates” 我也添加了特定的依赖项,但我仍然收到此异常。 帮助表示赞赏! Java.Lang.SecurityException:'需要 android.permission.BLUETOOTH_CONNECT 权限 android.content.AttributionSource@c82fb2a4:GattService getDevicesMatchingConnectionStates' 自 Android 6.0 起,并非所有权限都仅仅因为放置在清单中而被授予。您必须使用 BLUETOOTH_CONNECT 处理运行时权限流程。 从文档Xamarin&MAUI的蓝牙LE插件中,我们可以发现: Android 12 及更高版本可能需要以下一项或多项 额外的运行时权限取决于哪些功能 您正在使用的库(请参阅 android 蓝牙权限 文档) <uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" /> 如果您想声明您的应用程序仅适用于支持 BLE 的设备,请将此行添加到您的清单中: <uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>

回答 1 投票 0

Android 外设蓝牙GattServerCallback onCharacteristicWriteRequest() 未被调用

我正在开发一个 BLE 外围应用程序,该应用程序连接到中央设备并遇到数据丢失问题。 在我的 Android 应用程序中,我使用了三个 ATT 特征。 //服务器发送数据给客户端...

回答 1 投票 0

蓝牙 LE - 多种特征行为

我编写了一个 Kotlin Compose Coroutine SharedFlow 应用程序,它将我的手机连接到支持 BLE 的传感器设备。该应用程序表现出奇怪的行为。如果我只是连接到设备,电压...

回答 1 投票 0

使用 C++ 的 BLE GATT 服务器示例

我正在尝试使用 C++ 在 Raspberry Pi 4 上创建 BLE GATT 服务。搜索了一段时间但无法找到有用的提示/示例。 更多细节: 我能够创建 GATT 服务并且

回答 1 投票 0

Python - Raspberry Pi 作为传感器数据的 BLE 发送器

我使用 RaspberryPi 作为跟踪各种传感器数据的设备。现在我想创建一个移动应用程序(Flutter)来使用蓝牙低功耗(BLE)实时读取数据。 我知道有

回答 1 投票 0

Airdrop如何使用蓝牙LE

我知道苹果从未公布过Airdrop如何工作的细节,但有很多研究解释了Airdrop的基本逻辑:BLE +点对点wifi。 参考: https://博客。

回答 1 投票 0

跨平台蓝牙开发解决方案

我用Unity制作了一个小心率监测器应用程序,但试图将其运送到Windows,蓝牙部分不是跨平台的。 是否有现有的跨平台(mac/windows、linux 也很好...

回答 2 投票 0

我可以在扫描的同时连接多个外围设备吗?

我正在尝试在 iOS 上构建一个具有低功耗蓝牙的功能,该功能允许: 外设向中央发送一些信息(最多 1024 字节) 中央接收来自外设的数据,并显示...

回答 1 投票 0

如何正确更改应用程序的 CBUUID/UUID 而不会破坏它?

我有一个基于使用 BLE 外设的开源项目构建的程序。我是 arduino esp32 硬件,但想要拥有自己的服务并拥有一个单独的应用程序。我保存了更改

回答 1 投票 0

Flutter 低功耗蓝牙设备无法读取特征数据

如何使用 flutter_reactive_ble 包从蓝牙低功耗设备读取特征数据。 这是我目前收到的错误 [错误:flutter/runtime/dart_vm_initializer.cc(41)]

回答 1 投票 0

使用 win32 API 从 c# 注册 GATT 特征值更改通知

我正在尝试使用 c# 中的 win32 API 注册 GATT 特征值更改通知。我能够获得设备的句柄并获得相关的 GATT 服务和特征....

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.