用于手机的远程蓝牙摄像头触发器

Posted

技术标签:

【中文标题】用于手机的远程蓝牙摄像头触发器【英文标题】:Remote bluetooth camera trigger for phone 【发布时间】:2020-10-10 16:07:38 【问题描述】:

我想通过模拟 BLE 键盘为我的手机构建一个相机触发器,该键盘将音量调高键发送到通过蓝牙连接的手机。我想要这个是因为我想触发原生相机应用,而不是嵌入式相机视图。

我不知道所使用的技术,但为了简单起见,我希望它成为我 Macbook 中的命令行实用程序,例如 Go 或 Node.js。

我查看了 Node.js 的 Noble,它似乎并不以发射为导向,并找到了 projects for arduino,并找到了 couple of *** questions 提出相同的问题,但还没有确定的结果。

显然,Node.js 的 Bleno 项目可能更适合,但显然它已经非常过时了。

有人能给我指出正确的方向吗?

谢谢

编辑

我能够使用 Bleno 发出 0xEA 和 0xE9(显然是调高音量和调低音量),并且使用 LightBlue app 我可以检查是否接收到这些消息,但是,通过手机的蓝牙连接到 MacBook不会增加/减少音量。

编辑 找到这个用 Swift 3 编写的 outdated project 以供参考

编辑显然pybluez 项目看起来可能是一个不错的选择

【问题讨论】:

HID 需要绑定。然而 bleno 并不真正支持正确的粘合。 【参考方案1】:

你应该可以使用终端来做这件事。例如。在 Windows 中,您可以使用 start microsoft.windows:camera 启动相机应用

即使在 Mac 中也应该有类似的东西。试试看。否则,请转到存储相机应用程序的根目录。然后从代码中触发。

【讨论】:

很抱歉,这与我的要求相去甚远【参考方案2】:

您需要创建一个蓝牙 HID(或 HID over GATT)外围设备,您的手机可以连接到该外围设备并从中接收按键命令。

这里有一个项目是用 Raspberry Pi 完成的:

https://gist.github.com/ukBaz/a47e71e7b87fbc851b27cde7d1c0fcf0#gistcomment-2997623

不幸的是,底层蓝牙库不会移动到您的 Mac Book。

此处记录了 HID 协议:https://github.com/jpbrucker/BLE_HID/blob/master/doc/HID.md

【讨论】:

【参考方案3】:

总而言之,我认为您的意思是您想让笔记本电脑/台式机上的 cli 应用程序通过蓝牙连接到您的手机,并从笔记本电脑/台式机键盘模拟音量键。

安卓:

为此,您需要:

Python 3.5 或更高版本 PyBluez 键盘(Python 模块/API) android 工作室 Java 开发工具包 8(最好是 11 或 14) Android BLE

因此,为了做到这一点,我将使用 python3 创建一个 cli 应用程序,并使用键盘模块记录笔记本电脑/台式机上的按键,然后通过 PyBluez 模块将其传输(蓝牙)到您的手机。然后您的手机通过 Android BLE 接受蓝牙数据,然后模拟音量按钮按下。

免责声明: 这仅适用于手机已与您的电脑配对且仅适用于 4.4.4 及更高版本的 Android 手机。

一些可以帮助您的链接: Bluetooth lib for python 3 , detect key press in python? , Create a socket for 4.0 bluetooth transmission

ios

为此,您需要:

Python 3.5 或更高版本 PyBluez 键盘(Python 模块/API) XCode 斯威夫特 核心蓝牙模块

因此,为了做到这一点,我将使用 python3 创建一个 cli 应用程序,并使用键盘模块记录笔记本电脑/台式机上的按键,然后通过 PyBluez 模块将其传输(蓝牙)到您的手机。然后你的手机通过核心蓝牙模块快速接受蓝牙数据,然后模拟音量按钮按下。

免责声明: 手机和笔记本电脑/台式机必须在运行之前配对,这听起来很明显,但有些人可能会忽略这一点。

一些可以帮助您的链接: iOS use the volume buttons as input , https://developer.apple.com/documentation/corebluetooth/transferring_data_between_bluetooth_low_energy_devices

【讨论】:

以上是关于用于手机的远程蓝牙摄像头触发器的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的手机上拨打来电,触发我的电脑上的操作

jenkins构建触发器详解-不登录触发远程构建详解

从远程 onedit 可安装触发器访问其他谷歌电子表格

分支远程运行触发器不在Teamcity上运行

重新启动蓝牙时没有触发 didDetermineStateForRegion

核心蓝牙的 didUpdateValueFor 回调函数不触发