问题标签 [external-accessory]

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.

0 投票
0 回答
470 浏览

ios - 与蓝牙 MFi 设备通信

我正在开发一个与汽车主机通信的应用程序。此主机支持 MFi。

I started with this question and I was successful in connecting my iPhone via USB. It appeared in list of connected devices.

But when I'm pairing it via bluetooth there is no devices.

0 投票
1 回答
279 浏览

ios - 将数据从 iOS 应用程序发送到外部连接的非 iOS 设备

我正在开发一个 iOS 应用程序。概念是我有一个 iOS 设备和一个电池盒(它使用连接器连接到 iOS 设备。这些电池盒是我的公司)。如果我单击 iOS 应用程序中的按钮,它应该打开电池盒开关并开始为 iPhone 充电。

1. 谁能告诉我如何通过连接器使用 iOS 应用程序与电池盒通信。

2. 这个电池壳需要订阅苹果MFi程序吗?

任何建议或链接都​​会非常有帮助。提前致谢

0 投票
1 回答
368 浏览

ios - 用于检测其他 iPhone 或 iMac 的 iOS 外部附件框架

是否可以使用 iOS 的 External Accessory Framework 来检测其他 iPhone、iPod 和 iMac 等 Apple 产品?还是仅适用于MFi程序下的配件?或者我可以使用 CoreBluetooth 框架吗?

0 投票
3 回答
8016 浏览

android - PhoneGap、usb外接设备和Android主机模式之间的通信

我需要在 Android 上使用 PhoneGap 与外部设备通信。

它通过带有PhoneGap插件的蓝牙工作。现在我想通过 USB 端口进行通信。

通过使用 Android 设备的 USB 主机功能,PhoneGap 是否可以访问外部设备?

任何现有的 PhoneGap / Cordova 插件?

有什么例子吗?

我很难找到类似的东西来证明我的概念......

0 投票
2 回答
4106 浏览

xamarin.ios - Xamarin iOS 上的 ExternalAccessory

有人知道如何在 Xamarin.iOS 上使用 ExternalAccessory API 吗?

我的 Xamarin Studio 版本是 4.0.12(内部版本 3)、Xamarin.Android 版本 4.8.1、Xamarin.iOS 版本 6.4.5.0 和 Xcode 是版本 5.0 (5A1413),我尝试同时针对 6.1 和 7.0 iPad/iPhone。

我已经浏览了互联网,并且没有太多文档。甚至 MonoTouch 文档也有损坏的链接。

我想要的是,列出连接的蓝牙设备,然后按名称获取其中一个,然后连接到它,这样我就可以打开一个套接字并开始向它发送数据。它是使用串行通信的设备,是的,它具有 Apple 外部附件协议 ID。

我试过这个:

它只是给我一个异常 InvaidCastException。

有什么线索吗?

谢谢!我真的很感激帮助。

PS:Xamarin 详细信息

0 投票
1 回答
2127 浏览

ios - RN42 蓝牙在 iOS 上的流数据数秒内断开连接

我一直在尝试使用 RN-42 通过蓝牙 2.1 从设备读取数据。设备与 iPhone 或 iPad Mini 配对,数据短暂传输,但 iOS 和 BT 模块会在几秒钟内(不到 10 秒)断开连接(取消配对)。该设备以 5-10kB/s 的速度输出数据,完全符合蓝牙规范。我还注意到,当我运行函数 NSInputStream, [NSInputStream read: maxLength:] 时,返回的字节数始终为 158 或更少。应用程序和硬件不会崩溃,但蓝牙只是取消配对。

即使在断开连接后,该设备仍在向 RN42 发送数据,这降低了电子设备出现问题的可能性。此设置在 Android 设备上也可以正常工作。我可以在没有任何断开或崩溃的情况下流式传输数据。

我尝试过的事情...

  • 遵循 Apple 提供的外部附件示例 EADemo。
  • 纯粹使用运行循环而不是轮询。
  • 按照本文中的建议将流放在后台线程上。
  • 删除所有 NSLog 以帮助提高性能。
  • 在调试和发布模式下编译。

一种有效的方法是减慢数据传输速度(即低于 5kB/s),因为这允许 iOS 和 BT 模块在断开连接之前保持连接并传输更长时间的数据。

0 投票
1 回答
1248 浏览

ios - 阻止与 ios 附件的通信

Apple 似乎建议使用 runloop 与外部附件进行数据通信。但是,除非我遗漏了什么,否则运行循环不是很适合某些类型的通信。

我们有一个 -experimental- 附件,我们需要向其发送任意数量的字节(最多 1024 个字节),然后是附件处理该数据(可变延迟,例如在 1ms 到 1000ms 之间),然后是来自附件的可变长度响应(最多 1024 个字节)。

我们想开发一个用于与配件通信的静态库(框架)。基本上,这个库将有一个函数,它接受一个 NSArray 或 NSMutableArray 作为输入,并返回包含响应的 NSArray 或 NSMutableArray。

问题是推荐的 runloops 策略不太适合这种类型的应用程序。在静态库函数中,在准备好要传输的数据并调度传输之后,我们不得不进入某种“等待”状态。但是,这种等待状态不能基于轮询方法(例如等待接收路由设置的 -synchronized- 变量),因为这样接收例程永远不会执行(因为它们在同一个线程上) .

如果我们不使用runloops,那么我们就无法知道何时读取数据,因为我们不知道数据何时到达。

关于如何解决这个问题的任何想法或建议?有没有例子?

0 投票
1 回答
3251 浏览

ios - OutputStream hasSpaceAvailable 永远不会变成“真”

在带有 ios 6.1.3 的 iPhone 上,我正在尝试写入 outputStream,而没有 NSRunLoop。我的流只是通过以下方式初始化:

然后,在代码的其他地方,当我尝试按如下方式传输数据时:

'hasSpaceAvailable' 方法永远不会返回 true,因此代码卡住了。

为了发送数据,是否需要为输出流完成任何其他初始化任务?

0 投票
1 回答
79 浏览

iphone - EADemo可以发送http请求吗

有人可以建议是否可以修改 EADemo 以发送 HTTP 请求(自定义标头和正文)。在我正在进行的项目中,外部附件将使用 http 请求接收数据。

在 EADemo 上书写的方法是

0 投票
1 回答
456 浏览

c# - ExternalAccessory InputStream/OutputStreams 为空?

我正在尝试同步使用 InputStream/OutputStream(如普通 IOStreams)以读取/写入特定的蓝牙设备。我知道这样做是可能的,因为我们有一些可以与我们的小工具一起使用的 Objective-C 代码 - 但是我们正在使用第三方 c# 库并且需要让它在 c# 中工作。

我已经做到了这一点:

我可以看到 _session 已在内存中分配 - Xamarin 向我展示它现在具有非空指针和数据类型 - 但是 InputStream 和 OutputStream 都是空的(因此我无法打开它们,因为这会引发 nullref 异常)。

如何让 OutputStream 和 InputStream 不为空?

(我正在尝试阅读很多苹果文档,但他们的代码示例都在 Objective-C 中,我只是勉强理解......而且 Objective-C“内存管理”语句不适用?)

编辑另外,我检查了 myEAAcessory 不为空,并且返回 true: