導航:首頁 > 操作系統 > android藍牙串口數據

android藍牙串口數據

發布時間:2022-05-30 11:50:22

1. 求教android藍牙串口開發OutputStream發送數據失敗的問題

1、首先確保你發送的數據是正確的,串口接收到這個數據後他能識別,並返回你想要的數據,如果你發送的命令本身不要求返回數據,inputstream是讀取不到數據的。 2、其次,要確保發送數據的格式正確,比如一段16進制數據,你定義為String="01230545"類型,然後發送的時候out.write(str.getBytes());這樣發送的數據是不對的,應該定義一個byte型的數組,然後發送這個數組 3、以上你都確保沒問題了,你可以用循環去讀取數據,當讀到的內容大於0時停止讀取。用循環讀取你要確保你已經設置讀取的超時時間了,不然程序有可能阻塞。

2. android藍牙開發,PC端模擬串口接收字元,該如何編程

您好,android藍牙這方面還是很好搞的,因為大家的方式都是差不多的。先說說如何開啟藍牙設備和設置可見時間:

private void search() {
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if (!adapter.isEnabled()) {
adapter.enable();
}
Intent enable = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
enable.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 3600); //3600為藍牙設備可見時間
startActivity(enable);
Intent searchIntent = new Intent(this, ComminuteActivity.class);
startActivity(searchIntent);
}

首先,需要獲得一個BluetoothAdapter,可以通過getDefaultAdapter()獲得系統默認的藍牙適配器,當然我們也可以自己指定,但這個真心沒有必要,至少我是不需要的。然後我們檢查手機的藍牙是否打開,如果沒有,通過enable()方法打開。接著我們再設置手機藍牙設備的可見,可見時間可以自定義。

完成這些必要的設置後,我們就可以正式開始與藍牙模塊進行通信了:

public class ComminuteActivity extends Activity {
private BluetoothReceiver receiver;
private BluetoothAdapter bluetoothAdapter;
private List<String> devices;
private List<BluetoothDevice> deviceList;
private Bluetooth client;
private final String lockName = "BOLUTEK";
private String message = "000001";
private ListView listView;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_layout);

listView = (ListView) this.findViewById(R.id.list);
deviceList = new ArrayList<BluetoothDevice>();
devices = new ArrayList<String>();
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
bluetoothAdapter.startDiscovery();
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
receiver = new BluetoothReceiver();
registerReceiver(receiver, filter);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
setContentView(R.layout.connect_layout);
BluetoothDevice device = deviceList.get(position);
client = new Bluetooth(device, handler);
try {
client.connect(message);
} catch (Exception e) {
Log.e("TAG", e.toString());
}
}
});
}

@Override
protected void onDestroy() {
unregisterReceiver(receiver);
super.onDestroy();
}

private final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case Bluetooth.CONNECT_FAILED:
Toast.makeText(ComminuteActivity.this, "連接失敗", Toast.LENGTH_LONG).show();
try {
client.connect(message);
} catch (Exception e) {
Log.e("TAG", e.toString());
}
break;
case Bluetooth.CONNECT_SUCCESS:
Toast.makeText(ComminuteActivity.this, "連接成功", Toast.LENGTH_LONG).show();
break;
case Bluetooth.READ_FAILED:
Toast.makeText(ComminuteActivity.this, "讀取失敗", Toast.LENGTH_LONG).show();
break;
case Bluetooth.WRITE_FAILED:
Toast.makeText(ComminuteActivity.this, "寫入失敗", Toast.LENGTH_LONG).show();
break;
case Bluetooth.DATA:
Toast.makeText(ComminuteActivity.this, msg.arg1 + "", Toast.LENGTH_LONG).show();
break;
}
}
};

private class BluetoothReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
if (isLock(device)) {
devices.add(device.getName());
}
deviceList.add(device);
}
showDevices();
}
}

private boolean isLock(BluetoothDevice device) {
boolean isLockName = (device.getName()).equals(lockName);
boolean isSingleDevice = devices.indexOf(device.getName()) == -1;
return isLockName && isSingleDevice;
}

private void showDevices() {
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
devices);
listView.setAdapter(adapter);
}
}

3. android藍牙設備上的標准串列怎麼看

藍牙串口實質上就是把可見的 傳統串口連接線 變成了 不可見得 無線 傳輸(藍牙)。

