Formetre Bluetooth API

Formetre olarak yazılım geliştiricilerin Formetre akıllı bileklik ile entegre çalışabilecek mobil uygulamalar geliştirmesine imkan sağlamak amacı ile cihazımızın Bluetooth API’sini yayınlamaya karar verdik. Farklı fonksiyon talepleri ve sorularınız için bize İletişim Formundan ulaşabilirsiniz.

BLE Profil Tanımı

Servis UUID: 0xFFF0

Özellik UUID:

TX UUID:0xFFF6 veri telefondan bilekliğe gönderilir,uzunluk 16 byte.

RX UUID:0xFFF7veri telefondan bilekliğe gönderilir,uzunluk 16 byte.

BLE protokolü sadece iki özellik UUID si arasındaki etkileşimdir.

BLE Protokolü

Verici alıcıya 16 byte lık paket gönderir, sonrasında alıcı geriye 16-byte lık paket gönderir.

Alıcının gönderdiği paket formatı şu şekildedir:

B1 B2   —————   B15 B16
Komut  Yük byte ları, 14 byte CRC kontrol byte

Komut: değer aralığı: 0x00 à0x7F; her zaman Bit7 için 0. Son byte CRC (CRC hesabı ilk 15 byte ın toplanıp en düşük 8 byte ın alınmasıdır). Örneğin paket aşağıdaki gibiyse:

A1 A2 A3 A4…… A13 A14 A15 CRC ;

CRC = (A1 + A2 + A3 + A4+……+ A13 + A14 + A15) & 0xFF;

Alıcı komutu aldıktan sonra şu formatta 16 byte lık yanıt döner:

B1 B2   —————   B15 B16
Komut Yük byte ları, 14 byte CRC kontrol byte

Komut: Alınan komuta verilen yanıt. Örneğin 0x01 komutu alınırsa ve CRC OK se 0x01 dön. CRC OK değilse, Bit7 1 e set edilir, 0x81 dönülür. CRC hesabı aynı şekildedir.

BLE Veri Formatı

1. Cihaz Saatini Ayarlama

Komut formatı: 0x01 AA BB CC DD EE FF 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Telefonun saatini akıllı bilekliğinki ile eşle

Tanım: AA yıl;BB ay;CC gün;DD saat;EE dakika;FF saniye. Format BCD şeklindedir. Örneğin yıl 12 ise, AA = 0x12

Komut yanıtı: Doğru ise, 0x01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC dön; Yanlış ise 0x81 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC dön

2. Cihaz Saatini Oku

Komut formatı: 0x41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Akıllı bileklik üzerinde yazılı saati al, toplam 16 byte

Komut Yanıtı:

Doğru ise OK, ve dönüş: 0x41 AA BB CC DD EE FF 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş: 0xC1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Cevap tanımı: AA yıl;BB ay;CC gün;DD saat;EE dakika;FF saniye. Format BCD şeklindedir. Örneğin yıl 12 ise, AA = 0x12

3. Saat Formatını Belirle

Komut formatı: 0x37 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Akıllı bileklik için saat formatını 12 – 24 olarak belirle

Tanım: AA: =0  12-li format (am, pm);AA=1  24-lü format (17:00 v.b.)

4. Saat Formatını Oku

Komut formatı: 0x38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Bileklik üzerindeki saat formatını al

Komut yanıtı:

Doğru ise OK, ve dönüş:   0x38 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş:   0xB8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanıt tanımı: AA: =0  12-li format (am, pm);AA=1  24-lü format (17:00 v.b.)

5. Kullanıcı Kişisel Bilgilerini Tanımla 

Komut Formatı: 0x02 AA BB CC DD EE 00 00 00 00 00 00 00 00 00 CRC

Fonkisyon: Kullanıcı kişisel bilgilerini bilekliğe yaz

Tanım: AA:cinsiyet(0 kadın,1 erkek),BB:yaş,CC:boy,DD:kilo,

EE:adım uzunluğu

Komut yanıtı:

Doğru ise OK, ve dönüş:   0x02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş:   0x82 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

6. Kullanıcı Kişisel Bilgilerini Oku

Komut Formatı: 0x42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Bileklik üzerindeki kişisel bilgileri oku

Komut yanıtı:

Doğru ise OK, ve dönüş:  0x42 AA BB CC DD EE FF GG HH II JJ KK 00 00 00 CRC

