Hop til hovedindhold

Bluetooth

Scan efter nærliggende Bluetooth Low Energy-enheder, inspicér signalstyrke og annonceringsdata, gennemse GATT-tjenester og karakteristika, og se live-data fra tilsluttede perifere enheder.

Oversigtsskærm med scanningskontroller og nærliggende enheder sorteret efter RSSI.
Hver enhedsrække viser navn, RSSI og om den er forbindelig.

Oversigt

Bluetooth-værktøjet bruger Apples CoreBluetooth-framework til at fungere som en BLE (Bluetooth Low Energy) central og scanne efter nærliggende perifere enheder. Det viser alle opdagede enheder sammen med realtids signalstyrke (RSSI), annonceringsdata og forbindelsesstatus. Du kan oprette forbindelse til forbindelige enheder for at gennemse deres GATT-tjenester og karakteristika, læse værdier, abonnere på notifikationer og inspicere producentdata.

Indholdsfortegnelse


Oversigtsskærm

Oversigtsskærmen er hovedvisningen i Bluetooth-værktøjet. Den indeholder en søgelinje, et statuskort med scanningskontroller og en rulleliste over opdagede enheder.

Et tekstfelt øverst på skærmen filtrerer enhedslisten efter navn. Når du skriver en forespørgsel, indsnævres listen øjeblikkeligt til enheder, hvis annoncerede eller perifere navn indeholder søgeteksten (uden skelnen mellem store og små bogstaver). En ryd-knap vises, når feltet ikke er tomt.

Bluetooth-statuskort

Statuskortet viser:

  • Bluetooth-status-mærkat med den aktuelle radiotilstand, farvekodet:
    • Tændt (grøn) — Bluetooth er aktiv og klar til scanning.
    • Slukket (rød) — Bluetooth-radioen er slukket.
    • Ikke godkendt (orange) — brugeren har nægtet Bluetooth-tilladelse til appen.
    • Ikke understøttet (rød) — enhedens hardware understøtter ikke Bluetooth.
    • Ukendt / Nulstiller (grå) — systemet fastlægger stadig Bluetooth-tilstanden.
  • En scanningskontrolknap (kun synlig når Bluetooth er tændt):
    • Stop scanning (rød) — stopper den aktive scanning.
    • Start scanning (grøn) — starter scanning efter nærliggende enheder.

Scanning starter automatisk, når værktøjet åbnes, og Bluetooth er tændt.

Enhedsliste

Opdagede enheder vises i en rulleliste, sorteret efter RSSI (stærkeste signal først). Listen opdateres i realtid, efterhånden som nye enheder findes, eller eksisterende enheder opdaterer deres annonceringsdata.

Enhedsrække

Hver enhed vises som et kort, der indeholder:

  • Et Bluetooth-ikon i et cirkulært mærke. En hvid bue overlejrer cirklen og fyldes proportionalt med enhedens signalstyrke (0–100%).
  • Enhedsnavn — det annoncerede lokale navn eller perifere navn. Enheder uden navn vises som [No Name].
  • RSSI — den modtagne signalstyrke i dB (f.eks. RSSI: -43 dB).
  • En statusindikator nederst til venstre, der viser én af:
    • Forbundet (grøn) — enheden er aktuelt forbundet.
    • Forbindelig (blå) — enheden annoncerer, at den accepterer forbindelser.
    • Tjenester: N — antallet af GATT-tjenester, enheden annoncerer (vises, når tjenester er til stede, men enheden ikke er forbundet).
    • (ingen mærkat) — enheden er ikke forbindelig og annoncerer ikke tjenester.
  • En indikator til højre:
    • Et grønt flueben-ikon, hvis enheden er forbundet.
    • En chevron (>) hvis enheden er forbindelig (tryk for at åbne detaljer).
    • Not Connectable-tekst, hvis enheden ikke accepterer forbindelser.

Tryk på en hvilken som helst enhedsrække for at gå til Enhedsdetaljer-skærmen.

Tomme tilstande

Oversigten viser kontekstafhængige tomme tilstande:

  • Scanner — et forstørrelsesglas-ikon med en indlæsningsanimation, mens den indledende scanning er i gang, og der endnu ikke er fundet enheder.
  • Bluetooth slukket / ikke understøttet — et Bluetooth-ikon med skråstreg, den aktuelle tilstand og en opfordring til at aktivere Bluetooth.
  • Scanning stoppet — et Bluetooth-ikon med en Start scanning-knap, når Bluetooth er tændt, men scanning er stoppet manuelt, og listen er tom.

Enhedsdetaljer-skærm

