问题标签 [32feet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 设置 32 英尺图书馆
我正在尝试开始使用这个库:32feet
我有一个 Broadcomm 蓝牙堆栈,但无法弄清楚如何设置这个库。当我运行我的代码时,我得到:
未处理的异常:System.PlatformNotSupportedException:未找到支持的蓝牙协议栈。
在他们的网站上搜索后,我发现了这个:安装说明
它说将适当的 DLL 复制到项目中,然后运行Test32FeetWidcommWin32.exe
. 我尝试将文件放在我的 Visual Studio 项目中的每个文件夹中,然后运行该 EXE,但我仍然遇到相同的错误。最初,我尝试仅添加 InTheHand.Net.Personal.dll 文件作为对我的项目的引用,但这也不起作用。
我可能做错了什么?
c# - C# 建立从笔记本电脑内部蓝牙 4.0 到蓝牙低功耗 (BLE) 外围设备的流
我正在尝试编写一个连接到蓝牙低功耗设备(BLE)的程序,然后在更新或给定时间间隔读取特征。
我的外设是德州仪器 CC2540 BLE 设备。
我的出发点是查看 TI 的示例程序,它有一个心率监测器:http://processors.wiki.ti.com/index.php/Category: HealthDemo
但是,这使用了加密狗,我的任务是使用内部蓝牙 4.0 调制解调器(稍后将在 android 上实现,但现在,我只使用 windows)。
现在我的问题是加密狗创建了一个 COM 端口,但内部调制解调器没有。我仍然设法使用 32feet API 扫描并成功找到 CC2540。但是,从这里我不知道该怎么办。我试过调用 connect() 方法,但它总是无法连接,要么是超时,要么是说有一个死网。
任何想法为什么会发生这种情况?除了打电话给我的 device.connect() 之外,我还应该做点别的吗?
代码片段:
c# - 蓝牙 Brecham.Obex 32 英尺
我已经阅读了 32feet 示例,它可以执行 folderListings 操作,并且我计划制作更多可以上传和下载文件的文件资源管理器,
我的问题是,我可以使用 Brecham.obex 库上传和下载包括其内容的整个文件夹吗?任何帮助将不胜感激。
visual-studio - DeviceIoControl 返回 ERROR_INVALID_USER_BUFFER
我正在尝试使用 DeviceIoControl 调用IOCTL_BTH_GET_LOCAL_INFO,我相信它可以完成(根据蓝牙配置文件驱动程序 IOCTLs)。
我在使用 Visual Studio 2012(可能使用默认配置)的 Windows 7 x64 上。
句柄具有有效值(我删除了验证代码),但 DeviceIoControl 始终返回 ERROR_INVALID_USER_BUFFER(错误 1784)。
这是代码:
经过一番研究,我尝试了以下解决方案:
- 将结构包对齐更改为 1/4/8 字节(使用 VS 选项);
- 使用 8 字节对齐的值(后来我发现这已经发生了,即使数据类型小于 8 字节)。一段时间后,我在某处读到 DeviceIoControl 为您处理错位问题,因此可能无需担心。
上述所有解决方案都失败了。你觉得它是什么?VS 有很多针对 Win32 的配置,但是以前从来没有给我带来过问题(虽然是第一次使用 IOCTL)。
我已经在 32feet.NET 上看到了其中的一些代码,所以这可能只是我的一个错误(我看不出有任何区别)。
c# - 蓝牙和 C# PC -> 无需配对的手机连接
我正在尝试编写简单的应用程序,它将短信发送到蓝牙适配器范围内的手机。
我的第一次尝试是发送文件:我可以将文件从 PC 发送到手机,但我必须在手机和 PC 上输入 PIN。
我宁愿发送短信(类似于推送消息) - 是否可以在不配对设备的情况下发送?
如果无法发送推送消息,也许我可以在不请求 PIN 的情况下发送简单文件?
我使用 32 英尺图书馆。
示例代码(用于向选定设备发送文件)
32feet - 如何使 BluetoothDeviceInfo.Connected 为假?
如何断开蓝牙设备,使其BluetoothDeviceInfo.Connected
为假?
我尝试使用SetServiceState(BluetoothService.SerialPort, false)
,但它仍然可以连接。
我不想使用BluetoothSecurity.RemoveDevice
,因为卸载然后重新安装设备需要很长时间。
可能吗?还是仅在设备端可用?
c# - 通过蓝牙读取原始数据
我有一个数字人机接口设备,我正在尝试使用 32feet.net 连接它,这样我就可以从中读取输入数据并在我的应用程序中处理输出。我以前从未用蓝牙编程过,我边走边学。
我可以使用 microsoft/broadcom 堆栈将我的设备连接到 Windows 7 没问题。我也可以使用 32feet.net 发现该设备,但是当我尝试连接它时出现错误。我确保使用 BluetoothRadio.IsSupported 支持我的堆栈这是一个代码片段:
最后一行导致以下错误: System.dll 中发生“System.Net.Sockets.SocketException”类型的第一次机会异常
我也用client.Connect尝试了其他一些方法。我尝试使用 DiscoverDevices 获取 DeviceInfo 数组并手动从该数组中选择设备并连接到它。我尝试将 serviceClass 设置为 Empty,因为这是在我使用 DeviceInfo.ClassOfDevice.Service 时出现的。我已经能够使用 DeviceInfo.SetServiceState(BluetoothService.HumanInterfaceDevice, true) 将设备连接到 Windows,但无法从中获取流。
即使我可以在设备连接到 Windows 后从设备获取数据流,那也没问题。我的目标很简单,就是能够像按下按钮一样读取设备的输入。
c# - 32feet.net:如何通过 BluetoothClient 连接到特定的 COM 端口
我正在尝试使用 C#/Visual Studio 2010 构建一个 Windows 应用程序,它将执行以下功能(按顺序): 对于蓝牙操作,我正在使用 32feet.Net 库函数。
找到蓝牙设备并将它们列在列表/组合框中供用户选择。(我想允许用户选择多个设备,因此不去
SelectBluetoothDeviceDialog
上课选项。)。我可以通过 获取设备列表BluetoothClient.DiscoverDevices()
,但是,它不是异步操作。如果可能的话,我想进行异步操作。我阅读了有关BluetoothComponent
事件DiscoverDevicesProgress
和DiscoverDevicesComplete
方法的类,DiscoverDevicesAsync
但无法使其正常工作。如果可能,请为此分享示例代码。用户从列表中选择设备并单击“配对”按钮。到目前为止,我可以通过
BluetoothSecurity.PairRequest
. 这里没有问题。用户现在从“配对”列表中选择一个/多个设备并单击“连接”。在这里,我尝试使用
BeginConnect
(用于异步操作)和类Connected
的方法连接到设备,BluetoothClient
但出现以下异常。
System.Net.Sockets.SocketsException:{“提供的参数无效 000319002CC6:0000110100001000800000805f9b34fb”}。
上述异常中的数字是Connected
我使用传递的方法所需的 GUID 号BluetoothService.SerialPort
。这将失败,因为我的设备预计将连接到 COM7 端口。我不确定如何在特定的 COM 端口连接/配对设备?32feet.Net 库函数甚至可以实现吗?如果是这样,请提供代码示例。
参考注意事项:我已经阅读并尝试实现下面关于 StackOverflow 的文章中解释的代码。但是,由于我的要求(允许用户在 COM 端口配对并连接到多个设备),我无法运行相同的代码。但是,它确实有助于理解这个概念。 32feet.net 如何在 c# 中异步发现附近的蓝牙设备
请您建议处理这种情况的最佳方法。如果我应该尝试使用 32feet.Net 以外的任何其他库/函数,请告诉我。
我的最终目标是从连接的设备读取和写入数据。所以,到目前为止,我只是想通过蓝牙连接到特定的 COM 端口。
问候, 鲁米特
============================ 编辑:答案1的更新信息:
我收到了一个蓝牙设备(补丁),它应该连接到 TOSHIBA VIRTUAL BT COM 端口。如果需要东芝信息以更好地回答问题,我深表歉意。我不熟悉与端口的通信。到目前为止,我知道我需要使用 COM7。我有一个用 C++ 构建的应用程序,它通过蓝牙连接到 COM7 上的同一个补丁。但是,我没有源代码,我被要求在 C# 中实现相同的实用程序。从您的回复中,我可以假设 C++ 应用程序可能正在使用 Windows Sockets 2 吗?
此外,我可以看到一个选项来指定端口(整数值)值,BluetoothEndClient
但这也不起作用。因此,我假设该端口不是 COM,而是某种其他类型的端口。
问候, 鲁米特
c# - 32feet.net:提供的参数无效 - Parani 模块
我在使用 Windows 8 时遇到问题:以下代码始终适用于以前版本的 Windows。
“连接”方法总是抛出异常
System.Net.Sockets.SocketsException:{“提供了无效参数 *_myAddress*:0000110100001000800000805f9b34fb”}。”
Discovery 工作正常,所以我认为 BT Radio 工作正常。
硬件是“Dell Wireless 380 Bluetooth 4.0 Module”。
我正在连接到一个 Parani 模块 ESD100V2
感谢您提供的任何解决方案/建议/提示。
c# - 自动(蓝牙配对)与 windows 7 和手机
目前我正在用 C# 2010 编程 USB 蓝牙加密狗。我想以一种自动与找到的蓝牙设备配对的方式进行编程。我不希望用户在手机和 Windows 7 中手动接受配对请求。我正在使用我的手机 (X Peria S) 进行测试。这种编程方法可行吗?我尝试使用蓝牙的 32feet.net 库对此进行编码,这是我的代码
当我运行这个项目时,我看到了周围的蓝牙设备列表,但是当我想与之配对时,我会提示“连接尝试失败,因为连接方在一段时间内没有正确响应”
我认为问题出在 私人 Guid 服务 = BluetoothService.BluetoothBase但我不确定,我是否使用正确的服务 .BluetoothBase与我的手机配对?
是否有任何现有的解决方案?非常感谢任何帮助和建议。
谢谢。