Yanlış ise Fail,ve dönüş:   0xC2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanıt Tanımı: AA:cinsiyet(0 kadın,1 erkek),BB:yaş,CC:boy,DD:kilo,

EE:adım uzunluğu, FF–>KK cihaz ID kodu 6 byte, yüksek byte önde

7. İlgili Gün İçin Aktivite Bilgilerini Al (Detaylı)

Komut Formatı: 0x43 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Cihazın ilgili gün için kaydettiği aktivite bilgilerini al

Tanım: AA ilgili günü gösterir, şöyle ki: 0 bugünün verileri, 1 dünün verileri, 2 2 gün önce,….., 29  29 gün önce – cihaz 30 günlük hafızaya sahiptir.

Komut yanıtı:

Doğru ise OK, ve dönüş:

(cihazda veri varsa):0x43 0xF0 AA BB CC DD EE FF GG HH II JJ KK LL MM CRC(toplam 96 yanıt)

(cihazda veri yoksa):0x43 0xFF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC(sadece 1 yanıt)

Yanlış ise Fail,ve dönüş: 0xC3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC(sadece 1 yanıt)

 96 parça veri dönüşü şu şekilde tanımlanabilir:

AA BB CC:  Yıl, Ay, Gün. DD saat aralığı indeksi, örneğin: 00:00 – 00:15 0. zaman aralığı, indeks değeri 0. 23:45 – 24:00 95. zaman aralığı. Maksimum değer 95.

EE: EE= 0x00 ise aktivite verisi; EE =0xFF ise uyku kalitesi verisi.

Aktivite datası ise şu şekilde kodlanmıştır:

FF GG kalori verisi, 2 byte, düşük byte önde.

HH II adım sayısı, 2 byte, düşük byte önde.

JJ KK mesafe, 2 byte, düşük byte önde.

LL MM koşu adımı, 2 byte, düşük byte önde.

8. Uyku Verisi Al

Komut Formatı: 0x49 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

AA = 0 : uyku moduna gir, AA = 1: uyku modundan çık

Komut yanıtı:

Doğru ise OK, ve dönüş:  0x49 00 BB CC DD EE 00 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş:   0xC9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Uyku kalitesi 2 dakikada bir kontrol edilir, veri hafızaya her 15 dakikada bir yazılır.

FF:  1. & 2. dakikadaki uyku verisi

GG: 3. & 4. dakikadaki uyku verisi

HH: 5. & 6. dakikadaki uyku verisi

II: 7. & 8. dakikadaki uyku verisi

JJ: 9. & 10. dakikadaki uyku verisi

KK: 11. & 12. dakikadaki uyku verisi

LL: 13. & 14. dakikadaki uyku verisi

MM: 15. dakikadaki uyku verisi

Uyku kalitesi uyku esnasındaki hareketlere dayanır. Kullanıcılar uyku kalitesini kendileri de belirleyebilirler.

“0” –>  “Uyku verisi yok”

“1-2” –>  “Derin uyku az hareketli”

“3-5” –>  “Orta derinlikte uyku hareketli”

“6-22” –>  “Hafif uyku hareketli”

“22-128” –>  “Uyanık”

9. Aktivite Verisini Sil

Komut Formatı: 0x04 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Seçilen gün için aktivite verisini silme

Tanım: AA ilgili günü gösterir, şöyle ki: 0 bugünün verileri, 1 dünün verileri, 2 2 gün önce,….., 29  29 gün önce – cihaz 30 günlük hafızaya sahiptir.

Komut yanıtı:

Doğru ise OK, ve dönüş:  0x04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş:   0x84 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

10. Bileklik ID Kodunu Tanımla

Komut Formatı: 0x05 ID5 ID4 ID3 ID2 ID1 ID0 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Telefon tanımlanan ID kodunu cihaza yazar

Tanım: 6-byte ID kodu ayarlaması, yüksek byte önce

Doğru ise OK, ve dönüş:  0x05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş:   0x85 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

11. Veri Depolamayı Kontrol Et

 Komut Formatı: 46 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Son 30 gün içerisinde veri depolanmış mı kontrol et

Doğru ise OK, ve dönüş:  0x46 AA BB CC DD 00 00 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş:   0xC6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Komut yanıtı:

