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. macom GmbH, München
  2. Safran Electronics & Defense Germany GmbH, Stuttgart
  3. Daimler AG, Stuttgart
  4. PHOENIX CONTACT GmbH & Co. KG, Blomberg


Anzeige
Spiele-Angebote
  1. 9,99€
  2. 109,99€ mit Vorbesteller-Preisgarantie
  3. 23,99€

Folgen Sie uns
       


  1. Datenrate

    Vodafone weitet 500 MBit/s im Kabelnetz aus

  2. IT-Outsourcing

    Schweden kaufte Clouddienste ohne Sicherheitsprüfung

  3. Quantengatter

    Die Bauteile des Quantencomputers

  4. Microsoft gibt Entwarnung

    MS Paint bleibt

  5. BGH-Urteil

    Banken dürfen Geld für SMS-TANs verlangen

  6. Deep Space Gateway

    Lockheed baut eine Raumstation aus Spaceshuttle-Frachtmodul

  7. Auftragsfertiger

    Samsung will Marktanteil verdreifachen

  8. Android O

    Google veröffentlicht letzte Testversion vor Release

  9. Fruit Fly 2

    Mysteriöse Mac-Malware seit Jahren aktiv

  10. Poets One im Test

    Kleiner Preamp, großer Sound



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
IETF Webpackage: Wie das Offline-Internet auf SD-Karte kommen könnte
IETF Webpackage
Wie das Offline-Internet auf SD-Karte kommen könnte
  1. IETF Netzwerker wollen Quic-Pakete tracken
  2. IETF DNS wird sicher, aber erst später
  3. IETF Wie TLS abgehört werden könnte

Gaming-Monitor Viewsonic XG 2530 im Test: 240 Hertz, an die man sich gewöhnen kann
Gaming-Monitor Viewsonic XG 2530 im Test
240 Hertz, an die man sich gewöhnen kann
  1. LG 43UD79-B LG bringt Monitor mit 42,5-Zoll-Panel für vier Signalquellen
  2. SW271 Benq bringt HDR-Display mit 10-Bit-Panel
  3. Gaming-Bildschirme Freesync-Displays von Iiyama und Viewsonic

Moto Z2 Play im Test: Bessere Kamera entschädigt nicht für kürzere Akkulaufzeit
Moto Z2 Play im Test
Bessere Kamera entschädigt nicht für kürzere Akkulaufzeit
  1. Modulares Smartphone Moto Z2 Play kostet mit Lautsprecher-Mod 520 Euro
  2. Lenovo Hochleistungs-Akku-Mod für Moto Z
  3. Moto Z Schiebetastatur-Mod hat Finanzierungsziel erreicht

  1. Re: TAN-Listen waren unsicher

    My1 | 12:56

  2. Re: DSLRs?

    HibikiTaisuna | 12:56

  3. Re: Wie bekommt man den Müll

    ibsi | 12:54

  4. Re: Emotionale Reaktionen auf MS Paint

    Evron | 12:54

  5. Re: Wetten, sogut wie Mensch wird sich Paint...

    Christian72D | 12:52


  1. 12:26

  2. 12:12

  3. 12:05

  4. 11:50

  5. 11:30

  6. 11:15

  7. 11:00

  8. 10: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