2015-11-05 110 views
0

我正在開發一個應用程序,以發送非常簡單的消息給藍牙低功耗設備。使用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地址以外的其他參數來連接方法?

非常感謝

回答

相關問題