android - 在android上使用Qt蓝牙连接到arduino

标签 android c++ qt bluetooth arduino

我从事的项目需要通过蓝牙连接 arduino Uno 和平板电脑 Android。

我搜索了两个星期如何使用 Qt 库来完成它。 目前我使用自定义库 ( http://qt-project.org/forums/viewreply/193094/ ),但这个库没有任何信号,所以我必须使用计时器来检查串行缓冲区上是否有数据。

我想使用“官方”Qt 库来访问信号/槽系统。

目前,我尝试将我的 arduino 设置为主设备和从设备,并据此设置 android,但没有任何效果。 我想在 android 上实现的目标:

启动应用

连接到已经配对的arduino(知道地址)

从arduino板接收到消息时得到一个信号

我想做的一件事是使用 QBluetoothSocket 连接到 arduino(arduino 作为从设备,android 作为服务器)但是 QBluetoothSocket 似乎只能在 android 的从模式下工作。 QBluetoothServer 无法让我从我的 Qt 应用程序连接到 arduino。

感谢您的帮助!

编辑:我试试这个:

    socket = new QBluetoothSocket(QBluetoothServiceInfo::RfcommProtocol);
qDebug() << "Socket créé";
socket->connectToService(QBluetoothAddress("00:13:EF:00:06:4F"), QBluetoothUuid(serviceUuid), QIODevice::ReadWrite);
qDebug() << "Tentative de connection";

但是我明白了:

W/System.err( 4861): java.io.IOException: Service discovery failed W/System.err( 4861): at android.bluetooth.BluetoothSocket$SdpHelper.doSdp(BluetoothSocket.java:462) W/System.err( 4861): at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:240) W/System.err( 4861): at dalvik.system.NativeStart.run(Native Method) W/Qt ( 4861): (null):0 ((null)): qt.bluetooth.android: Falling back to workaround. W/Qt ( 4861): (null):0 ((null)): qt.bluetooth.android: Using found rfcomm channel -1 W/Qt ( 4861): (null):0 ((null)): qt.bluetooth.android: Invoke Resulted with error.

最佳答案

终于成功了!

我必须使用这个 uuid :

static const QString serviceUuid(QStringLiteral("00001101-0000-1000-8000-00805F9B34FB"));

因为Bt盾有一个默认的。上面的代码现在可以工作了。

关于android - 在android上使用Qt蓝牙连接到arduino,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28231784/

相关文章:

android - 带有图像和文本的微调器

c++ - 为什么我们需要 [dcl.init]/(6.2) 中下面突出显示的句子?

c++ - 基于栈的虚拟机函数调用/返回实现问题

qt - 边框图像不适用于 QWidget

java - ADT 22.6.2 超时线程 - org.osgi.framework.BundleException : State change in progress for bundle -

android - 如何打破 CountDownTimer

android - 使用SafeArgs将参数从 fragment 传递到 Activity

c++ - 是否有一个 "built in way"可以用 glog 记录一切直到程序崩溃?

c++ - 获取一段代码的执行时间

c++ - qt4 和 CMake 的链接器问题