2016-10-03 94 views
0

我正在開發一個項目,我需要通過藍牙在android和覆盆子pi之間傳輸數據。但是,我對此並不熟悉,並且對兩臺設備配對時發生的情況沒有深入的瞭解。基於這兩個感興趣的設備已經配對的假設,那麼這個任務的起點將在哪裏編程?我一直在閱讀BluetoothSocket,但我仍然不確定從哪裏開始。任何人都可以幫助我嗎?通過配對的Android和Raspberry PI之間的藍牙進行數據傳輸

非常感謝你提前!

回答

0

不久前,我一直在做同樣的工作。問題是,爲了開始發送和接收數據,您必須首先建立連接。有兩個連接(創建套接字)和另一個接收連接(藍牙服務器套接字)的側裝置,連接完成後發出連接。連接建立後,您應該停止接收傳入連接或嘗試建立任何連接。 從實現的角度來看,您應該實現少數線程來管理所有這些階段 - 連接線程,接受線程,通信線程。谷歌有一個很好的例子:https://github.com/googlesamples/android-BluetoothChat。它使用這種技術。唯一的缺點是它使用Handler(Android功能,允許有人溝通)通知用戶有關藍牙事件。我通過引入另一個線程來修改它,接收狀態更新並從回調接口調用方法,隨意使用項目中的代碼:https://github.com/AlexShutov/LEDLights

+0

非常感謝!我會給它一個鏡頭,讓你知道發生了什麼。 – SaxMaster

1

我一直在尋找同樣的問題,這裏是我在我的結尾找到的閱讀。我期待在python中專門編寫代碼,這是第一個角度,第二個是C++,但是有一個非常全面的介紹。

https://people.csail.mit.edu/albert/bluez-intro/index.html

而這一次是真的很好過,開場心不是太密集了:

http://beej.us/guide/bgnet/output/html/multipage/index.html

的特定部位看涉及規劃方面。 beej編程指南的介紹具體展示了哪些套接字以及它們如何適應網絡意義。這意味着流式套接字和數據報套接字。它還顯示哪個插座已被使用以及哪些插座可用。第1章到第3章給了我一個足夠牢固的閱讀基礎,使用第二個文檔來確定一些事情。

MIT文檔的第2章詳細介紹了必須在結構級別進行的每個步驟,包括L2CAP + UDT,RCOMM以及任何流。從閱讀這些我能夠確定我想要使用的網絡是一個L2CAP。我希望這些幫助指向正確的方向,儘管你想要設置什麼網絡以及你想要編程什麼語言。

+0

您只提供了藍牙編程指南的鏈接。添加詳細信息如何OP可以實現他所需要的。我不想失望,但你的答案並不完整。 –

+0

會做。對於那個很抱歉。 – user69103

相關問題