Qt编写蓝牙发射器(发射服务)

使用Qt的QBluetooth 进行编写蓝牙通信,目前只支持Symbian和Windows。
QBluetoothServer的参数QBluetoothServiceInfo::Protocol

QBluetoothServiceInfo::RfcommProtocol 2 服务使用FrCOMM套接字协议。
QBluetoothServiceInfo::UnknownProtocol 0 服务使用未知的套接字协议。
QBluetoothServiceInfo::L2capProtocol 1 该服务使用L2CAP套接字协议。该协议不支持Android上的直接套接字连接。

FrCOMM套接字协议:是一个基于欧洲电信标准协会ETSI07.10规程的串行线性仿真协议。此协议提供RS232控制和状态信号,如基带上的损坏,CTS以及数据信号等,为上层业务(如传统的串行线缆应用)提供了传送能力。
RFCOMM是一个简单传输协议,其目的为了解决如何在两个不同设备上的应用程序之间保证一条完整的通信路径,并在它们之间保持一通信段的问题。

L2CAP套接字协议:L2CAP英文名Logical Link Control and Adaptation Protocol也称为逻辑链路控制和适配协议,是蓝牙系统中的核心协议,负责适配基带中的上层协议。
L2CAP同链路管理器并行工作,向上层协议提供定向连接的和无连接的数据业务。这个上层具有L2CAP的分割和重组功能,使更高层次的协议和应用能够以64KB的长度发送和接收数据包。
L2CAP还能够处理协议的多路复用,以提供多种连接和多个连接类型(通过一个空中接口),同时提供服务质量支持和成组通讯。

信号的连接方式:

传统的Qt信号与槽的连接方式 这种方式没法进行编译检测,就算没有这个信号和槽也是可以关联的 编译不报错
// 传统Qt4连接方式为 信号发送者,信号,信号接受者,处理函数
QObject::connect(sender,SIGNAL(send_signals),recver,SLOT(recv_slots()));
//传统的连接方式 信号发射到转发
QObject::connect(sender,SIGNAL(send_signals),recver,SIGNAL(recv_signals()));

Qt5连接方式 在编译的时候就会有监测,如果我们手误操作失误,就会出现问题 以按钮为例
QObject::connect(ui->pushButton,&QPushButton::clicked,recver,&Widget::qT5_slot);

Qt5 Lambda表达式 是C++ 11 的内容,所以,需要再Pro项目文件中加入 CONFIG += C++ 11
QObject::connect(ui->pushButton,&QPushButton::clicked,={执行表达式});

qt关于版本上的蓝牙的介绍,暂时没有Windows系统

猜你喜欢

转载自blog.csdn.net/qq_28327895/article/details/82711299