登录
首页 >  Golang >  Go问答

覆盆子信标是否能够检索所有数据?

来源:stackoverflow

时间:2024-02-22 09:45:25 167浏览 收藏

一分耕耘,一分收获!既然都打开这篇《覆盆子信标是否能够检索所有数据?》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我想使用 Raspberry Pi Zero W 以及 iOS 和 Android 应用程序(我将开发)构建一个 BLE 信标,我将列出信标并选择一个来发送 4-6 字节的数据以触发某些操作圆周率。信标可以做到这一点吗?或者我应该使用其他东西。我正在用 Go 编写,我不想配对设备。


解决方案


是的,可以对 raspberry pi zero w 扫描信标,并根据看到的标识符采取行动。 (尽管请注意,这必须是 zero w。基础 raspberry pi zero 不具备无线功能。)

您在 raspberry pi 上的 go 中找不到信标检测代码,因此最好的选择是使用本机 c 程序来执行信标扫描部分,并从 go 程序中将其作为 shell 脚本调用。我在 raspberry pi 上使用以下 c 程序来扫描信标:

https://gist.github.com/davidgyoung/0a18028b4338ff6cb201fba274502662

该程序必须在 raspberry pi 上使用 cc scanner.c -lbluetooth -o scanner 进行编译,之后您可以仅使用 scanner 启动扫描仪。程序的输出将是这样的:

B8:27:EB:1F:93:4D -68 02 01 06 11 06 82 75 25 D9 37 9D D7 8F 5F 4A F4 20 00 00 75 30
71:5C:23:9D:BC:7F -68 02 01 1A 02 0A 0C 0B FF 4C 00 10 06 03 1A 3B D4 B2 EB
B8:27:EB:1F:93:4D -68 02 01 06 11 06 82 75 25 D9 37 9D D7 8F 5F 4A F4 20 00 00 75 30
4A:53:7F:64:71:EC -91 03 03 9F FE 17 16 9F FE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
69:0D:FF:7B:75:65 -73 02 01 1A 02 0A 0C 0A FF 4C 00 10 05 03 1C 27 BB 63
61:39:71:E9:1D:C9 -93 02 01 1A 02 0A 18 0A FF 4C 00 10 05 01 18 3B 24 12
B8:27:EB:1F:93:4D -68 02 01 06 11 06 82 75 25 D9 37 9D D7 8F 5F 4A F4 20 00 00 75 30

上面的每一行显示检测到的蓝牙设备的 mac 地址,后面是信号强度 rssi,然后是广告的十六进制字节。

您的 go 程序需要读取 scanner 输出的每一行,然后解析广告的字节以查找信标模式,以便在看到具有特定字节模式的数据包(表明手机发送了取出那个数据包。)

今天关于《覆盆子信标是否能够检索所有数据?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>