noble/bleno

Unable to use GATT server with central role

Open

#326 建立於 2017年7月6日

在 GitHub 查看
 (1 留言) (1 反應) (0 負責人)JavaScript (2,083 star) (465 fork)batch import
help wanted

描述

I'm trying to use noble and bleno together in a single application to allow linux to be in the central role but also be the GATT server. I actually have this working, but had to remove an if statement in bleno. Namely, I had to remove this if:

BlenoBindings.prototype.onLeConnComplete = function(status, handle, role, addressType, address, interval, latency, supervisionTimeout, masterClockAccuracy) {
  // if (role !== 1) {
  //   // not slave, ignore
  //   return;
  // }
  ...
}

from here.

With that if the AclStream never gets set up and bleno never responds to discover services requests (or any other request).

I understand why that check is there, since a connection callback is valid in both the central and peripheral contexts, however, I believe a GATT server is equally valid in both contexts. Any thoughts on this? Would an environment variable be the right approach to skip that check in cases like mine?

貢獻者指南