给师弟师妹一点建议

效率工具

1:公盘:搭建在局域网上的,可以设置密码,李老师在校学生可以直接从公盘拷贝资料,不需要用U盘/移动硬盘拷贝(如:每一届学生的资料可以存储,当然可以在李老师那里备份,平时互相传东西只要拖到公盘,其余人拷贝到自己电脑就可以);

2:优快云/博客:博客之类的都用起来,因为目前基本用MarkDown,格式很好,可读性强,大家平时觉得和我们学习和目前开发的项目有关系的,抑或是平时学习软件比较难实现的存在问题的(如coin3d拖拽器/碰撞检测)的都可以记录下来,搭建属于李老师学生的整个学习系统;

3:Git:分布式管理工具,全世界的程序员都在使用的工具,协作开发平台(gitlab)可以保护资料,并且很方便合代码等。(如肖全玉开发界面,刘真兴开发功能,康世亚开发控制程序文件),只需要你们三个git push就行,会自动合代码,并且每次改动都会有详细记录,如果最近开发的不想要,可以选取之前任意时间自己想要的代码。

4:机器人运动学动力学在开发过程中可以考虑使用现有的kdl,适用于所有机器人,只需要知道连杆参数,就可以构造运动学和动力学,同时里面也会包含平滑函数,规划函数等;并且我们要考虑开发的周期,实时性是很重要的,定时器可能以后要尽量避免使用。

当然还有很多,我目前觉得适合我们李老师学生情况的工具推荐给大家,我个人觉得磨刀不误砍柴功,我们要有效利用这些工具,提高我们的学习效率,并且不管是读博或者是上班,这些工具已经很普及。(举个例子,毕业生走了之后走过的弯路,新生可能还要走一遍,搭建好这些资料库之后,每个新生就会在之前的基础上继续学习和总结)

<think>嗯,用户想了解Qt中的蓝牙开发资料和示例代码。首先,我需要回忆一下Qt Bluetooth模块的相关知识。记得Qt提供了QBluetoothDeviceDiscoveryAgent来搜索设备,还有QLowEnergyController用于低功耗蓝牙。用户可能需要基础的服务器和客户端示例,以及设备搜索的步骤。 根据提供的引用,引用1提到了蓝牙服务器的实现,引用2讲到了设备搜索和连接按钮,引用4提到了教程和资料。所以应该结合这些内容来回答。需要确保代码示例符合用户的要求,比如服务器端如何监听连接,客户端如何搜索设备。 另外,用户可能需要知道如何获取更多资源,比如引用3和4中的教程下载地址和资料包。要注意按照系统指令,正确使用LaTeX格式,虽然这里可能用不上数学公式,但如果有涉及变量的地方要留意。最后生成相关问题,帮助用户深入理解蓝牙开发的其他方面。</think>### Qt蓝牙开发教程及示例代码 #### 一、蓝牙开发基础 Qt通过**Qt Bluetooth模块**提供蓝牙通信功能,支持蓝牙经典协议和低功耗蓝牙(BLE)。以下是核心类及其作用: - `QBluetoothDeviceDiscoveryAgent`:搜索附近的蓝牙设备[^2] - `QLowEnergyController`:管理BLE设备连接和数据交互 - `QBluetoothServer`:实现蓝牙服务端监听连接[^1] #### 二、示例代码实现 1. **设备搜索功能** ```cpp // 初始化设备搜索 QBluetoothDeviceDiscoveryAgent *discoveryAgent = new QBluetoothDeviceDiscoveryAgent(this); connect(discoveryAgent, &QBluetoothDeviceDiscoveryAgent::deviceDiscovered, [=](const QBluetoothDeviceInfo &device){ qDebug() << "发现设备:" << device.name() << device.address(); }); discoveryAgent->start(); // 开始搜索 ``` 2. **蓝牙服务器实现** ```cpp // 创建RFCOMM服务器 QBluetoothServer *server = new QBluetoothServer(QBluetoothServiceInfo::RfcommProtocol, this); connect(server, &QBluetoothServer::newConnection, this, &Server::clientConnected); // 注册服务 QBluetoothServiceInfo serviceInfo; serviceInfo.setAttribute(QBluetoothServiceInfo::ServiceName, "QtBluetoothServer"); QBluetoothUuid uuid("{00001101-0000-1000-8000-00805F9B34FB}"); // 标准串口UUID serviceInfo.registerService(uuid); ``` 3. **客户端连接示例**[^2] ```cpp void connectToDevice(const QBluetoothAddress &address) { QBluetoothSocket *socket = new QBluetoothSocket(QBluetoothServiceInfo::RfcommProtocol); socket->connectToService(address, uuid); connect(socket, &QBluetoothSocket::connected, [](){ qDebug() << "连接成功!"; }); } ``` #### 三、开发资源推荐 1. 官方文档:[Qt Bluetooth Overview](https://doc.qt.io/qt-5/qtbluetooth-overview.html) 2. 完整项目示例:[QT5蓝牙开发配套代码](https://download.youkuaiyun.com/download/xiaolong1126626497/18435038)[^3] 3. 学习资料包(含BLE开发教程、项目实战)[^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值