Abo
  • Services:

Das Central-Modul

Die Bibliothek Noble funktioniert ganz ähnlich wie Bleno. Es beginnt mit der Suche nach BluetoothLE-Geräten und dem Aufruf unserer Funktion discover(), wenn das Gerät gefunden wurde.

Stellenmarkt
  1. Viega Holding GmbH & Co. KG, Attendorn
  2. Universität Konstanz, Konstanz

  1. var noble = require('noble');
  2.  
  3. noble.on('discover', discover);
  4.  
  5. noble.startScanning([], false);

Der startScaning()-Methode kann ein Array mit Service-UUIDs gegeben werden, um gezielt nur jene Peripheral-Module zu finden, die auch mit dem Central-Skript verwendet können. Darauf verzichten wir. Der zweite Parameter bestimmt, ob gefundene Peripherals mehrfach der discover()-Funktion gemeldet werden sollen (false) oder nur einmal (true).

  1. function discover(peripherial) {
  2.  
  3. peripherial.connect(function(error) {
  4. if(error) {
  5. return;
  6. }
  7.  
  8. peripherial.discoverServices([], function(error, services) {
  9. if(error) {
  10. return;
  11. }
  12.  
  13. for(var i = 0, l = services.length; l > i; i++) {
  14.  
  15. var service = services[i];
  16.  
  17. if(SERVICE == service.uuid) {
  18. handleService(service);
  19. }
  20. }
  21. });
  22. });
  23. };

Die discover()-Methode ist recht übersichtlich. Findet Noble ein Peripheral, übergibt es der Methode ein entsprechendes Objekt. Über dieses Objekt verbinden wir uns mit ihm per connect() und fragen die verfügbaren Services ab. Haben wir eine Liste der Services erhalten, suchen wir nach dem Service, dessen UUID unserem oben definierten LedService entspricht. Ist die Suche erfolgreich, wird unsere Funktion handleService() aufgerufen.

Einen Tick schneller und energiesparender

Auch wenn diese Zeilen nicht allzu schwierig sind - es geht noch einfacher: Wenn das Peripheral den Service als Teil der Erkennung ausgibt, kann das Central-Modul bereits an dieser Stelle filtern. Im Peripheral-Skript muss die UUID im Array der Methode bleno.startAdvertising('led', ['Die_UUID']) angegeben werden. Dann kann im Central-Skript noble.startScanning(['Die_UUID'], false) ebenfalls die UUID des Services im Array angegeben werden und wir wissen sofort, ob es unser Peripheral ist. Eine Verbindung zu jedem erkannten Gerät und der nachfolgende Test auf die Services kann dann entfallen, es ist nur eine Verbindung zu unserem Gerät notwendig.

In unserer aktuellen Implementierung verzichten wir darauf, um die API besser vorzustellen.

 LED an- und ausschaltenDie Characteristics abfragen 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12. 11
  13.  


Anzeige
Hardware-Angebote
  1. und 25€ Steam-Gutschein erhalten
  2. (reduzierte Überstände, Restposten & Co.)
  3. beim Kauf ausgewählter Z370-Boards mit Intel Optane Speicher + Intel SSD
  4. 449€ + 5,99€ Versand

Panzergerd 25. Sep 2015

Inzwischen gibt es bei BlueZ auch GATT-Support via D-Bus. Mit den Beispielprogrammen...

pUiE 10. Jun 2014

Um eine Verbindung von Android Smartphone zu µC herzustellen (zu testzwecken...

Tylon 25. Apr 2014

Sehr schön! An den Threadersteller: wer benötigt auch dB als Angabe bei den...

MarioWario 24. Apr 2014

Ja, im Bereich der Kraft-/Leistungsmesser ist ANT+ noch wichtig (momentan; http://www...


Folgen Sie uns
       


Lenovo Thinkpad X1 Carbon Gen6 - Test

Wir testen das Thinkpad X1 Carbon Gen6, das neue Business-Ultrabook von Lenovo. Erstmals verbaut der chinesische Hersteller ein HDR-Display und einen neuen Docking-Anschluss für die Ultra Docking Station.

Lenovo Thinkpad X1 Carbon Gen6 - Test Video aufrufen
Sun to Liquid: Wie mit Sonnenlicht sauberes Kerosin erzeugt wird
Sun to Liquid
Wie mit Sonnenlicht sauberes Kerosin erzeugt wird

Wasser, Kohlendioxid und Sonnenlicht ergeben: Treibstoff. In Spanien wird eine Anlage in Betrieb genommen, in der mit Hilfe von Sonnenlicht eine Vorstufe für synthetisches Kerosin erzeugt oder Wasserstoff gewonnen wird. Ein Projektverantwortlicher vom DLR hat uns erklärt, warum die Forschung an Brennstoffen trotz Energiewende sinnvoll ist.
Ein Bericht von Werner Pluta

  1. Deep Sea Mining Deep Green holte Manganknollen vom Meeresgrund
  2. Klimaschutz Unter der Erde ist das Kohlendioxid gut aufgehoben
  3. Physik Maserlicht aus Diamant

Kreuzschifffahrt: Wie Brennstoffzellen Schiffe sauberer machen
Kreuzschifffahrt
Wie Brennstoffzellen Schiffe sauberer machen

Die Schifffahrtsbranche ist nicht gerade umweltfreundlich: Auf hoher See werden die Maschinen der großen Schiffe mit Schweröl befeuert, im Hafen verschmutzen Dieselabgase die Luft. Das sollen Brennstoffzellen ändern - wenigstens in der Kreuzschifffahrt.
Von Werner Pluta

  1. Hyseas III Schottische Werft baut Hochseefähre mit Brennstoffzelle
  2. Roboat MIT-Forscher drucken autonom fahrende Boote
  3. Elektromobilität Norwegen baut mehr Elektrofähren

K-Byte: Byton fährt ein irres Tempo
K-Byte
Byton fährt ein irres Tempo

Das Startup Byton zeigt zur Eröffnung der Elektronikmesse CES Asia in Shanghai das Modell K-Byte. Die elektrische Limousine basiert auf der Plattform des SUV, der vor fünf Monaten auf der CES in Las Vegas vorgestellt wurde. Unter deutscher Führung nimmt der Elektroautohersteller in China mächtig Fahrt auf.
Ein Bericht von Dirk Kunde

  1. KYMCO Elektroroller mit Tauschakku-Infrastruktur
  2. Elektromobilität Niu stellt zwei neue Elektromotorroller vor
  3. 22Motor Flow Elektroroller soll vor Schlaglöchern warnen

    •  /