incyclist / desktop

Incyclist Desktop App
3 stars 0 forks source link

Add multicast DNS to check for available DirectConnect trainers #67

Closed gdoumen closed 5 days ago

gdoumen commented 1 week ago

As preparation for Direct Connect support, we should enhance the Pairing page to discover devices using MultiCast DNS

As far as I currently understand, Direct Connect is BLE FTMS over IP, where the capabilities or devices are tranmistted via multicast DNS

Adding this check would help to identify potential testers

References: MultiCast DNS Spec: https://www.ietf.org/rfc/rfc6762.txt (MultiCast DNS is also called mdns or bonjour) GPLLama: https://www.youtube.com/watch?v=XtIM5675dLo

gdoumen commented 5 days ago

This is the information the KICKR Bike announces:

{
  "addresses":["192.168.8.106"],
  "subtypes":[],
  "name":"KICKR BIKE SHIFT A8E6",
  "fqdn":"KICKR BIKE SHIFT A8E6._wahoo-fitness-tnp._tcp.local",
  "host":"KICKR-BIKE-SHIFT-A8E6.local",
  "referer":{
    "address":"192.168.8.106",
    "family":"IPv4",
    "port":5353,
    "size":433},
  "port":36866,
  "type":"wahoo-fitness-tnp",
  "protocol":"tcp",
  "rawTxt":[
    {"type":"Buffer","data":[98,108,101,45,115,101,114,118,105,99,101,45,117,117,105,100,115,61,48,120,70,67,56,50,44,48,120,49,56,49,56,44,48,120,49,56,50,54,44,48,48,48,48,48,48,48,49,45,49,57,67,65,45,52,54,
            53,49,45,56,54,69,53,45,70,65,50,57,68,67,68,68,48,57,68,49,44,65,48,50,54,69,69,48,68,45,48,65,55,68,45,52,65,66,51,45,57,55,70,65,45,70,49,53,48,48,70,57,70,69,66,56,66]},
    {"type":"Buffer","data":[109,97,99,45,97,100,100,114,101,115,115,61,69,67,45,68,65,45,51,66,45,49,67,45,70,57,45,69,67]},
    {"type":"Buffer","data":[115,101,114,105,97,108,45,110,117,109,98,101,114,61,50,51,52,51,48,48,50,51,56]}
  ],
  "txt":{
    "ble-service-uuids":"0xFC82,0x1818,0x1826,00000001-19CA-4651-86E5-FA29DCDD09D1,A026EE0D-0A7D-4AB3-97FA-F1500F9FEB8B",
    "mac-address":"EC-DA-3B-1C-F9-EC",
    "serial-number":"234300238"
  } 
}