舉例:如果要使用單片機採集數據,通過藍牙串口 發回 電腦端實時處理
單片機 串口 TX 接藍牙串口模塊的RX, 單片機 RX 接到 藍牙串口模塊的TX
電腦端搜索藍牙串口模塊,配對(默認密碼一般為 1234,請參照模塊說明)
配對連接成功後會在設備管理器串口設備裡面新生成藍牙串口(如Bluetooth設備 鏈接上的標准串列(com17) - 請記住這一埠號
單片機通電運行,串口數據發送給藍牙串口模塊
電腦端通過上位機,或者串口助手等軟體,打開com17
這時候單片機發送的串口數據,就都可以實時在電腦端收到了注意事項:藍牙串口模塊的串口通訊波特率需要設置成跟單片機通訊波特率一致,否則會產生亂碼!

4. Android studio藍牙app的串口是什麼

Androidstudio藍牙app的串口是一種通信的方式。類似於USB只是比USB低級多了,但是手機等設備他沒外置這個串口,解決方式就是手機用藍牙連接一個小硬體,小硬體有個串口他的和單片機連接,來達到手機和單片機的串口連接這種方式就是藍牙串口。

Androidstudio藍牙app的串口特點

藍牙串口是基於SPP協議SerialPortProfile,能在藍牙設備之間創建串口進行數據傳輸的一種設備,藍牙串口的目的是針對如何在兩個不同設備通信的兩端上的應用之間保證一條完整的通信路徑,需要在系統設置里連接上HC05的藍牙,默認配對密碼為1234默認波特率為9600。

默認名為HC05最好在連接後再看一下對應的MAC地址,因為我做的是單一連接單片機同一時間只能接入一個藍牙設備,所以需求對更改連接藍牙模塊需求要求不大,如果用戶不在創建項目時更改設備MAC地址,則使用的就是默認的MAC地址所以也沒有做選擇藍牙設備的模塊。

5. 安卓手機藍牙串口通信問題(手機和單片機)

1、首先,不能用虛擬機,不須用真機
2、可以查找周圍藍牙設備,當搜索到你要連接到的藍牙設備,停止discovering,然後就自動連接。或者是,如果你確定手機和藍牙設備已經配對成功過,那也可以用
getBundedDevice指令,獲取配對成功的藍牙設備,在配對成功的藍牙設備里查找到後實現連接。這兩種方法後者會比較好一些,一般時間相差3到4秒。
這樣配對連接成功後就可以嘗試輸入輸出流來實現數據發送接收了

6. Android藍牙通信是怎麼獲取串口數據

代碼片段上傳一下
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
BluetoothServerSocket bss = BluetoothAdapter.getDefaultAdapter() .(NAME_SECURE, MY_UUID);
就可以對SOCKET進行讀寫操作了

7. android設備與單片機藍牙串口模塊數據通信問題

應該是主線程數據處理內容太多,而數據發送太快,你在發送數據之後做適當的延時,應該就可以了。就是數據幀之前有適當的時間間隔。

8. Android藍牙傳輸速率限制在串口嗎

這個限制是在串口。
為了保證有效通訊,根據電、傳輸介質等的物理特性結合串口設備使用的要求,確定RS232最大傳輸速率只能是115200,然後逐級二分得到57600,28800,19200??為適應這些速率,設計相應的晶振頻率。
串口通信是指外設和計算機間,通過數據信號線、地線、控制線等,按位進行傳輸數據的一種通訊方式。這種通信方式使用的數據線少,在遠距離通信中可以節約通信成本,但其傳輸速度比並行傳輸低。
串口是計算機上一種非常通用的設備通信協議。大多數計算機(不包括筆記本電腦)包含兩個基於RS-232的串口。串口同時也是儀器儀表設備通用的通信協議;很多GPIB兼容的設備也帶有RS-232口。同時,串口通信協議也可以用於獲取遠程採集設備的數據。

9. android藍牙串口通信,接收數據問題

http://stackoverflow.com/questions/16089261/how-to-convert-byte-valueto-hex-and-then-to-decimal-which-is-from-bluetooth-spp

10. Android藍牙BLE連接如何設置串口,數據格式為含1位起始位、7位數據位、1位奇偶校驗位和1位終止位

字元長度=1+7+1+2=11 b/字元
數據速率R1=11×100=1100 b/s
有效數據速率R=7×100=700 b/s
選B

閱讀全文

與android藍牙串口數據相關的資料

熱點內容
自己購買雲主伺服器推薦 瀏覽:419
個人所得稅java 瀏覽:761
多餘的伺服器滑道還有什麼用 瀏覽:189
pdf劈開合並 瀏覽:27
不能修改的pdf 瀏覽:751
同城公眾源碼 瀏覽:488
一個伺服器2個埠怎麼映射 瀏覽:297
java字元串ascii碼 瀏覽:78
台灣雲伺服器怎麼租伺服器 瀏覽:475
旅遊手機網站源碼 瀏覽:332
android關聯表 瀏覽:945
安卓導航無聲音怎麼維修 瀏覽:332
app怎麼裝視頻 瀏覽:430
安卓系統下的軟體怎麼移到桌面 瀏覽:96
windows拷貝到linux 瀏覽:772
mdr軟體解壓和別人不一樣 瀏覽:904
單片機串列通信有什麼好處 瀏覽:340
游戲開發程序員書籍 瀏覽:860
pdf中圖片修改 瀏覽:288
匯編編譯後 瀏覽:491