Startseite>Datenlogger mit Messverstärker
Aus Raspberry Pi Geek 08/2018

Datenlogger mit Messverstärker

© Dejan Veljkovic, 123RF

Heißkalt serviert

Dr. Roland Pleger

Wie verwandelt sich ein Linux-System auf einem RasPi in einen Datenlogger? Indem es mit einem Bluetooth-fähigen Multimeter spricht.

Viele Microcontroller bringen von Haus aus einen Analog/Digital-Wandler mit. Der Einplatinencomputer Raspberry Pi besitzt zumindest einige digitale Ein- und Ausgänge, über die Sie externe A/D-Wandler ansteuern; bei neueren PCs suchen Sie solche Schnittstellen vergeblich.

Allerdings misst kaum jemand Spannungen lediglich im Bereich von 0 bis 5 Volt (Arduino) oder 0 bis 3,3 Volt (Raspberry Pi). Gefordert ist also ein Verstärker, der nicht nur Spannungen von 500 Volt positiv oder negativ verträgt, sondern zusätzlich Ströme, Kapazitäten, Widerstände oder Temperaturen misst.

Vielfachinstrumente gibt es für kleines Geld, seit wenigen Jahren sinken die Preise für Bluetooth-Module drastisch. Das Gerät Owon B35T der Firma Lilliput kombiniert beides (Abbildung 1). Als Software verweist der Hersteller auf seine Apps für Android und iOS, die die Messwerte des Multimeters auslesen und anzeigen. Auf die Frage, ob ein Koppeln mit einem Rechner möglich ist, gibt er sich ahnungslos.

Abbildung 1: Ein geöffnetes Owon-B35T-Multimeter mit dem aufgelöteten BLE-Modul oben links.

Abbildung 1: Ein geöffnetes Owon-B35T-Multimeter mit dem aufgelöteten BLE-Modul oben links.

Das Gerät macht den Eindruck, als hätte der Hersteller das Bluetooth-Modul nachträglich zu einem bestehenden Messgerät hinzugefügt. Es überträgt ausschließlich Daten und steuert nicht das Gerät selbst.

Bluetooth mit PC

Trotz der Namensgleichheit umfasst Bluetooth zwei völlig unterschiedliche Protokolle: das normale Bluetooth und ab Version 4.0 zusätzlich Bluetooth Low Energy, kurz BLE. Nähere Informationen liefert das Programm Hciconfig – HCI steht hier für Host Controller Interface für Bluetooth (Listing 1).

Es findet zwei Controller, einen eingebauten (HCI-0) und einen Dongle (HCI-1), die sich deutlich voneinander unterscheiden (Listing 2): Das eingebaute Interface HCI-0 ist zu alt und kennt kein BLE, nur Bluetooth 3.0. Anders der aufgesteckte Dongle HCI-1, der auch Bluetooth 4.0 unterstützt.

Listing 1

 

$ hciconfig
hci1: Type: BR/EDR  Bus: USB
      BD Address: 00:2b:33:5A:62:22  ACL MTU: 310:10  SCO MTU: 64:8
      UP RUNNING
      RX bytes:688 acl:0 sco:0 events:49 errors:0
      TX bytes:3429 acl:0 sco:0 commands:49 errors:0
hci0: Type: BR/EDR  Bus: USB
      BD Address: 40:F8:1A:BC:F6:4A  ACL MTU: 1021:8  SCO MTU: 64:1
      DOWN
      RX bytes:7530 acl:100 sco:0 events:361 errors:0
      TX bytes:13138 acl:101 sco:0 commands:264 errors:0

Listing 2

 

$ hciconfig hci0 version
< HCI Command: Read Local Version Information (0x04|0x0001) plen 0
> HCI Event: Command Complete (0x0e) plen 12
      Read Local Version Information (0x04|0x0001) ncmd 1
        Status: Success (0x00)
        HCI version: Bluetooth 3.0 (0x05) - Revision 517 (0x0205)
