我正在開發一個應用程序,以發送非常簡單的消息給藍牙低功耗設備。使用Cordova bluetoothSerial插件與BLE設備
得益於Nordic Semi的nRF UART v2.0應用程序,我使用我的開發平臺(Galaxy S5 Android 4.4)測試了設備(Arduino主板和nRF8001屏蔽)之間可以建立正確的通信。它可以很好地工作,因爲我可以從一臺設備向另一臺設備發送和接收消息,所以我對此產品的這一方面非常有信心。
我的應用程序,它是基於bluetoothSerial插件Cordova沒有成功與BLE設備進行連接。這裏是代碼:
var app = {
initialize: function() {
this.bindEvents();
},
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function() {
document.getElementById('messagebox').innerHTML = "Device Ready";
app.isBluetoothEnabled();
},
isBluetoothEnabled: function() {
document.getElementById('messagebox').innerHTML = "is Bluetooth Enabled";
bluetoothSerial.isEnabled(
function() {
document.getElementById('messagebox').innerHTML = "Bluetooth is enabled";
app.deviceConnect();
},
app.bluetoothEnable()
);
},
bluetoothEnable: function() {
bluetoothSerial.enable(app.deviceConnect(),
function() {
document.getElementById('messagebox').innerHTML = "User did not want to connect.";
});
},
deviceConnect: function() {
bluetoothSerial.connect('DB:A2:49:84:F9:32',
function() {
document.getElementById('messagebox').innerHTML = "Connected to device";
},
function() {
document.getElementById('messagebox').innerHTML = "Not connected to device";
});
}
};
app.initialize();
'messagebox'元素只在這裏檢查應用程序停止的每一步。
我試過.list和.discoverUnpaired方法。兩者都在工作(.list只列出已經配對的設備),並使用discoverPaired方法,我可以看到我的設備的MAC地址,但.connect從來沒有工作,即使在connectInsecure模式下,我也沒有成功配對我的設備藍牙參數中的Android操作系統(我不知道在嘗試與應用程序建立任何連接之前是否需要它)。
有人可以告訴我,如果我誤解bluetootSerial作品或(甚至是BLE)的方式嗎?我是否必須通過MAC地址以外的其他參數來連接方法?
非常感謝