Ruuvitag+node red

Moro,

Osaisiko joku auttaa kun minulla on node red laitettu keräämään ruuvi antureita ja se toimikin pitkään todella hyvin mutta, nyt yhtäkkiä contrib-noble scan ble lakkasi toimimasta ja kun korvasin sen contrib-noble-bluetooth kirjaston scan ble:llä se kyllä skannaa mutta ei lähetä ilmeisesti mitään ruuvitag nodelle (debug on undefined). Miten saan keruun toimimaan?? ja miksi se alkuperäinen scan ble node ei enää toimi.

käyttämäni rakennuspalikat:

Osaisikohan @otso neuvoa tässä eteenpäin?

Hei,

Nuo Bluetooth-kirjastot ovat olleet aika epävakaita ja hajoilevat kun jotain päivitetään taustalla. Aloittaisin päivittämällä kaikki mahdolliset kirjastot uusimpaan versioon ja sitten etsimällä mikä kutsuu tuota debug-funktiota. Ehkä sen kutsun voi vain poistaa

anteeksi jos kyselen tyhmiä mutta eikö se tarvitse jonkum ble scanner solmun jotta toimii? mulla oli ennen inject - ble scan - ruuvitag - ui template kunnes se lakkasi toimimasta niin vaihdoin ble kirjaston “noble-bluetooth” ja nyt on inject - ble scanner - ruuvitag - ui template, ja se scanneri ainankin sanoo scannaavansa mutta siitä ei lähde eteenpäin mitään tietoa.

ilmeisesti pitäisi johonkin syöttää UUID (ehkä), osaisiko joku kertoa mikä se on ja miten sen saa ruuvitagista kaivettua?

Pääsin etenemään niin että saan yhteyden anturiin ja sieltä jotain tulee vastaukseksikin debug:lle :smiley: mutta ruuvitag solmu ei vieläkään lähde toimimaan tai ei osaa käsitellä dataa… Osaisiko joku auttaa mitä nyt pitäisi tehdä jotta saisin mittaukset toimimaan? Alla pieni ote mitä debuggi näyttää, tuosta pääsee vielä availemaan vaikka miten pitkälle tuota.

connected : msg : Object
object
peripheral: “----”
address: “–:–:–:–:–”
rssi: -49
connectable: true
name: “Ruuvi --”
manufacturerData: buffer[26]
[0 … 9]
0: 0x99
1: 0x4
2: 0x5
3: 0x12
4: 0x8
5: 0x2f
6: 0xd3
7: 0xc1
8: 0x45
9: 0xff
[10 … 19]
[20 … 25]
services: array[4]
_msgid: “----------------”
connected: true
characteristics: array[11]
topic: “connected”

Data näyttää oikealta, mutta tuon tekemisestä on 7 vuotta ja 5 vuotta edellisestä kerrasta kun itse päivitin nodea niin paha sanoa mikä on muuttunut ajan saatossa.

Laittaisitko kuvan flowstasi ja debug-ikkunan näkymän jokaisesta nodesta samalla tavalla kuin readmessa?

Ollaan sentään siis oikealla polulla, tämä saattaa olla hyvin pienestäkin kiinni sillä en ole millään tavalla ammattilainen näissä asioissa, edes alkeet ei ole kunnolla hallussa, yritys, erehdys, google metodilla mennään. Olen kokeillut myös vetää viivan ble deviceltä suoraan ruuviTag laatikolle mutta ei tapahdu mitään, johtuneeko tuosta “scannable: false” ?

kuva

Äkkiseltään näyttää että flow yrittää yhdistää RuuviTagiin ja lukea Bluetooth-yhteyden ylitse dataa. Tämäkin olisi tehtävissä, mutta helpoimmalla pääsee jos datan lukee suoraan mainoksesta.

Oletko kokeillut yhdistää tuon RuuviTag-noden joko suoraan BLE scanner tai Ruuvi 1 nodeen?

“scannable: false” viitannee siihen että RuuviTag ei mainosta “scan response” -mahdollisuutta ollessaan jo yhteydessä laitteeseen.

Juu olen koittanut mutta silloin ei tapahdu mitään, miten tätä mainosta luetaan? Pitäisikö se määritellä jotenkin tuonne inject nodeen? Ja vaikuttaakohan se ruuvitag noden toimintaan että scanneriin jos yhdistää debugin niin alkuun se sanoo vain “undefined” kunnes muuttaa outputtiin complete msg object?


kuva
kuva

Nopeasti katsottuna tuon flown pitäisi toimia, ilmeisesti BLE scanner-node tuottaa dataa jotenkin erilaisessa muodossa kuin aiempi Scan BLEs.

Jos RuuviTag-noden koodia pääsee editoimaan suoraan node-red editorissa, sinne voisi sirotella console.log-komentoja jotka tulostavat minne ohjelma menee. Esimerkiksi node-red/ruuvi-node/ruuvitag.js at 0d42233b086be0255d6c25ea51c06dc480a47b9b · ojousima/node-red · GitHub voisi tulostaa console.log(JSON.stringify(msg)) ja sitten aina ennen return null -lausetta jokin lokiviesti että ajo päättyi tähän

Valitettavasti ei pääse muokkaamaan tuota kautta muuta kuin nimen

kuva