Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Raspberry Pi 3 + iNode T sensor - które UUID podaje temperaturę?

xnts 16 Sep 2017 20:23 2172 4
  • #1
    xnts
    Level 10  
    Szukam informacji o tym jak odczytać temperaturę z sensorów iNode.



    Bez problemu podłączyłem iNode T sensor po BLE do Raspberry Pi3, używają bluez i gatttool, jednak rozbiłem się o to który z 'handlerów' podaje temperaturę.

    Widzę poniższe:
    Code:
    attr handle: 0x0001, end grp handle: 0x0007 uuid: 00001800-0000-1000-8000-00805f9b34fb
    
    attr handle: 0x0008, end grp handle: 0x0008 uuid: 00001801-0000-1000-8000-00805f9b34fb
    attr handle: 0x0009, end grp handle: 0x0010 uuid: 0000cb4a-5efd-45be-b5be-158df376d8ad
    attr handle: 0x0011, end grp handle: 0x0017 uuid: a477e473-94df-4e22-a81b-cf8a6748898c
    attr handle: 0x0018, end grp handle: 0x001c uuid: d3d48370-bb04-11e3-a5e2-0800200c9a66
    attr handle: 0x001d, end grp handle: 0x0020 uuid: 9b4820ee-d114-4dab-a25e-cc0122b3d64d
    attr handle: 0x0021, end grp handle: 0x002b uuid: 0000180a-0000-1000-8000-00805f9b34fb
    attr handle: 0x002c, end grp handle: 0x002e uuid: 00001804-0000-1000-8000-00805f9b34fb
    attr handle: 0x002f, end grp handle: 0xffff uuid: 0000180f-0000-1000-8000-00805f9b34fb

    Według strony https://www.bluetooth.com/specifications/gatt/services większość z nich opisuje urządzenie, poziom baterii i siłę sygnału, jedynym podejrzanym był
    Code:
    1801 - generic attribute
    , jednak gdy odczytuję z niego wartość otrzymuję ciągle te same liczby:
    Code:
    char-read-hnd 0x0008
    
    Characteristic value/descriptor: 01 18

    No i wracając do pytania - może ktoś już temat przerabiał i może wskazać właściwy kierunek, żeby odczytać temperaturę? :)
    Do you have a problem with Raspberry? Ask question. Visit our forum Raspberry.
  • Helpful post
    #2
    TvWidget
    Level 36  
    Temperatura jest wysyłana w ramce rozgłoszeniowej. Nie trzeba się łączyć z urządzeniem aby ją odczytać. Obejrzyj to co uzyskałeś w wyniku skanowania i porównaj z https://docs.google.com/document/d/1hcBpZ1RSgHRL6wu4SlTq2bvtKSL5_sFjXMu_HRyWZiQ/edit#
    Te dwa bajty "rawTemperature" to wartość odczytania z układu Si705x
    W dokumentacji do niego znajdziesz wzór jak przeliczyć ją na stopnie. Chyba trzeba jedynie wynik pomiaru podzielić przez 16.

    Nawiązanie połączenia jest natomiast potrzebne gdy chce się odczytać archiwalne pomiary z rejestratora temperatury.
  • #3
    xnts
    Level 10  
    Super, dziękuję! Z ciekawości - w jaki sposób odczytać wspomniane archiwalne pomiary?
  • #5
    xnts
    Level 10  
    Super, dziękuję!