AA BB CC DD 4 byte veri,AA en yüksek, DD en düşük byte.

Bit0 bugünü gösterir, bugün için veri varsa 1, yoksa 0.

Bit1 dünü gösterir, dün için veri varsa 1, yoksa 0.

Bit29 29 gün önceyi gösterir, veri varsa 1, yoksa 0.

Bit30-Bit31 her zaman 0.

12. İlgili Güne Ait Toplam Aktivite Verisi

Komut Formatı: 0x07 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: İlgili gün için aktivite verisini oku

Tanım: AA = 0 bugün, AA = 10 10 gün önce

Komut yanıtı:

Doğru ise OK, ve dönüş:  0x07 AA BB CC DD EE FF GG HH II JJ KK LL MM NN CRC

Yanlış ise Fail,ve dönüş:   0x87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanıt tanımı: (toplam 2 yanıt, ikisinde de ilk 5 byte aynı anlamda)

AA komut indeks değeri, bu komut iki öge döner, ilk indeks 0 ve ikinci indeks 1

BB günü gösterir (kaç gün önce)

CC DD EE yıl, ay, gün (hepsi 0 ise o gün için veri yok)

İlk yanıt:

FF GG HH toplam adım.

II JJ KK  3-byte koşu adımı/ aerobik adım, yüksek byte önde

LL MM NN 3-byte kalori değeri, yüksek byte önde

İkinci yanıt:

FF GG HH 3-byte yürüyüş mesafesi, yüksek byte önde

II JJ 2-byte aktivite süresi, dakika cinsinden, KK–>NN  0.

13. İlgili Güne Ait Aktivite Tamamlanma Oranı

Komut Formatı: 0x08 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: İlgili gün için aktivite verisini oku

Tanım: AA = 0 bugün, AA = 10 10 gün önce

Komut yanıtı:

Doğru ise OK, ve dönüş:  0x08 AA BB CC DD EE FF GG HH II JJ KK LL MM NN CRC

Yanlış ise Fail,ve dönüş:   0x88 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

AA = 0 bugün, AA = 1 dün

BB CC DD yıl, ay, gün (hepsi 0 ise o gün için veri yok)

EE 0 – 100 arası hedef tamamlanma yüzdesi

FF GG 2-byte aktivite hızı, yüksek byte önde.

HH II JJ 3-byte EX değeri,yüksek byte önde.

KK LL kişisel hedef  tamamlama yüzdesi, 2 byte, yüksek byte önde. Değer aralığı 0 — > 999

14. Anlık Adım Modu Başlat (Bileklikten Eşzamanlı Veri Çekme)

Komut Formatı: 0x09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Eşzamanlı adım sayma modunu başlat

Komut yanıtı:

Doğru ise OK, ve dönüş:  0x09 AA BB CC DD EE FF GG HH II JJ KK LL MM NN CRC

Yanlış ise Fail,ve dönüş:  0x89 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanıt tanımı:

Komut başarılı olduktan sonra aktiviteölçerdeki veri değiştikçe otomatik olarak telefona veri gönderilmeye devam eder.

AA BB CC 3-byte toplam adım, AA en yüksek byte, CC en düşük byte.

DD EE FF 3-byte koşu adımı/aerobik adım, DDen yüksek byte, FF en düşük byte.

GG HH II 3-byte kalori değeri, GG en yüksek byte, II en düşük byte.

JJ KK LL  3-byte yürüme mesafesi, JJ en yüksek byte, LL en düşük byte.

MM NN 2-byte aktivite süresi, dakika biriminden.

15. Anlık Adım Modu Durdur (Bileklikten Eşzamanlı Veri Çekme) 

Komut Formatı: 0x0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Eşzamanlı adım sayma modunu durdur

Komut yanıtı:

Doğru ise OK, ve dönüş:  0x0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş:  0x8A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

16. Hedef Adım Sayısı Belirle

Komut Formatı: 0x0B AA BB CC 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Hedef adım sayısını bileklik üzerine yazma

Tanım: AA BB CC hedef değeri,3 bytes,yüksek byte önde.

Komut yanıtı:

Doğru ise OK, ve dönüş:  0x0B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş:  0x8B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

17. Hedef Adım Sayısını Oku

Komut Formatı: 0x4B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Telefon bileklik üzerindeki hedef değeri okur.

