在已配对的Android和树莓派之间通过蓝牙进行数据传输

3
我正在一个项目中工作,在该项目中,我需要通过蓝牙在安卓设备和树莓派之间传输数据。但是,我刚接触这个领域,并不深入了解当两个设备配对时会发生什么。基于假设感兴趣的两个设备已经配对成功,编写这样的任务的起点在哪里呢? 我一直在阅读BluetoothSocket,但我仍然不确定从何处开始。有人能帮帮我吗?
非常感谢您的帮助!
2个回答

1

我一直在研究这个问题,以下是我找到的阅读材料。我想要专门使用Python编写代码,因此第一个是Python方面的内容,第二个是C++,但有非常详细的介绍。

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

这个也非常好,简介不太密集:

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

具体需要关注的部分涉及规划方面。《Beej编程指南》的介绍明确展示了套接字是什么以及它们在网络中的作用,包括流式套接字和数据报套接字。此外,它还展示了哪些套接字被使用以及哪些可用。前三章为我提供了足够的阅读基础,以便使用第二个文档确定一些事情。
麻省理工学院的第二章详细介绍了必须在结构层面上发生的每个步骤,包括L2CAP + UDT、RCOMM以及流媒体等。通过阅读这些内容,我能够确定我想要使用的网络是L2CAP。希望这些能帮助您确定所需设置的网络和编程语言。

你只提供了蓝牙编程指南的链接,需要补充细节说明OP如何实现他所需的功能。我不想给你点踩,但你的回答并不完整。 - Samvel Petrosov
会的。对此很抱歉。 - user69103

0
我之前一直在做同一个任务。关键是,在开始发送和接收数据之前,必须先建立连接。有两个设备端-一个连接(创建套接字),另一个接收连接(蓝牙服务器套接字),完成连接后提供连接。建立连接后,应停止接收传入连接或尝试建立任何连接。
从实现的角度来看,您应该为管理所有这些阶段实现几个线程-连接线程、接受线程、通信线程。Google有一个很好的例子:https://github.com/googlesamples/android-BluetoothChat。它使用了这种技术。唯一的缺点是它使用Handler(Android功能,允许线程进行通信)来通知用户蓝牙事件。我通过引入另一个线程修改了它,接收状态更新并调用回调接口中的方法,请随意使用项目中的代码:https://github.com/AlexShutov/LEDLights

非常感谢!我会尝试一下并告诉你结果。 - HumbleBumble

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接