公司買了個藍芽吊秤,想將重量傳到系統,我在網上找了一些資料,有以下一段**:
裝置是之前與藍芽匹配了的,可以找到
藍芽guid也是正確的
但在接收資料時,在這句**停住了,也不報其它錯誤
bluetoothclient = bluetoothlistener.acceptbluetoothclient();
應該是不能連線藍芽
不知道有沒有大神做過類似的程式,幫忙指點一二
感激不盡!!
bluetoothlistener bluetoothlistener ;
thread listenthread;
bluetoothclient bluetoothclient = new bluetoothclient();
bool isconnected;
public bool openport()
inthehand.net.bluetooth.bluetoothradio.primaryradio.mode = inthehand.net.bluetooth.radiomode.connectable;
inthehand.net.sockets.bluetoothclient cli = new inthehand.net.sockets.bluetoothclient();
inthehand.net.sockets.bluetoothdeviceinfo devices = cli.discoverdevices();
foreach (inthehand.net.sockets.bluetoothdeviceinfo device in devices) //裝置搜尋
device.update();
device.refresh();
if (device.devicename == "bf10-a")
this.textbox2.text = "裝置已找到";
break;
thread receivethread = new thread(receivedata);
receivethread.start();
return true;
public void receivedata()
#region
tryguid mguid = guid.parse("00001101-0000-1000-8000-00805f9b34fb");
bluetoothlistener = new bluetoothlistener(mguid);
bluetoothlistener.start();
bluetoothclient = bluetoothlistener.acceptbluetoothclient();
isconnected = true;
catch (exception ex)
isconnected = false;
messagebox.show(ex.tostring());
while (isconnected)
string receive = string.empty;
if (bluetoothclient == null)
break;
trystream peerstream = bluetoothclient.getstream();
byte buffer = new byte[6];
peerstream.read(buffer, 0, 6);
receive = encoding.utf8.getstring(buffer).tostring();
textbox1.text = receive;
catch (system.exception)
thread.sleep(100);
#endregion
客戶端有沒有匹配成功?
估計bluetoothlistener.acceptbluetoothclient(); 這個會阻塞當前的執行緒。
裝置廠家沒給通訊協議?確定不需要你先傳送什麼請求,裝置就直接不停給你傳資料?
按理說這類裝置應該都是作為從站,只有主站傳送指令才會有響應.
否則如果你買了2個秤,還必須弄兩個帶藍芽的電腦去讀資料?
**裡面有發現其他藍芽裝置的**,但是好像沒有看到藍芽裝置配對的**,傳送接收資料是以連線上兩台裝置為基礎的
摘自bluetoothdeviceinfo bd = new bluetoothdeviceinfo(devices[0].deviceaddress);
bluetoothclient = new bluetoothclient();
guid mguid = guid.parse("fa87c0d0-afac-11de-8a39-0800200c9a66");
bluetoothclient.connect(devices[0].deviceaddress, mguid);//客戶端對位址實現連線,這是乙個阻塞執行緒,需要伺服器端的回應
thread receivethread = new thread(receivedata);
receivethread.start();
也可以參考一下開源專案中關於藍芽連線的介紹
c 讀藍芽資料 通過藍芽接收資料到c 程式
我正在使用thehand庫 32feet.net 我有乙個啟用藍芽的裝置,我想將裝置連線到我的計算機,然後將資料從裝置傳送到計算機 然後我想用我的程式捕獲這些資訊並進行處理 裝置將傳送3個變數 全部3個浮點數 我如何用藍芽捕獲這些資訊?我之前從未在電腦上使用藍芽 但是不知道我在做什麼,所以我不能讓它...
c 讀藍芽資料 C 程式設計連線藍芽裝置,檔案收發
public partial class form1 form bluetoothradio radio null 藍芽介面卡 string sendfilename null 傳送檔名 bluetoothaddress sendaddress null 傳送目的位址 obexlistener li...
Android藍芽接收分包資料
最近在開發乙個安卓和藍芽光譜儀裝置通訊的程式,用的是傳統藍芽,下位機藍芽傳送的光譜資料比較大,分成了15個包傳送。其中14個包大小290個byte,最後1個包大於100個byte,而且一整個資料報由資料頭 資料長度 資料 資料尾這幾個部分組成,所以接受的時候做了乙個判斷,定義了乙個大容量陣列,用笨方...