Minulla on kehityksessä mobiilisovellus, joka hyödyntää RuuviTagia. RuuviTagista olisi tarkoitus lukea sen id sekä sen mittaama tuorein data. Näitä ei tarvitse tallentaa minnekään, joten käyttö on hyvin yksinkertaista. Tämä on minulle ensimmäinen kerta, kun käytän bluetoothia devaamisessa.
Minulla on käytössä Cordova plugin cordova-plugin-ble-central (https://github.com/don/cordova-plugin-ble-central). RuuviTagien etsintä ja yhdistyminen toimivat aivan hyvin.
Kun yritän lukea TX characteristicin dataa, ohjelma kohtaa virheen: Error Domain=CBATTErrorDomain Code=2 "Reading is not permitted." UserInfo={NSLocalizedDescription=Reading is not permitted.}
. Tämä johtuu siitä, että TX:ltä puuttuu lukuoikeus. Käyttämäni metodi: https://github.com/don/cordova-plugin-ble-central#read. Oletan, että ehkä jotenkin tällä tavalla saisin ulos mittaustietoja, jos se toimisi. Tässä data, jota ohjelma palauttaa:
<CBCharacteristic: 0x281b1dda0, UUID = 6E400003-B5A3-F393-E0A9-E50E24DCCA9E, properties = 0x10, value = (null), notifying = NO>
{"name":"Ruuvi 25B7","rssi":-26,"id":"1C3130FF-1AE0-CF45-0C4A-B4E93E8E26D9","advertising":{"kCBAdvDataLocalName":"Ruuvi 25B7","kCBAdvDataManufacturerData":{},"kCBAdvDataServiceUUIDs":["6E400001-B5A3-F393-E0A9-E50E24DCCA9E"],"kCBAdvDataIsConnectable":0},"services":["180A","6E400001-B5A3-F393-E0A9-E50E24DCCA9E"],"state":"connected","characteristics":[{"properties":["Read"],"isNotifying":false,"characteristic":"2A29","service":"180A"},{"properties":["Read"],"isNotifying":false,"characteristic":"2A24","service":"180A"},{"properties":["Read"],"isNotifying":false,"characteristic":"2A27","service":"180A"},{"properties":["Read"],"isNotifying":false,"characteristic":"2A26","service":"180A"},{"properties":["WriteWithoutResponse","Write"],"isNotifying":false,"characteristic":"6E400002-B5A3-F393-E0A9-E50E24DCCA9E","service":"6E400001-B5A3-F393-E0A9-E50E24DCCA9E"},{"properties":["Notify"],"isNotifying":false,"characteristic":"6E400003-B5A3-F393-E0A9-E50E24DCCA9E","service":"6E400001-B5A3-F393-E0A9-E50E24DCCA9E"}]}
Mistähän tämä voisi johtua? Otan myös mielelläni vastaan kaikenlaisia vinkkejä tällaisen ominaisuuden toteuttamiseen.