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 http://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. ROHDE & SCHWARZ GmbH & Co. KG, München
  2. MCM Klosterfrau Vertriebsgesellschaft mbH, Köln
  3. Rundfunk Berlin-Brandenburg (rbb), Berlin
  4. ING-DiBa AG, Nürnberg


Anzeige
Blu-ray-Angebote
  1. (u. a. Apollo 13, Insidious, Horns, King Kong, E.T. The Untouchables, Der Sternwanderer)
  2. 12,99€
  3. (u. a. Vier Fäuste für ein Halleluja, Zwei bärenstarke Typen,Vier Fäuste gegen Rio)

Folgen Sie uns
       


  1. Apple

    Aktivierungssperre des iPads lässt sich umgehen

  2. Amazon

    Downloader-App aus dem Fire-TV-Store entfernt

  3. Autonomes Fahren

    Apple zeigt Interesse an selbstfahrenden Autos

  4. Sicherheit

    Geheimdienst warnt vor Cyberattacke auf russische Banken

  5. Super Mario Bros. (1985)

    Fahrt ab auf den Bruder!

  6. Canon EOS 5D Mark IV im Test

    Grundsolides Arbeitstier mit einer Portion Extravaganz

  7. PSX 2016

    Sony hat The Last of Us 2 angekündigt

  8. Raspberry Pi

    Schutz gegen Übernahme durch Hacker und Botnetze verbessert

  9. UHD-Blu-ray

    PowerDVD spielt 4K-Discs

  10. Raumfahrt

    Europa bleibt im All



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Udacity: Selbstfahrendes Auto selbst programmieren
Udacity
Selbstfahrendes Auto selbst programmieren
  1. Strategiepapier EU fordert europaweite Standards für vernetzte Autos
  2. Autonomes Fahren Comma One veröffentlicht Baupläne für Geohot-Nachrüstsatz
  3. Autonomes Fahren Intel baut Prozessoren für Delphi und Mobileye

Oneplus 3T im Test: Schneller, ausdauernder und immer noch günstig
Oneplus 3T im Test
Schneller, ausdauernder und immer noch günstig
  1. Smartphone Oneplus 3T mit 128 GByte wird nicht zu Weihnachten geliefert
  2. Android-Smartphone Oneplus Three wird nach fünf Monaten eingestellt
  3. Oneplus 3T Oneplus bringt Three mit besserem Akku und SoC

Seoul-Incheon Ecobee ausprobiert: Eine sanfte Magnetbahnfahrt im Nirgendwo
Seoul-Incheon Ecobee ausprobiert
Eine sanfte Magnetbahnfahrt im Nirgendwo
  1. Transport Hyperloop One plant Trasse in Dubai

  1. Re: Transparenz zum Kündigungstermin ist Schwachsinn!

    Cok3.Zer0 | 01:09

  2. Re: 4000¤ - WTF?

    EatThis81 | 00:48

  3. Re: Schon wieder eine Sicherheitslücke bei Apple...

    Niaxa | 00:34

  4. Wurde hier eigentlich schon darüber berichtet, daß...

    6502 | 00:23

  5. Re: P2W

    mnementh | 00:22


  1. 12:54

  2. 11:56

  3. 10:54

  4. 10:07

  5. 08:59

  6. 08:00

  7. 00:03

  8. 15:33


  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