[英]Use Qt Bluetooth on android to connect to an arduino
我在一個項目中需要通過藍牙連接arduino Uno和平板電腦Android。
我現在搜索了兩個星期如何使用Qt庫。 目前,我使用一個自定義庫( http://qt-project.org/forums/viewreply/193094/ ),但是該庫沒有任何信號,因此我必須使用計時器來檢查數據是否在串行上緩沖。
我想使用“官方” Qt庫來訪問信號/插槽系統。
目前,我嘗試將arduino設置為master和slave,並根據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:服務發現失敗W / System.err(4861):在android.bluetooth.BluetoothSocket $ SdpHelper.doSdp(BluetoothSocket.java:462)W / System.err( 4861):在android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:240)W / System.err(4861):在dalvik.system.NativeStart.run(Native Method)W / Qt(4861):(null): 0((null)):qt.bluetooth.android:退回到解決方法。 W / Qt(4861):(null):0((null)):qt.bluetooth.android:使用找到的rfcomm通道-1 W / Qt(4861):(null):0((null)):qt。 bluetooth.android:調用導致錯誤。
終於我明白了!
我必須使用這個uuid:
static const QString serviceUuid(QStringLiteral("00001101-0000-1000-8000-00805F9B34FB"));
因為Bt防護罩具有默認防護罩。 上面的代碼現在可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.