通过蓝牙在成对的 Android 和 Raspberry PI 之间传输数据

Data transfer via bluetooth between paired Android and Raspberry PI

我正在做一个项目,我需要通过蓝牙在 android 和 raspberry pi 之间传输数据。但是,我对此很陌生,我对两个设备配对时会发生什么没有深入的了解。基于两个感兴趣的设备已经配对的假设,为此类任务编程的起点是哪里?我一直在阅读 BluetoothSocket,但我仍然不确定从哪里开始。谁能帮帮我?

在此先感谢您!

我刚才一直在做同样的任务。关键是,为了开始发送和接收数据,您必须先建立连接。有两个连接设备(创建套接字)和另一个接收连接(蓝牙服务器套接字),一旦连接完成就发出连接。建立连接后,您应该停止接收传入连接或尝试建立任何连接。 从实现的角度来看,您应该实现几个线程来管理所有这些阶段——连接线程、接受线程、通信线程。 Google 中有一个很好的例子:https://github.com/googlesamples/android-BluetoothChat . It uses that technic. The only drawback is that it uses Handler (Android feature, allowing thereads to communicate) for informing user about Bluetooth events. I modified it a bit by introducing another thread, receiving status updates and calling methods from callback interface, feel free to use code from project: https://github.com/AlexShutov/LEDLights

我一直在研究同一个问题,这是我在这边找到的阅读材料。我一直在寻找 python 中的专门代码,所以这是第一个的角度,第二个是 C++,但有一个非常详尽的介绍。

https://people.csail.mit.edu/albert/bluez-intro/index.html

这个也不错,前奏不是很密集:

http://beej.us/guide/bgnet/output/html/multipage/index.html

具体要看的部分涉及规划方面。 beej 编程指南的介绍具体说明了套接字是什么以及它们如何适应网络意义。这意味着流套接字和数据报套接字。它还显示使用了哪些套接字以及哪些套接字可用。第 1 章到第 3 章为我提供了足够坚实的阅读基础,可以使用第二个文档来确定一些事情。

MIT 文档的第 2 章详细介绍了必须在结构级别发生的每个步骤,包括 L2CAP + UDT、RCOMM 以及任何流。通过阅读这些内容,我能够确定我想要使用的网络是 L2CAP。我希望这些可以帮助您指明正确的方向,尽管就您想要设置的网络以及您想要使用哪种语言进行编程而言。