Tryk på en enhedsrække åbner en dedikeret detaljeskærm. Skærmen er opdelt i et header-område, en signalstyrkemåler og tre indholdsfaner.

Header og forbindelse

Headeren indeholder:

  • En tilbage-knap (< Devices) for at vende tilbage til oversigten.
  • Enhedsnavnet vist fremtrædende.
  • En forbindelsestilstandsindikator — en farvet prik ved siden af en mærkat:
    • Forbundet (grøn)
    • Forbinder (orange)
    • Afbrudt (rød)
    • Afbryder (orange)
  • En Opret forbindelse / Afbryd forbindelse-knap (kun vist for forbindelige enheder):
    • Opret forbindelse (blå) — starter en BLE-forbindelse. En indlæsningsindikator vises, mens forbindelsen oprettes.
    • Forbinder... (blå, deaktiveret) — vises under forbindelsesforsøg.
    • Afbryd forbindelse (rød) — afslutter den aktive forbindelse.

Når forbindelsen er oprettet, opdager værktøjet automatisk alle GATT-tjenester og deres karakteristika. Læselige karakteristika læses straks, og karakteristika med notifikationer abonneres der automatisk på.

Signalstyrkemåler

Signalstyrkesektionen giver et detaljeret, realtidsbillede af enhedens radiosignal:

  • Cirkulær måler — en bue, der fyldes fra 0% til 100% med en vinkelgradient (rød til orange til gul til grøn). Den aktuelle RSSI-værdi i dBm vises i midten.

  • Omtrentlig afstand — et læsbart estimat udledt af RSSI-værdien:

    RSSI-intervalMærkat
    -30 til -50 dBmMeget tæt på
    -51 til -65 dBmTæt på
    -66 til -80 dBmMellem
    -81 til -90 dBmLangt væk
    Under -90 dBmMeget langt væk
  • Signalbjælker — en 5-bjælke indikator, der fyldes baseret på signalstyrkeprocent.

  • Signalkvalitet — en tekstmærkat: Fremragende (>80%), God (>60%), Middel (>40%), Dårlig (>20%) eller Meget dårlig (<=20%).

  • RSSI — råværdien i dBm.

  • TX Power — sendestyrkeniveau i dBm, hvis enheden annoncerer det. Denne værdi repræsenterer signalstyrken 1 meter fra senderen og kan bruges til at estimere afstand.

  • Signalhistorik — et rullende søjlediagram over de seneste 20 RSSI-målinger, farvekodet (grøn >= -60, gul >= -75, rød < -75). Dette hjælper med at visualisere signalstabilitet over tid.

Info-fane

Info-fanen viser generelle oplysninger om enheden, organiseret som nøgle-værdi-rækker:

FeltBeskrivelse
NavnDet annoncerede eller perifere navn (eller [No Name]).
IdentifikatorPeriferiets UUID tildelt af CoreBluetooth. Dette er en lokal identifikator og ikke enhedens faktiske MAC-adresse.
RSSIAktuel modtaget signalstyrke i dB.
TX PowerSendestyrke i dBm (vises kun, hvis annonceret af enheden).
ForbindeligOm enheden accepterer BLE-forbindelser (Ja / Nej).
TilstandAktuel forbindelsestilstand (Forbundet, Forbinder, Afbrudt, Afbryder).
OpdagetTidsstempel for, hvornår enheden først blev set under denne scanningssession.
Sidst opdateretTidsstempel for seneste annoncering eller RSSI-opdatering.

Under nøgle-værdi-rækkerne vises to ekstra sektioner, når enheden leverer de tilsvarende data:

  • Annoncerede tjenester — en liste over GATT-tjeneste-UUID'er, som enheden inkluderer i sine annonceringspakker. Kendte standardtjenester vises med deres læsbare navn ved siden af UUID (f.eks. 180F (Battery Service), 180A (Device Information)). Se Genkendte tjenester for den fulde liste.
  • Producentdata — de rå producent-specifikke data fra annonceringen, vist som en hex-streng. De første to bytes koder Bluetooth SIG-firmaidentifikatoren (little-endian).

Tjenester-fane

Tjenester-fanen er tilgængelig kun når enheden er forbundet. Den viser det fulde GATT-tjeneste- og karakteristiktræ, der blev opdaget under forbindelsen.