...
$ hciconfig hci1 version
< HCI Command: Read Local Version Information (0x04|0x0001) plen 0
> HCI Event: Command Complete (0x0e) plen 12
      Read Local Version Information (0x04|0x0001) ncmd 1
        Status: Success (0x00)
        HCI version: Bluetooth 4.0 (0x06) - Revision 8891 (0x22bb)
...

Der Befehl hcitool scan listet die MAC-Adresse aller normalen Bluetooth-Geräte (Listing 3, erster Aufruf). Mit der Option lescan (low energy scan) liefert Hcitool die Geräte mit BLE-Kennung, sofern sie sich im sogenannten Advertising Mode befinden. Im Beispiel findet die Software das Handy und den RasPi nur im normalen Bluetooth-Modus, während die Geräte mit dem Verweis unknown ausschließlich im BLE-Mode funken (zweiter Aufruf).

Listing 3

 

$ sudo hcitool scan
Scanning ...
        24:51:7A:B3:AC:21       Samsung Galaxy S7
        40:F8:1A:BC:F6:4A       PC
        28:A7:E3:E2:2A:87       raspberrypi
$ sudo hcitool lescan
LE Scan ...
    76:72:AD:1B:A0:31 (unknown)
    7D:3B:9B:8A:A4:B3 (unknown)
    EA:E6:C2:A5:17:35 (unknown)
    EA:E6:C2:A5:17:35 OWON B35T

Die Python-Bibliothek Bluepy unterstützt die Kommunikation zwischen der Skriptsprache und entsprechenden Geräten [2]. Sie bringt das Programm blescan mit, mit dem Sie die Stärke des Signals messen (Listing 3). Der Parameter -i=1 ist nur dann erforderlich, wenn Sie nicht den Adapter hci0 ansprechen.

Sofern nicht anders angegeben, genügen die Versionen der Programme, wie sie im jeweiligen Repository vorliegen. Python-Skripte in diesem Beitrag basieren ausschließlich auf Python 3. Zur Erinnerung: Python 2.x erhält nur noch bis zum Jahr 2020 Support [3]. Sofern beide Versionen auf dem Rechner laufen, sollten Sie gegebenenfalls die erforderlichen Bibliotheken nicht über Pip, sondern Pip3 nachinstallieren.

Listing 4

 

$ sudo blescan -i=1
Scanning for devices...
  Device (new): e0:e5:cf:25:c8:66 (public), -51 dBm
    Flags: <06>
    0x12: <08000800>
    Tx Power: <00>
    Complete Local Name: 'OWON B35T'

Hier und im Folgenden benötigen Sie die Python-Bibliothek nicht unbedingt, siehe Listing 5, Zeilen 1 und 6. Die Stärke ist mit -54 dBm (RSSI, Received Signal Strength Indication) recht hoch. In zehn Metern Abstand sinkt sie auf -80 dBm. Bei ungefähr -85 dBm reißt die Verbindung ab, abhängig von der Empfindlichkeit des Empfängers.

Listing 5

 

$ sudo btmon &
[2] 6159
Bluetooth monitor ver 5.37
= New Index: 00:2b:33:5A:62:22 (BR/EDR,USB,hci1)                [hci1] 0.064000
[...]
$ sudo hcitool lescan
< HCI Command: LE Set Scan Parameters (0x08|0x000b) plen 7      [hci1] 9.817539
[...]
EA:E6:C2:A5:17:35 (unknown)
> HCI Event: LE Meta Event (0x3e) plen 15                       [hci1] 9.906668
    LE Advertising Report (0x02)
      Num reports: 1
        Event type: Connectable undirected - ADV_IND (0x00)
        Address type: Public (0x00)
        Address: EA:E6:C2:A5:17:35 (Texas Instruments)
        Data length: 3
        Flags: 0x06
          LE General Discoverable Mode
          BR/EDR Not Supported
        RSSI: -54 dBm (0xca)
EA:E6:C2:A5:17:35 (unknown)
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 9 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland