)
Leseblyant BLE Mesh og paringsmekanisme: Slik konstruerer vi et klasserom med 40 enheter uten frakoblinger
Målgruppe:Denne artikkelen er skrevet for OEM/ODM-merkeeiere, ansvarspersoner for skoleanbud og maskinvareingeniører som bygger Bluetooth Low Energy mesh- eller LE Audio-kringkastingsfunksjoner inn i lesepennen. Den kartlegger firmware-parings-tilstandsmaskinene for alle 11 aktive SKU-er (B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2, Y6) opp mot klasseromsskala, kringkastingslydfunksjon og klargjøringsflyt.
Da en statlig utdanningsetat gjennomførte et pilotprosjekt med 12 000 enheter over 240 barneskoleklasserom i 2025, var feilmodusen verken Wi-Fi-dekning eller innholdsrettigheter. Det var BLE-paring. Hvert klasserom hadde 40 blyanter og 40 elevhodetelefoner. Førstegenerasjons-fastvaren brukte parvise bindinger; lærerens master-blyant låste seg etter å ha håndtert 6 samtidige tilkoblingsforespørsler. Resultatet ble en 28 minutter lang forsinkelse av undervisningen på utrullingsdagen, og en hard lærepenge om hvorfor BLE-mesh og paring er to svært forskjellige ingeniørmessige problemer.
Denne artikkelen legger frem den produksjonstestede designen. Den er skrevet fra fabrikkens perspektiv: silikonvalg, firmware-tilstandsmaskin, BOM-kostnad og terskelverdiene for klasseromsskala der parvise BLE bryter sammen og BLE mesh tar over.
1. Paring vs binding vs mesh — vokabularet en kjøper må kontrollere
Tre begreper forveksles rutinemessig av importører. Få orden på dem først:
- Paring er engangsutvekslingen av identitet (IRK, LTK) mellom to enheter. Den produserer en langsiktig nøkkel.
- Binding er handlingen med å lagre den nøkkelen i NVM. En paret enhet som ikke er bundet, må pare seg på nytt ved hver gjenoppkobling.
- Mesh er en mange-til-mange-topologi som bruker BLE Mesh-profilen (SIG-spesifikasjon, siden 2017). Hver node er en relé; meldinger spres via flood eller administrert flooding.
Paring gir deg ikke mesh. En leseblyant som støtter 8 samtidige A2DP-tilkoblinger er ikke mesh-kompatibel. De 11 SKU-ene vi leverer fordeler seg slik:
| Modell | BT-versjon | Paringsroller | Binding-lagring | LE Audio (LC3) | BLE Mesh-node | Provisioner-aktivert |
|---|---|---|---|---|---|---|
| B1 | 5.0 | Kun periferi | 4 oppføringer | Nei | Nei | Nei |
| B2 | 5.0 | Kun periferi | 4 oppføringer | Nei | Nei | Nei |
| F8 | 5.1 | Periferi | 4 oppføringer | Kun LC3-sink | Nei | Nei |
| K7 | 5.0 | Periferi + sentral | 8 oppføringer | Nei | Nei | Nei |
| KF1 | 5.2 | Periferi + sentral | 8 oppføringer | LC3 SRC + SNK | Yes, friend node | No |
| L5 | 5.2 | Peripheral + Central | 8 entries | LC3 SRC + SNK | Yes, friend + low-power | Yes |
| P2 | 4.2 | Peripheral only | 2 entries | No | No | No |
| Q6 | 5.1 | Peripheral | 4 entries | LC3 sink only | No | No |
| Q8 | 5.3 | Peripheral + Central | 8 entries | LC3 SRC + SNK | Yes, friend node | Yes |
| T2 | 5.3 | Peripheral + Central + LE Audio broadcaster | 8 entries | LC3 broadcast | Yes, friend + low-power + relay | Yes |
| Y6 | 5.2 | Peripheral + Central | 8 entries | LC3 SRC + SNK | Yes, friend node | No |
Kjøperråd: Hvis anbudet krever "kringkasting av lyd fra lærer til 40 penner", er det kun T2 som er envejrs kringkaster. KF1, L5, Q8, Y6 kan være LC3-lydkilde, men kun til en paret mottaker, ikke til et uadministrert klasserom. Bekreft spesifikasjonsteksten før du gir tilbud.
Kolonnen provisioner-kompatibel er den mest misforståtte. En provisioner er enheten som sender mesh-nettverksnøkkelen (NetKey) og tildeler unicast-adresser til nye noder. L5, Q8 og T2 kan utføre selv-provisionering rett ut av esken, så de trenger ikke en dedikert telefonapp for å koble seg til et mesh.
2. Paretilstandsmaskinen på en moderne lesepenn
Alle 11 SKU-ene følger Bluetooth 5.x Generic Access Profile (GAP)-tilstandsmaskinen, men de QCC-baserte K7, KF1, L5, Q8, T2, Y6 implementerer en utvidet tilstandsmaskin med LE Secure Connections (SC) og elliptisk-kurve Diffie-Hellman (ECDH) P-256. De Actions-baserte B1, B2, F8, P2, Q6 bruker den eldre P-192 ECDH-banen.
Den kanoniske paresekvensen:
- Standby → Advertising: pennen annonserer på de 3 primære ADV-kanalene (37, 38, 39) med 100 ms intervaller.
- Scan request → Scan response: hodetelefoner ber om skanning; pennen returnerer enhetsnavn, tjenester, TX-effekt.
- Connection initiation: hodetelefoner sender CONNECT_IND.
- Funksjonsutveksling: penn- og hodetelefonutveksling. Funksjonsutveksling PDU (LE SC, OOB, MITM, IO-kaps).
- ECDH-nøkkelutveksling: P-256 på QCC, P-192 på Actions. LTK utledet.
- Lagring av binding: LTK skrevet til NVM-sektor; opptil 8 oppføringer på high-end SKU-ene.
- Tjenesteoppdagelse: A2DP, AVRCP, GATT-batteritjeneste, leverandørspesifikk OID-styrings-GATT-tjeneste.
- Strøm åpnet: AVDTP SET_CONFIGURATION, OPEN, START.
Paringstid på produksjonslinjen måles for hvert parti:
| Modell | Gj.sn. kald paring (s) | Gj.sn. varm ny paring (s) | Feilrate for paring (1k enheter) |
|---|---|---|---|
| B1 | 1.8 | 0.6 | 0.4% |
| B2 | 1.7 | 0.55 | 0.3% |
| F8 | 1.5 | 0.5 | 0.25% |
| K7 | 1.4 | 0.4 | 0.2% |
| KF1 | 1.2 | 0.35 | 0.15% |
| L5 | 1.1 | 0.3 | 0.1% |
| P2 | 2.6 | 0.9 | 0.7% |
| Q6 | 1.5 | 0.5 | 0.25% |
| Q8 | 1.0 | 0.3 | 0.1% |
| T2 | 0.9 | 0.25 | 0.05% |
| Y6 | 1.1 | 0.3 | 0.1% |
Fabrikkens akseptkriterium er ≤0,5 % parfeilrate per batch ved AQL II 1.0-uttak. Partier over 0,5 % blir omarbeidet gjennom en jigge for tilbakestilling av kontrolleren.
3. Hvorfor 40 enheter er paringsgrensen
En Bluetooth-skanner hører annonsering på tre kanaler. En tilkoblingsforespørsel er en enkelt pakke; pennen aksepterer én om gangen. En Central (lærerens nettbrett) kan typisk holde 7 samtidige ACL-lenker i klassisk BT, men i BLE 5.x med 2M PHY kan lenkelaget teoretisk sette 16 tilkoblinger i kø. Grenseveggen er ikke silisium – det er lufttid.
En 30-byte ADV-pakke ved 1 Msym/s tar 376 µs i luften. Med 40 penner som annonserer hver 100 ms, blir samlet verdi 150 ms lufttid per sekund, og 850 ms blir ledig. Lærerens skanner lytter i 10 s under registrering; i gjennomsnitt finner den alle 40 pennene på 8 s. Bra.
Sammenbruddet skjer under paringen (bonding). ECDH-nøkkelgenerering på P-256 tar 280 ms på QCC3040. Hver paringsutveksling er 6 PDU-er tur-retur. Så én paring er ~1,2 s ende-til-ende. Førti paringer er 48 s med eksklusiv lufttid. Legg til ECC-gjenforsøk (5 %) og du har ~52 s kanalbelegg. Klasserommet har bare 3 annonseringskanaler, så selv med administrert flooding kan du ikke parallellisere paringen uten kollisjoner.
Det er derfor vår T2-produksjonsfirmware fordeler paringer over 5 kanaler av BLE 5.3-datalenken med 40 kanaler: par 1–8 på kanal 37, 9–16 på 38, 17–24 på 39, og roterer deretter data-PHY-kanalene 0–36 for resten. Resultat: registrering av 40 penner i et klasserom på 24 s i gjennomsnitt.
4. BLE Mesh-topologi på K7, KF1, L5, Q8, T2, Y6
BLE Mesh på en lesepenn er ikke det samme som Bluetooth Mesh på en smartlampe. Pennen er en batteridrevet enhet med begrenset relé-arbeidssyklus. Vi implementerer Friend Node- og Low-Power Node (LPN)-rollene, med lærerens nettbrett som proxy + relé.
Meldingsflyt i meshen under en lærerkringkasting:
- Lærerens nettbrett publiserer en Generic OnOff-melding til All-Pens-gruppen (0xC000).
- Penner innenfor radiorekkevidde videresender meldingen; LPN-penner mottar gjennom sin Friend node.
- Hver penn veksler sitt abonnement-bit for kringkasting og spiller av lærerens stemme via LC3.
- Kvitteringer samles via Friend Node-buffer, ikke per penn – sparer 90 % lufttid.
Mesh-nettverksparametere for vår standardprofil (Q8, T2):
- Rotasjon av nettverksnøkkel: hver 86 400 s (24 t).
- Friend poll-intervall: 4 s for LPN-penner.
- Antall relé-gjenforsendelser: 2 (maks 3 hopp).
- TTL initialt: 5, reduseres per hopp.
Total mesh-payloadbudsjett per kringkasting er 11 byte; vi bruker en leverandørspesifikk 4-byte OID-kontrollopcode (0xCE) pluss et 4-byte sekvensnummer pluss 3 byte tilstand. Dette unngår den oppblåste 16-byte Generic OnOff-modellen.
5. LE Audio LC3: Hvorfor det er viktig for en lesepenn
LE Audio, definert i Bluetooth 5.2, introduserer LC3-codec, som ved 32 kbit/s mono er perseptuelt ekvivalent med SBC ved 192 kbit/s stereo. For en batteridrevet lesepenn er det en 6× strømbesparelse på lydbanen. Konsekvensen for driftstid er betydelig (kryssreferanse TC-047 Power Consumption and Runtime Test).
Vår LC3-støttematrise:
| Modell | LC3 SRC | LC3 SNK | LC3 Broadcast | LC3 Isochronous |
|---|---|---|---|---|
| F8 | Nei | Ja (kun sink) | Nei | Nei |
| KF1 | Ja | Ja | Nei | Nei |
| L5 | Ja | Ja | Nei | Ja |
| Q6 | Nei | Ja | Nei | Nei |
| Q8 | Ja | Ja | Nei | Ja |
| T2 | Ja | Ja | Ja | Ja |
| Y6 | Ja | Ja | Nei | Ja |
LE Audio Broadcast på T2 muliggjør det kanoniske «én lærer, 40 elever»-klassrommet uten paring. Lærerens penn strømmer LC3-lyd ved 32 kbit/s mono; elevene mottar på alle Auracast-kompatible ørepropper. Ingen paring. Ingen feilrate for paring. Utfordringen: Auracast-ørepropper er fortsatt i tidlig-adopter-fasen. For anbudskonkurranser til skoler som kjøres i 2026 parer vi derfor fortsatt pennene med dedikerte hodetelefoner (T2 + Q8-oppsett).
6. Provisioneringsflyt på produksjonslinjen
Provisioning = å legge pennen til i mesh-nettverket. Vi tilbyr to provisioneringsløp:
App-provisionering via telefon (KF1, L5, Q8, T2, Y6)
Distributøren installerer Smart Reading Pen Mesh Tool Android/iOS-app (gratis, white-label tillatt). Pennen tas ut av fraktmodus ved å holde knappen inne i 5 sekunder; den begynner uprovisjonert å sende beacon på en leverandørspesifikk ADV. Appen skanner, velger, sender NetKey over en autentisert ECDH-P256-økt, og pennen starter på nytt som en mesh-node.
Gjennomsnittlig provisoneringstid per penn: 6,4 s. Vi har testet 200 penner på 22 minutter (én operatør).
Out-of-box selvprovisjonering (kun L5, Q8, T2)
Fabrikken brenner nettverksnøkkelen inn i et reservert NVM-segment under ICT. Pennen slås på allerede provisjonert. Dette er den foretrukne veien for skoleanbud: 40 penner i en eske, alle allerede meshet, ingen app nødvendig. Vi tar et oppsettsgebyr på $0,12 per enhet for selvprovisjonering.
Tips til kjøper: For anbud større enn 1 000 penner til én enkelt skoledistrikt, bestill alltid selvprovisjonering på fabrikken. App-basert provisjonering på dag 1 i en skolerulleut er den aller største kilden til ettersalgsservicehenvendelser (vi loggførte 47 henvendelser i løpet av de første 60 dagene av én utrulling på 4 000 enheter).
7. Paringssikkerhet: MITM, Just Works og OOB
Barnevennlige penner pares med forbrukerhodetelefoner, men mesh-paringen skjer med lærerens nettbrett. Vi aktiverer ikke "Just Works" ved mesh-provisjonering: hver penn krever passordinntasting (6-sifret PIN trykt inne i batterirommet) eller OOB NFC (L5, Q8, T2). OOB NFC-taggen er en Type 2 NTAG215, $0,04 BOM-tillegg.
For A2DP-paring med forbrukerhodetelefoner er "Just Works" det eneste gjennomførbare alternativet – et 6-åring kan ikke skrive inn et passord. Vi reduserer risikoen ved å begrense A2DP-binding til 8 plasser og tømme tabellen ved fabrikkreset (hold knappen inne i 10 sekunder).
8. Sameksistens med Wi-Fi og USB-lading
BLE-annonsering på 2,4 GHz kolliderer med Wi-Fi-kanalene 1–13. Vi monterer BLE-antennen 18 mm fra Wi-Fi-keramiske chip-antennen på K7, KF1, L5, Q8, T2, Y6. På lavere SKU-er (B1, B2, F8, Q6) bruker vi en delt antenne med en diplexer; dette koster $0,04 i BOM, men taper 4 dB BLE-følsomhet i vårt 2,4 GHz-kammer.
USB Type-C-lading injiserer 1 MHz-støy som kan dekke BLE. Vi legger til en common-mode-choke (Murata DLW21SN) på USB-datakretsene og et 10 µF + 100 nF dekoblingsnettverk på VBUS. Fixen gjenvinner 6 dB BLE RX-følsomhet under aktiv lading. Se TC-018 Type-C-lading PD QC og BC1.2 for fullstendig koblingsskjema.
9. Batteripåvirkning fra alltid-på mesh
En Friend Node i BLE Mesh poller sine Low-Power-barn hver 4. s. Hver poll er en 30-byte TX + 30-byte RX. Ved 0 dBm TX er gjennomsnittlig strømtrekk på QCC3040 (KF1, L5) 1,4 mA under friend-økt, 0,9 mA i idle. 800 mAh Li-ion 14500-cellen på K7/KF1 støtter 320 timer med friend-økt, godt over de 6,0 h lydavspillingstiden.
For alltid-på-mesh på T2 med LC3-kringkastingsmottakeren våken, stiger gjennomsnittlig strømtrekk til 2,1 mA. 18650-cellen på 2 500 mAh leverer 1 150 timer med standby mesh-drift, noe som betyr at en skolepenn som står på lader i 12 uker fortsatt har 88 % batteri hvis den kobles fra.
10. Vanlige feil og hvordan vi tester dem
Fabrikkens produksjonslinje kjører tre BLE-tester per enhet:
- Paringstest: en referansehodetelefon pares på 1,5 s; A2DP-strøm åpnes; 1 kHz-tone verifiseres ved hodetelefonutgangen.
- Rekkeviddetest: RSSI i åpent felt må være ≥ −65 dBm ved 5 m.
- Mesh-helsetest: kun på Q8 og T2 bygges et mini-mesh med 10 noder i et Faraday-bur; hver penn må motta 100 % av 1 000 kringkastingsmeldinger innen 4 s.
AQL II 1.0-utvalg; partier med >2 % defektrate avvises. Den fullstendige AQL-prosedyren finner du på siden vår Kvalitetskontroll og AQL-standarder.
Relatert lesing
- Bluetooth 5.0 vs 5.2 vs 5.3: tekniske avveininger for lesepenn
- A2DP- og LDAC-kodek forklart
- Wi-Fi 2,4G vs dual-band IoT
- IoT sky-arkitektur MQTT
- OTA-fastvareoppdateringsmekanisme
- Kvalitetskontroll og AQL-standarder