Abo
  • Services:
Anzeige
Raspberry Pi mit Bluetooth-Dongle und Breadboard
Raspberry Pi mit Bluetooth-Dongle und Breadboard (Bild: Golem.de)

Das Peripheral-Modul

Anzeige

Die Funktion des Peripheral wird ein Raspberry Pi übernehmen, an ihn schließen wir über dessen GPIO-Pins eine LED und einen Taster an. Dann entwickeln wir einen BluetoothLE-Service mit zwei Characterics: einen um die LED an- und auszuschalten und einen zweiten zum Auslesen des Taster-Status.

Dazu müssen wir mit Hilfe von Bleno den Service sowie die Characteristics implementieren und die notwendige Logik, um auf Schreib- beziehungsweise Leseanfragen zu reagieren. Das vollständige Javascript-Skript für Node.js kann von unserem Webserver unter https://www.golem.de/projekte/btle/bt_peripheral.js heruntergeladen werden.

Wir beginnen damit, Bleno in unserem Skript einzubinden und zwei Event-Handler zu registrieren.

  1. var bleno = require('bleno');
  2.  
  3. bleno.on('stateChange', function(state) {
  4. if (state === 'poweredOn') {
  5. bleno.startAdvertising('led', []);
  6. } else {
  7. bleno.stopAdvertising();
  8. }
  9. });
  10.  
  11. bleno.on('advertisingStart', function(error) {
  12. if (!error) {
  13. bleno.setServices([
  14. new LedService()
  15. ]);
  16. }
  17. });

Der Event 'stateChange' wird aufgerufen, wenn der Bluetooth-Dongle von Bleno angesprochen werden kann - oder auch nicht mehr. Wenn der Dongle bereit ist, versetzt startAdvertising() ihn in einem Modus, in dem er kontinuierlich auf sich aufmerksam macht. Der erste Parameter dieser Methode ist der Name, unter dem das Peripheral für andere Bluetooth-Geräte sichtbar ist.

Der zweite Event wird ausgelöst, wenn das Advertising erfolgreich gestartet werden konnte. Jetzt kann unser eigener Service initialisiert werden. Die Klasse LedService ist abgeleitet von bleno.PrimaryService. Im Konstruktor der Klasse setzen wir die UUID des Service und initialisieren die beiden Characteristics des Services.

  1. function LedService() {
  2. LedService.super_.call(this, {
  3. uuid: '5dfeb700bb8711e393430002a5d5c51b',
  4. characteristics: [
  5. new LedReadCharacteristic()
  6. , new LedWriteCharacteristic()
  7. ]
  8. });
  9. }
  10.  
  11. util.inherits(LedService, bleno.PrimaryService);

Die UUID können wir selbst festlegen, sie sollte laut Bluetooth-Spezifikation 128 Bit lang sein. Eine einfache Generierungsmöglichkeit gibt es auf der Webseite der ITU.

 Noble und BlenoTasterwert lesen und senden 

eye home zur Startseite
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...



Anzeige

Stellenmarkt
  1. BG-Phoenics GmbH, München
  2. xbAV Beratungssoftware GmbH, Saarbrücken
  3. Siltronic AG, Burghausen
  4. MBtech Group GmbH & Co. KGaA, Norddeutschland


Anzeige
Top-Angebote
  1. 49,99€
  2. 125,00€
  3. (65B6D für 2.799,00€ und 65C6D für 2.999,00€)

Folgen Sie uns
       


  1. Mobilfunk

    Patentverwerter klagt gegen Apple und Mobilfunkanbieter

  2. Privatsphäre

    Bildungsrechner spionieren Schüler aus

  3. Raumfahrt

    Chinesischer Raumfrachter Tanzhou 1 dockt an Raumstation an

  4. Die Woche im Video

    Kein Saft, kein Wumms, keine Argumente

  5. Windows 7 und 8

    Github-Nutzer schafft Freischaltung von neuen CPUs

  6. Whitelist umgehen

    Node-Server im Nvidia-Treiber ermöglicht Malware-Ausführung

  7. Easy S und Easy M

    Vodafone stellt günstige Einsteigertarife ohne LTE vor

  8. UP2718Q

    Dell verkauft HDR10-Monitor ab Mai 2017

  9. Datenschutzreform

    EU-Kommission lehnt deutschen Sonderweg ab

  10. Moby-Projekt

    Docker bekommt eigenes Upstream-Projekt zum Basteln



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Garmin Fenix 5 im Test: Die Minimap am Handgelenk
Garmin Fenix 5 im Test
Die Minimap am Handgelenk

Trutzbox Apu 2 im Test: Gute Privacy-Box mit kleiner Basteleinlage
Trutzbox Apu 2 im Test
Gute Privacy-Box mit kleiner Basteleinlage
  1. Malware Schadsoftware bei 1.200 Holiday-Inn- und Crowne-Plaza-Hotels
  2. Zero Day Exploit Magento-Onlineshops sind wieder gefährdet
  3. Staatstrojaner Office 0-Day zur Verbreitung von Finfisher-Trojaner genutzt

Creators Update im Test: Erhöhter Reifegrad für Windows 10
Creators Update im Test
Erhöhter Reifegrad für Windows 10
  1. Microsoft Zwei große Updates pro Jahr für Windows 10
  2. Windows 10 Version 17xx-2 Stromsparmodus kommt für die nächste Windows-Version
  3. Windows as a Service Die erste Windows-10-Version hat noch drei Wochen Support

  1. Re: immer diese Chinesen...

    KlugKacka | 06:43

  2. Re: Chrome in Firmennetz

    Apfelbrot | 03:55

  3. Re: Eines ist Fakt

    gaym0r | 03:04

  4. Re: Ist das nun Sabotage von "Computersystemen?"

    gaym0r | 03:03

  5. Re: Ihr hab doch keine Ahnung

    jo-1 | 02:54


  1. 15:19

  2. 13:40

  3. 11:00

  4. 09:03

  5. 18:01

  6. 17:08

  7. 16:43

  8. 16:15


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel