A. 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);
}
}
B. 藍牙串口,有藍牙適配器接入電腦串口com1,形成藍牙串口,再用串口調試助手就打不開了com1了謝
藍牙適配器沒有硬體問題的話,可以更換一個串口軟體,檢驗一下,如格西烽火、SSCOM等,相對穩定。
C. 如何使用藍牙模塊與電腦通信,實現自主開發
1、通信前必須具備東西:
(1)
藍牙串口模塊;
(2)
藍牙適配器;
(3)
串口調試軟體;
(4)
藍牙測試軟體;(配套而來的)
2、配置藍牙串口模塊;
3、把藍牙適配器插上電腦,等待電腦自動安裝好驅動軟體,一般電腦都能自行安裝,如果特殊的電腦不行,請下載相關藍牙驅動軟體即可;
4、在電腦右下角的藍牙圖標上單擊,選擇「添加設備」,然後電腦自動搜索,可以看到我們的藍牙串口模塊Bluebooth了,選擇它,單擊下一步;輸入設備的配對碼:1234(如上),然後進行連接,成功連接之後電腦會自動搜索安裝藍牙外圍設備的驅動軟體;
5、進行藍牙通信。
你需要知道的藍牙傳輸的原理:
1
主從關系:
藍牙技術規定每一對設備之間進行藍牙通訊時,必須一個為主角色,另一為從角色,才能進行通信,通信時,必須由主端進行查找,發起配對,建鏈成功後,雙方即可收發數據。理論上,一個藍牙主端設備,可同時與7個藍牙從端設備進行通訊。一個具備藍牙通訊功能的設備,
可以在兩個角色間切換,平時工作在從模式,等待其它主設備來連接,需要時,轉換為主模式,向其它設備發起呼叫。一個藍牙設備以主模式發起呼叫時,需要知道對方的藍牙地址,配對密碼等信息,配對完成後,可直接發起呼叫。SKYLAB的BLE藍牙模塊作為工業級藍牙低功耗模塊,擁有:超低功耗、遠距離傳輸、寬電壓范圍的特性。http://www.skylab.com.cn/procts-3.html功能支持:4.0
BLE協議、主從一體、電量檢測、加密傳輸、多種配置方式、Mesh組網、一對多廣播、iBeacon協議。
2
呼叫過程:
藍牙主端設備發起呼叫,首先是查找,找出周圍處於可被查找的藍牙設備。主端設備找到從端藍牙設備後,與從端藍牙設備進行配對,此時需要輸入從端設備的PIN碼。
D. 怎麼用串口調試助手配置藍牙模塊
下載PL2303串口驅動程序,並在用於調試藍牙模塊SKB501的電腦上安裝該驅動程序PL2303_Prolific_DriverInstaller_v1.5.0.exe
E. 安卓程序藍牙 用電腦如何調試 電腦要是伺服器端吧
前提是電腦支持藍牙,如果支持打開就能搜索到藍牙設備,配對成功就可以用了。
F. pc藍牙串口調試助手怎麼使用
串口調試助手就是相當於PC機,也就是上位機。通過串口和其它設備(比如單片機或儀器,甚至也可以是PC機)通信。在助手上可以收發,看出結果。
G. 有什麼好的pc版藍牙串口調試助手
如此簡單,乾脆用流行的串口軟體,如格西烽火串口助手、串口調試助手等,都可以輕松實現。
H. 如何開發簡單的調試藍牙app
分兩種情況:
你懂技術,安卓JAVA或蘋果OC。有一定的技術基礎,並且願意去學習和嘗試,簡單的藍牙app其實真的簡單,就是通過藍牙協議進行軟硬體聯調,指令也就那幾條,只要調通就好了。
不懂技術。那就網路一家app技術公司去咨詢,然後把項目外包給他們,當然一定要貨比三家。
I. 怎麼用手機藍牙調試助手控制51單片機上的LED燈亮
#include<reg52.h>
typedef unsigned char unit8;
typedef unsigned short unit_16;
void Receive_Handle(unit8 Value)
{
switch(Value)//具體發送過來的是什麼數據 需要自己自己通過串口調試助手查看
//改變這裡面對應的數據即可
{
case 0x00:P2=0xff;break;
case 0x01:P2=0xfe;break;
case 0x02;P2=0xfd;break;
case 0x03:P2=0xfb;break;
case 0x04:P2=0xf7;break;
default:P2=0xff;break;
}
}
void main()
{
TMOD |= 0x20;//定時器1 工作方式2 8位自動重裝模式
SCON = 0x50;//串口工作方式1 允許接收 8位數據位
TH1 = 0xfd; //波特率9600
TR1 = 1;
ES = 1;
EA = 1;
while(1);
}
void UART1_Rountine()interrupt 4
{
static unit8 Receive_Data=0;
ES = 0;
while(!RI);
RI=0;
Receive_Data = SBUF;
Receive_Handle(Receive_Data);
ES = 1;
}
/*---------------------------------------------------------------------------------------
如有問題可再咨詢
----------------------------------------------------------------------------------------*/
J. 想開發一個類似於藍牙串口助手的軟體,設置幾個按鈕,點擊相應按鈕就發送相應字元串給藍牙模塊,求解答。
如此簡單,乾脆用流行的串口軟體,如格西烽火串口助手、串口調試助手等,都可以輕松實現。