草庐IT

android - 16 个蓝牙振动器连接到 Android 手机

coder 2023-11-20 原文

我们想使用蓝牙将 16 个振动器连接到 Android 手机,并单独控制振动器。

据我所知,一个微微网中只能有八个设备,因此这将限制七个振动器(手机本身就是第八个设备)。首先:这是正确的吗?

最多七台连接的设备在 Android 中能正常可靠地工作吗?还是 Android 的蓝牙实现或 API 存在一些额外的限制或问题?

对于我们的 16 个振动器,我们是否必须构建一个带有附加设备的散射网,以在电话的微微网和带有一些振动器的其他微微网之间桥接?有没有人有这方面的经验,效果好吗?

(不,这不是性玩具!)

最佳答案

As far as I know, you can only have eight devices in a piconet, so that would place a limit of seven vibrators (the phone itself being the eighth device). First of all: Is that correct?

准确地说是技术上的精确 - Bluetooth Classic 最多可以连接 7 台设备并处于 Activity 连接状态 一次。但是随后可以将 Activity 设备置于停放模式并且它可以有大量设备处于停放模式,因此设备可以从连接- Activity 状态移动到停放状态,反之亦然。 但同样在任何时候你只能有 7 个 Activity 设备所以主设备应该通过保持(最多 7 个) Activity 和休息停放并保持在 Activity 和停放模式之间切换它们来管理大量设备。

And do up to seven connected devices work well and reliably in Android? Or is there some additional limit or problems from Android's Bluetooth implementation or APIs?

在 Android 中,问题是 - 没有一种实现,不同制造商使用许多不同的蓝牙 radio 硬件。所以答案是视情况而定。有些非常可靠有些真的很糟糕。 但是没有公共(public) API 来控制/使用我上面描述的公园模式 - 但是如果你可以在内部操作或者可以从你的应用程序访问它,你可以做你要求的,

On Scatternet :

同样,Android 没有任何 API 供您控制它,这会很复杂 - 但您可以强制它进入散射网配置,但同样存在限制 - 我在商业设备中看到的最好的设备是同时处于2或3个微微网中,这意味着您一次可以连接到(7 + 2)9个设备(这不符合您16个的要求)。

桥接/网状配置可能是可行的 - 如果您的 2 台设备形成自己的 piconetcs,即每组有 8 台设备,然后组长(Master)连接到 Android 设备 - 您可以在应用程序中管理数据中继.

说了这么多 - 你看过低功耗蓝牙吗 - 连接一堆传感器设备的完美选择 - 一次可以连接的设备数量没有理论上的限制 - 但实际上是 16 或更大是非常可行的。 Android 目前没有公共(public) API。 (截至今日) 但是大多数(几乎所有)最新的 adroid 设备都带有 4.0 版的蓝牙硬件,这意味着它能够支持蓝牙低功耗。 iOS 设备 - Mac、iPhone、iPad 拥有强大的支持和开发人员访问权限/api。 所以这将是要走的路,我很确定 Android 很快就会为 BLE 提供开发者 API(至少我希望如此)

关于android - 16 个蓝牙振动器连接到 Android 手机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14500512/

有关android - 16 个蓝牙振动器连接到 Android 手机的更多相关文章

  1. ruby - 续集在添加关联时访问many_to_many连接表 - 2

    我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以

  2. ruby - 无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1 :7055) - 2

    我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类

  3. 怎样用一台手机做自媒体? - 2

    其实做自媒体的成本并不高,入门只需要一部手机即可!在手机上找视频素材、使用手机剪辑视频、最后使用手机发布视频作品获得收益!方法并不难,今天这期内容就来给粉丝们分享一种小方法,每天稳定收益100-300,抓紧点赞收藏!1、找素材(1)使用手机拍摄自己喜欢的经典段落,使用程序把文案内容提取出来(2)也可以在豆瓣、知乎、微博等网站中找一些自己需要的文案素材(3)把文案进行润色修改,可以加入一些自己的观点(4)视频素材可以使用软件中自带的素材,也可以在素材网站中下载完整版的素材2、文案配音(1)把复制好的文案直接导入小程序中(2)调整音色、音调后一键合成音频即可(3)可以选择自己朗读配音,需要花一点时

  4. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  5. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  6. ruby - 我的 Ruby IRC 机器人没有连接到 IRC 服务器。我究竟做错了什么? - 2

    require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame

  7. ruby-on-rails - 连接字符串时如何在 <%=%> block 内输出 html_safe? - 2

    考虑一下:现在这些情况:#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2我需要用其他字符串输出URL。我如何保证&符号不会被转义?由于我无法控制的原因,我无法发送&。求助!把我的头发拉到这里:\编辑:为了澄清,我实际上有一个像这样的数组:@images=[{:id=>"fooid",:url=>"http://

  8. ruby - Faye WebSocket,关闭处理程序被触发后重新连接到套接字 - 2

    我有一个super简单的脚本,它几乎包含了FayeWebSocketGitHub页面上用于处理关闭连接的内容:ws=Faye::WebSocket::Client.new(url,nil,:headers=>headers)ws.on:opendo|event|p[:open]#sendpingcommand#sendtestcommand#ws.send({command:'test'}.to_json)endws.on:messagedo|event|#hereistheentrypointfordatacomingfromtheserver.pJSON.parse(event.d

  9. ruby-on-rails - 什么会导致与 APNS 的连接间歇性断开连接? - 2

    我有一个ruby​​脚本可以打开与Apple推送服务器的连接并发送所有待处理的通知。我看不出任何原因,但当Apple断开我的脚本时,我遇到了管道损坏错误。我已经编写了我的脚本来适应这种情况,但我宁愿只是找出它发生的原因,这样我就可以在第一时间避免它。它不会始终根据特定通知断开连接。它不会以特定的字节传输大小断开连接。一切似乎都是零星的。您可以在单个连接上发送的数据传输或有效负载计数是否有某些限制?看到人们的解决方案始终保持一个连接打开,我认为这不是问题所在。我看到连接在3次通知后断开,我看到它在14次通知后断开。我从未见过它能超过14点。有没有人遇到过这种类型的问题?如何处理?

  10. ruby - 如何断开现有的 ruby​​ 续集与数据库的连接? - 2

    我的意思是之前建立的那个DB=Sequel.sqlite('my_blog.db')或DB=Sequel.connect('postgres://user:password@localhost/my_db')或DB=Sequel.postgres('my_db',:user=>'user',:password=>'password',:host=>'localhost')等等。Sequel::Database类没有名为“disconnect”的公共(public)实例方法,尽管它有一个“connect”。也许有人已经遇到过这个问题。我将不胜感激。 最佳答案

随机推荐