问题标签 [peripherals]

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 投票
1 回答
61 浏览

bluetooth-lowenergy - Android外设模式检测

谁能给我打电话,有没有可能检查BLE正在运行的模式(即中央模式或外围模式)?如果是这样,我们可以根据什么找出答案。我正在使用 BCM20702。它说它支持两种模式。但是有没有一种方法可以让我们知道设备在哪种模式下工作?

问候,

沙迪亚

0 投票
1 回答
99 浏览

javascript - 是否可以与 webapp 中的任意客户端外围设备进行交互?

我知道网络应用程序可以访问麦克风和网络摄像头等媒体设备,以及智能手机 GPS 等其他硬件。据我所知,这是针对每种特定类型的设备通过严格限制的协议来完成的。

但是,我有一台先进的科学相机。它只对计算机有用——它附带一个用于控制它和拍照的桌面应用程序。它还附带一个 C/C++ SDK,以便在您自己的应用程序中与它交互。

浏览器显然无法将其识别为网络摄像头。即使这样做了,除了最基本的功能之外的所有功能都将被忽略。 摄像头在客户端。是否可以编写一个可以与该相机交互并使用其所有功能的 web 应用程序? 我不是在寻找一个完整的解决方案,我什至不知道要谷歌什么。

任何数量的手动解决方案在这里都是公平的。 从普通的 JavaScript 到浏览器插件,再到位于硬件、相机和浏览器之间的自定义桌面中间件伪驱动程序,应有尽有。即使将客户端绑定到特定的操作系统也可以。

0 投票
3 回答
9366 浏览

android - 蓝牙外设 ADVERTISE_FAILED_DATA_TOO_LARGE

我正在尝试在 NEXUS 9 中做广告并收到 ADVERTISE_FAILED_DATA_TOO_LARGE 的错误。当我在成功发布广告后添加服务时,它工作得非常好,但是如果我通过 Advertise Data builder 添加服务以便其他设备可以在扫描时进行过滤,我会收到错误代码 1,即 ADVERTISE_FAILED_DATA_TOO_LARGE

a) 工作守则

并添加服务:

b)最初添加服务时不起作用,以便可以通过过滤器被中央发现:

在调用之前调用BLEBroadcast()函数startAdvertisingService()并添加

给出错误代码 1 的广告失败。

0 投票
2 回答
440 浏览

communication - CPU 和外围设备之间的通信是由 MMU 做的吗?

我知道在大多数现代架构中,CPU 将读写请求发送到内存管理单元,而不是直接发送到 RAM 控制器。

如果其他外设也被寻址,也就是说,使用地址总线读取和写入,那么这些地址是否也通过虚拟地址访问?换句话说,与 USB 驱动器等对话时,CPU 是否会将目标虚拟地址发送到 MMU,然后将其转换为物理地址?或者它只是简单地写入一个没有中间设备的物理地址?

0 投票
1 回答
621 浏览

c++ - 在 Qt 5.5 的主循环中持续检查

我有一个在线性路径上移动的设备,基本上是一个线性致动器。当设备到达物理端时,它会碰到一个限制触点,该触点会向我的软件发送信号。我将需要不断检查此信号是否在线。但是我在 Qt5.5 中实现这个逻辑时遇到了困难。

我一直在阅读,这似乎是一个可行的解决方案,但在试驾中实施后,我发现如果没有某种循环QtConcurrent,我无法解决我的问题。while(true)然而,实现一个while(true)循环似乎会减慢我代码上的所有其他内容,因此使这个解决方案完全无用。

我会发布代码,但考虑到它使用的库和设备命名法是非常特定的利基市场,我不会让你痛苦,但如果有人能指导我阅读类似的东西,我将不胜感激。我宁愿避开QtThread并基本上手动设置线程,因为此时我对使用它们感到不舒服,而且我对这个项目有时间限制,所以最好不要做太多实验。

tldr:我需要以某种方式将一些代码放在程序的主循环中,以检查布尔值的变化。通过以太网通信的设备将所述变化发送到外部的程序。

0 投票
1 回答
45 浏览

linux - 跟踪在 Linux 操作系统上运行的应用程序的外围交互

是否有记录外围交互的机制。例如,如果有一个应用程序在 Linux 内核上运行,它通过 UART、CAN 或任何其他接口与物理世界交互。在这种情况下,是否有一些命令或工具可以记录这些交互(不需要传输的数据),以便了解应用程序与哪个外围设备交互......

提前致谢

0 投票
1 回答
88 浏览

usb - 有没有办法唯一标识主机设备上的特定 USB 端口?

这个问题可能非常广泛,但我试图让它与平台无关。

如果我将设备连接到计算机上的 USB 端口,该设备是否可以唯一标识它所连接的端口?

例如,我有一台带有 10 个 USB 端口的 PC。我有一部智能手机,如果它连接到端口 1,它被编程为运行功能 A,如果它连接端口2 则运行功能 B,等等......

智能手机(在这种情况下是外围设备)是否可以识别主机上的特定端口?

有没有办法可以识别整个主机设备?

基本上,外围设备对主机有什么了解吗?

0 投票
1 回答
1376 浏览

swift - 具有特定标识符的 CoreBluetooth 扫描外围设备

我目前正在使用 CoreBluetooth 扫描我之前使用特定标识符连接的外围设备,然后只连接到外围设备。我知道我可以通过使用服务扫描外围设备来做到这一点,然后与标识符进行比较,如果条件满足,然后连接到外围设备,如下面的代码

有没有其他正确的方法可以直接扫描特定的外围设备?谢谢

0 投票
1 回答
3637 浏览

gdb - 使用 JLink 和 GDB 读取 Cortex M0 MCU 的外设寄存器

我正在尝试使用 GDB 读取 MCU 的 ADC 寄存器,但我似乎无法找到它是如何完成的。

使用x\10x 0x40012708ingdb只返回零,我尝试读取的任何内存映射外围寄存器也是如此。

这有可能吗?如果是这样,它是如何完成的?

谢谢!

0 投票
1 回答
913 浏览

cpu - CPU如何知道外围设备的物理地址范围?

例如,它如何知道以下之间的所有地址:

0xXXXXXX 和 0xYYYYYY

映射到 RAM / 显卡 / 显示器 / 等...

在主板上?