Hallo zusammen, ich habe ein Thermometer auf Basis des MCP9844 und einem Bluegiga BLE113 entworfen. Das funktioniert auch sehr gut, ich kann über das health thermometer profile über diverse Apps auf Android die Temperatur lesen. Jetzt würde ich das gerne kompatibel zu der App "nRF Temp" von Nordic Semiconductor machen. Zur Info, dabei wird die Temperatur in die Advertising Pakete gepackt, so dass keine gepairte BT-Verbindung nötig ist. Custom Advertising ist für mich kein Problem, dafür gibt es von Bluegiga auch Beispiele. Nur wie genau macht Nordic das für diese App? Leider kann man die Nordic-Sourcen nur herunterladen, wenn man eines ihrer Produkte gekauft und somit einen Key bekommen hat. Kann mir einer von euch helfen? Ich bräuchte die UUIDs und den Aufbau des Advertising-Pakets, kompatibel zur nRF Temp-App. Soweit ich weiß, ist dies noch nicht genormt. Nach einiger Recherche packt Nordic wohl dieselbe Info für Batt-Status und Temperatur identisch zum GATT-Profil in das Advertisement-Paket. Leider bekomme ich die Längen und Positionen nicht ohne die Nordic-Sourcen heraus! :( Viele Grüße, Christian
man kriegt alles aus, auch ohne sources, kann aber aufwendig sein. ich habe vor paar Jahren das nordic kit gekauft und noch 5000 usd für den aNT alliance bezahlt.. alles rostet jetzt irgendwo in einer Kiste. aber Vorsicht mit BT, ab Januar 2014 muss jeder der ein gerat baut wo bluetooth drinne ist 8000 usd gebühren bezahlen, Auch du wenn du den bleugiga einbaust. bis jan 2014 war es noch nicht notendign diesen 8000 usd zu bezahlen.
Den Produkt Key braucht man nur noch für die Softdevices. Das SDK ist seit einiger Zeit auch ohne erhältlich (http://developer.nordicsemi.com/).
Hallo Fritz, danke für den Hinweis! Die Sourcen haben weitergeholfen. Trotzdem musste ich ewig suchen und woher die den ble_gatt_full_name nehmen, habe ich bisher nicht gefunden. Die schicken was an den Stack intern und was da herauskommt, kann ich leider nicht wissen. Es geht aber auch so! Ich bekomme jetzt sowohl über die Nordic Toolbox und das GATT-Profil Kontakt als auch über die Nordic nRF Temp 2. :) Eine Besonderheit, die man nur durch den Code herausbekommt ist, dass Nordic die Flags im HT-Profil nicht setzt! Laut BT.org müssen es 5 Bytes sein, 1*flags, 3*wert, 1*exponent. Nordic lässt die Flags weg. So gehts mit dem BLE113 von Bluegiga und dem MCP8944 von Microchip. Das GATT-Profil, Project und hw-beschreibung sind identisch zum Bluegiga htm example. Viele Grüße, Christian # Set register 0x05 (ambient temperature) for reading call hardware_i2c_write( DW, NOSTOP, $01, $05 ) # Read Temp Registers call hardware_i2c_read( DR, STOP, $02 ) (result, data_len, i2c_rx_buffer(0:data_len)) # get MSB, clear bit 5-7, shift right 3 bits celsius_msb = i2c_rx_buffer(0:1) celsius_msb = celsius_msb & $0f celsius_msb = celsius_msb * 1600 # get LSB celsius_lsb = i2c_rx_buffer(1:1) celsius_lsb = celsius_lsb * 100 celsius_lsb = celsius_lsb / 16 celsius = celsius_msb + celsius_lsb #set flags (bit0 0=celsius, 1=fahrenheit) tmp(0:1)=0 #set as float tmp(1:4)=float(celsius, -2) #write the temperature information to the GATT database call attributes_write(xgatt_htm_2a1c,0,5,tmp(0:5)) # Initialize ADV data # Flags = LE General Discovery, single mode device (02 01 06) advdata(0:1) = $02 # length advdata(1:1) = $01 # field type = flags advdata(2:1) = $04 # undirected connectable # Battery service advdata(3:1) = $04 # length advdata(4:1) = $16 # file type = 16 bit uuid advdata(5:1) = $0f # advdata(6:1) = $18 # Battery service advdata(7:1) = $50 # 80 % # Thermometer service advdata(8:1) = $07 # length advdata(9:1) = $16 # field type = 16 bit uuid advdata(10:1) = $09 # health thermometer service advdata(11:1) = $18 # advdata(12:4) = float(celsius, -2) # temperature data # Set advertisement data call gap_set_adv_data(0, 16, advdata(0:16))
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.