Hver tjeneste vises som en udvidelig række:

  • Et farvet ikon der angiver tjenestekategori:
    • Blå — Generiske tjenester (Generic Access 1800, Generic Attribute 1801)
    • Grøn — Battery Service (180F)
    • Orange — Device Information (180A)
    • Lilla — Producent-specifikke tjenester (UUID'er der starter med FE)
    • Grå — Andre / ukendte tjenester
  • Tjenestenavn (opslået fra UUID for kendte tjenester) og den rå UUID-streng.
  • Et mærke der viser antallet af karakteristika, der tilhører tjenesten.
  • En chevron, der roterer, når tjenesten udvides.

Genkendte tjenester

UUIDTjenestenavn
1800Generic Access
1801Generic Attribute
180ADevice Information
180FBattery Service
1812HID (Human Interface Device)
1813Scan Parameters
1819Location and Navigation
181CUser Data
FE59Apple Notification Center

Udvidelse af en tjeneste afslører dens karakteristika. Hver karakteristikrække viser:

  • Et farvet ikon baseret på den primære egenskab (lilla for læs+skriv, blå for kun læs, grøn for kun skriv, orange for kun notifikation, grå ellers).
  • Karakteristiknavn (opslået fra UUID for kendte GATT-karakteristika) og den rå UUID-streng.
  • Egenskabsmærkater — små farvekodede mærkater for hver understøttet egenskab:
    • Read (blå) — værdien kan læses efter behov.
    • Write (grøn) — værdien kan skrives med kvittering.
    • Write No Response (lysegrøn) — værdien kan skrives uden kvittering.
    • Notify (orange) — karakteristikken kan sende opdateringer til centralen.
    • Indicate (lys orange) — som Notify, men med kvittering.
    • Auth (lilla) — karakteristikken kræver autentificerede signerede skrivninger.
  • En øje-toggle-knap (vises, når karakteristikken har en værdi). Tryk for at vise karakteristikkens aktuelle værdi, vist i flere formater:
    • Hex — den rå byte-sekvens.
    • String — en UTF-8-fortolkning, hvis bytes danner gyldig tekst.
    • Numerisk — automatisk fortolkning baseret på bytelængde:
      • 1 byte: UInt8-værdi
      • 2 bytes: UInt16-værdi
      • 4 bytes: UInt32-værdi og Float-værdi

Genkendte karakteristika

UUIDKarakteristiknavn
2A00Device Name
2A01Appearance
2A04Peripheral Preferred Connection Parameters
2A05Service Changed
2A19Battery Level
2A23System ID
2A24Model Number String
2A25Serial Number String
2A26Firmware Revision String
2A27Hardware Revision String
2A28Software Revision String
2A29Manufacturer Name String
2A2AIEEE 11073-20601 Regulatory Certification Data List
2A50PnP ID

Data-fane

Data-fanen viser live, fortolkede data fra den tilsluttede enhed. Hvis enheden ikke er forbundet, vises en opfordring med en Opret forbindelse-knap (for forbindelige enheder) eller en informationsbesked.

Når der er forbindelse, vises op til tre kort:

  • Producentdata — den producent-specifikke annoncerings-payload:

    • Producent-ID — opslået fra de første to bytes (little-endian) af producentdataene. Kendte ID'er inkluderer Apple (0x004C), Microsoft (0x0006), Samsung (0x0075), Xiaomi (0x038F) og Bosch (0x01D7). Ukendte ID'er vises i hex (f.eks. ID: 0x1234).
    • Rå data — den fulde hex-dump af producentdatabytes.
    • Byte-visualisering — et vandret søjlediagram, hvor hver søjle repræsenterer én byte. Søjlehøjden er proportional med byteværdien (0–255), hvilket giver et hurtigt visuelt fingeraftryk af dataene.
  • Karakteristikværdier — en liste over alle karakteristika, der har en læsbar værdi. Hver post viser:

    • Karakteristiknavn (eller UUID, hvis ukendt).
    • Den fortolkede værdi (som byte, UInt16, UInt32/Float, UTF-8-streng eller hex afhængigt af datalængde).
    • Et lille byte-søjlediagram for værdier op til 8 bytes, med søjler farvekodet efter størrelse (blå < 30%, grøn < 60%, gul < 80%, rød >= 80%).
    • Værdier opdateres automatisk for karakteristika, der understøtter notifikationer.
  • Forbindelsesinfo — timing- og signalmetadata:

    • Opdaget — tidspunktet, hvor enheden først blev set, med forløbet tid siden opdagelse.
    • Sidste opdatering — tidspunktet for seneste dataopdatering, med TX Power hvis tilgængelig.

Tilladelser og krav

  • Bluetooth-tilladelse — CoreBluetooth kræver, at brugeren giver adgang til Bluetooth. Hvis tilladelsen nægtes, viser Lirum en tilladelsesskærm med en knap til at åbne iOS-indstillinger, så brugeren kan genaktivere adgangen.
  • Bluetooth-radio — hvis Bluetooth er slukket, forbliver værktøjet tilgængeligt, men scanningskontroller er deaktiveret, og en tom tilstand opfordrer brugeren til at tænde Bluetooth. Der vises ikke nogen tilladelsesbarriere i dette tilfælde.
  • Bluetooth-tilladelse styres af systemet; der er ingen eksplicit "anmod om tilladelse"-knap. Systemprompten vises automatisk første gang CoreBluetooth initialiseres.

Tekniske detaljer

  • Værktøjet fungerer som en BLE Central ved brug af CBCentralManager. Det scanner efter alle nærliggende perifere enheder (scanForPeripherals(withServices: nil)), hvilket betyder, at det opdager enheder uanset hvilke tjenester de annoncerer.
  • RSSI (Received Signal Strength Indicator) værdier ligger typisk mellem -30 dBm (meget stærkt, enheden er meget tæt på) og -100 dBm (meget svagt, enheden er langt væk eller blokeret). Værktøjet normaliserer dette interval til en 0–100% skala med formlen: (RSSI + 100) / 70.
  • For forbundne enheder polles RSSI hvert 2. sekund med readRSSI(). Et støjfilter undertrykker opdateringer mindre end 2 dB for at reducere visuel flimmer.
  • Ved forbindelse kalder værktøjet discoverServices(nil) for at finde alle GATT-tjenester, derefter discoverCharacteristics(nil, for:) på hver tjeneste. Læselige karakteristika læses automatisk via readValue(for:), og karakteristika med notifikation abonneres der på via setNotifyValue(true, for:).
  • TX Power (CBAdvertisementDataTxPowerLevelKey) repræsenterer signalstyrken 1 meter fra senderen. Når både TX Power og RSSI er kendt, kan forskellen bruges til at estimere path loss og omtrentlig afstand.
  • Producentdata (CBAdvertisementDataManufacturerDataKey) følger Bluetooth SIG-formatet: de første to bytes er firmaidentifikatoren i little-endian rækkefølge, efterfulgt af producent-specifikke payload-bytes.
  • Periferiets identifikator vist i Info-fanen er en UUID tildelt af CoreBluetooth på den lokale enhed. Den er stabil på tværs af app-genstarter for samme enhed, men er ikke den faktiske Bluetooth MAC-adresse (som iOS ikke viser).

Noter og begrænsninger

  • Hvad du kan se, afhænger af, hvad hver perifer enhed annoncerer, og hvad iOS eksponerer via CoreBluetooth. Nogle enheder annoncerer minimale data.
  • Mange enheder vises som [No Name], fordi de ikke inkluderer et lokalt navn i deres annonceringspakker.
  • De omtrentlige afstandsestimater er grove retningslinjer baseret på RSSI-grænser. Faktiske afstande varierer betydeligt afhængigt af miljø, forhindringer, antenneorientering og sendestyrke.
  • Ikke alle forbindelige enheder vil kunne forbindes. Nogle kræver forudgående parring via iOS-indstillinger, og nogle kan afvise forbindelser fra ukendte centrals.
  • Klassiske Bluetooth-enheder (ikke-BLE) er ikke synlige via CoreBluetooth og vil ikke fremgå af scanningsresultaterne.
  • RSSI-værdier kan svinge hurtigt på grund af multipath-interferens, kropsabsorption og andre miljøfaktorer. Signalhistorikdiagrammet hjælper med at udjævne disse variationer visuelt.

Fejlfinding

  • Ingen enheder fundet — sørg for, at Bluetooth er tændt, bliv på Bluetooth-skærmen i et par sekunder, og tryk på Start scanning, hvis scanning er stoppet.
  • Tilladelse nægtet — tryk på Åbn indstillinger-knappen på tilladelsesskærmen og genaktiver Bluetooth-adgang for Lirum i iOS' Privatlivsindstillinger.
  • Forbindelse mislykkes — enheden kan kræve parring i iOS-indstillinger først, understøtter måske ikke forbindelser fra tredjepartsapps, eller er muligvis uden for rækkevidde.
  • Tjenester-fanen er tom — nogle enheder eksponerer ingen tjenester eller forsinker tjenesteopdagelse. Vent et par sekunder efter forbindelse. Hvis ingen tjenester vises, understøtter enheden muligvis ikke standard GATT-profiler.
  • Karakteristikværdier vises kun som hex — værktøjet forsøger at fortolke værdier som UTF-8 tekst og almindelige numeriske typer. Hvis ingen af disse fortolkninger er mulige, vises den rå hex-dump.