Doğru ise OK, ve dönüş:  0x4B 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş:  0xCB AA BB CC 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanıt tanımı:

AA hedef tipi (default adım):

AA BB CC hedef adım değeri,3 byte,yüksek byte önde

=0 hedef adım türünden

=1 hedef mesafe türünden, birim 0.01KM

=2 hedef kalori türünden, birim Kcal

BB CC DD EE hedef değer, 4 byte, yüksek byte önde

18. Alarm Kur

Komut Formatı: 0x23 AA BB CC DD EE FF GG HH II JJ KK 00 00 00 CRC

Fonksiyon: Alarm fonksiyonunu kullan

Tanım:

AA alarm numarası (0 – 4), toplam 5 alarm kurulabilir

BB alarm aktif hale getirme, 0 kaldır; 1  uyku alarmı kur,2 diğer alarm kur

CC alarm saati (24 saat formatı ), BCD kod formatı (örn: 23 saat CC = 0x23)

DD alarm dakikası, BCD kod formatı (örn: 59 dk CC = 0x59)

EE Pazar alarmı  0 kaldır; 1 kur

FF Pazartesi alarmı  0 kaldır; 1 kur

GG Salı alarmı  0 kaldır; 1 kur

HH Çarşamba alarmı  0 kaldır; 1 kur

II Perşembe alarmı  0 kaldır; 1 kur

JJ Cuma alarmı  0 kaldır; 1 kur

KK Cumartesi alarmı  0 kaldır; 1 kur

Doğru ise OK, ve dönüş:  0x23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş:  0xA3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

19. Alarmı Oku

Komut Formatı: 0x24 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Alarmı oku

Komut yanıtı:

Doğru ise OK, ve dönüş:  0x24 AA BB CC DD EE FF GG HH II JJ KK 00 00 00 CRC (değerler 18. deki gibi)

Yanlış ise Fail,ve dönüş:  0xA4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

20. Aktivite Hatırlatma Uyarısı

Komut Formatı: 0x25 AA BB CC DD EE FF 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Aktivite hatırlatma uyarısı kurma

AA aktiviteye başlama zamanının  saat kısmı (24H formatı), BCD kod formatı (örn: 23 saat AA = 0x23)

BB aktiviteye başlama zamanının dakika kısmı , BCD kod formatı (örn: 59dk  BB = 0x59)

CC aktiviteyi sonlandırma zamanının saat kısmı (24H formatı), BCD kod formatı (örn: 23 saat AA = 0x23)

DD  aktiviteyi sonlandırma zamanının dakika kısmı , BCD kod formatı (örn: 59dk  BB = 0x59)

EE günleri ayarlamk için kullanılan bit

Bit0 = 0 Pazar kaldır,Bit0 = 1 Pazar kur

Bit1 = 0 Pazartesi kaldır,Bit1 = 1 Pazartesi kur

Bit2 = 0 Salı kaldır,Bit2 = 1 Salı kur

Bit3 = 0 Çarşamba kaldır,Bit3 = 1 Çarşamba kur

Bit4 = 0 Perşembe kaldır,Bit4 = 1 Perşembe kur

Bit5 = 0 Cuma kaldır,Bit5 = 1 Cuma kur

Bit6 = 0 Cumartesi kaldır,Bit6 = 1 Cumartesi kur

FF aktivite hatırlatma döngüsü, birim dakika, değer aralığı:(1-255)

Örn: 255, her 255 dakikada bir hatırlatma

Doğru ise OK, ve dönüş:  0x25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş:  0xA5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

21. Aktivite Hatırlatma Uyarısı Oku

Komut Formatı: 0x26 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: Bileklik üzerindeki kurulu hatırlatmaları okur

Doğru ise OK, ve dönüş:  0x26 AA BB CC DD EE FF 00 00 00 00 00 00 00 CRC (değerler 20.deki gibi)

Yanlış ise Fail,ve dönüş:  0xA6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

22. Titreşim Sinyali

Komut Formatı: 0x36 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Fonksiyon: bilekliğin titreşim motorunu çalıştır

Tanım: AA:titreşim süresi,birim: 0.25ms. Maksimum 10,yani 2.5S.

Doğru ise OK, ve dönüş:  0x36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Yanlış ise Fail,ve dönüş:  0xB6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CRC

Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir