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. Robert Bosch GmbH, Schwieberdingen
  2. Viega Holding GmbH & Co. KG, keine Angabe
  3. Evangelischer Oberkirchenrat Stuttgart, Stuttgart
  4. ARI Fleet Germany GmbH, Stuttgart


Anzeige
Blu-ray-Angebote
  1. 5,94€ FSK 18
  2. (u. a. Supernatural, True Blood, Into the West, Perry Mason, Mord ist ihr Hobby)
  3. (u. a. The Hateful 8, James Bond Spectre, John Wick, Fifty Shades of Grey, London Has Fallen)

Folgen Sie uns
       


  1. Matrix Voice

    Preiswerter mit Spracherkennung experimentieren

  2. LTE

    Telekom führt Narrowband-IoT-Netz in Deutschland ein

  3. Deep Learning

    Wenn die KI besser prügelt als Menschen

  4. Firepower 2100

    Cisco stellt Firewall für KMU-Bereich vor

  5. Autonomes Fahren

    Briten verlieren Versicherungsschutz ohne Software-Update

  6. Kollisionsangriff

    Hashfunktion SHA-1 gebrochen

  7. AVM

    Fritzbox für Super Vectoring weiter nicht verfügbar

  8. Nintendo Switch eingeschaltet

    Zerstückelte Konsole und gigantisches Handheld

  9. Trappist-1

    Der Zwerg und die sieben Planeten

  10. Botnetz

    Wie Mirai Windows als Sprungbrett nutzt



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Merkels NSA-Vernehmung: Die unerträgliche Uninformiertheit der Kanzlerin
Merkels NSA-Vernehmung
Die unerträgliche Uninformiertheit der Kanzlerin
  1. München Wie Limux unter Ausschluss der Öffentlichkeit zerstört wird
  2. US-Präsident Zuck it, Trump!
  3. Glasfaser Nun hängt die Kabel doch endlich auf!

Apple: Planet der affigen Fernsehshows
Apple
Planet der affigen Fernsehshows
  1. Noch 100 Tage Unitymedia schaltet Analogfernsehen schrittweise ab
  2. Streaming Vodafone GigaTV ermöglicht Fernsehen unterwegs
  3. Kabelnetz Unitymedia hat neue Preise für Internetzugänge

Mobile-Games-Auslese: Schiffbruch auf der Milchstraße für mobile Spieler
Mobile-Games-Auslese
Schiffbruch auf der Milchstraße für mobile Spieler

  1. Aktivierungsworte und englische Aussprache

    IchBIN | 04:37

  2. Re: Interessante Idee...

    IchBIN | 04:01

  3. Re: So funktioniert die App:

    Komischer_Phreak | 03:55

  4. Re: Es gibt keinen kostenlosen Google-Service

    divStar | 03:39

  5. Re: Dazu bräuchte es vor allem eine vernünftige...

    divStar | 03:37


  1. 17:37

  2. 17:26

  3. 16:41

  4. 16:28

  5. 15:45

  6. 15:26

  7. 15:13

  8. 15:04


  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