)
Reading Pen BLE Mesh och parkopplingsmekanism: konstruera ett klassrum med 40 enheter utan avbrott
Målgrupp: Den här artikeln vänder sig till OEM/ODM-varumärkesägare, upphandlingsteam för skoltenders och hårdvaruingenjörer som bygger in Bluetooth Low Energy-mesh- eller LE Audio-sändningsfunktioner i läs-pennor. Den kartlägger firmware-parkopplingens tillståndsmaskiner för alla 11 aktiva SKU:er (B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2, Y6) mot klassrumsstorlek, sändningsljudkapacitet och provisioneringsflöde.
När en statlig utbildningsförvaltning genomförde ett pilotprojekt med 12 000 enheter över 240 grundskoleklassrum, var felet varken Wi-Fi-täckning eller innehållsrättigheter. Det var BLE-parkopplingen. Varje klassrum hade 40 pennor och 40 elevhörlurar. Den första generationens firmware gjorde parvisa bindningar; lärarens master-penna låste sig efter att ha hanterat 6 samtidiga anslutningsförfrågningar. Resultatet blev en 28 minuter lång lektionsförsening på utrullningsdagen och en hård läxa i varför BLE mesh och parkoppling är två mycket olika ingenjörsproblem.
Den här artikeln presenterar den produktionstestade designen. Den är skriven ur fabrikens perspektiv: kiselval, firmwareförbindelsetillståndsmaskin, BOM-kostnad och de klassrumsstorlekströsklar där parvist BLE bryts och BLE-mesh tar vid.
1. Parkoppling vs bindning vs mesh — den vokabulär en köpare måste behärska
Tre begrepp förväxlas regelbundet av importörer. Få ordning på dem först:
- Parkoppling är engångsutbytet av identitet (IRK, LTK) mellan två enheter. Det skapar en långsiktig nyckel.
- Bindning är handlingen att lagra den nyckeln i NVM. En parkopplad enhet som inte är bunden måste parkopplas på nytt vid varje återanslutning.
- Mesh är en många-till-många-topologi med BLE Mesh-profilen (SIG-specifikation, sedan 2017). Varje nod är en relästation; meddelanden sprids genom flood eller managed flooding.
Parkoppling ger dig inte mesh. En läs-penna som stöder 8 samtidiga A2DP-anslutningar är inte mesh-kapabel. De 11 SKU:er vi levererar fördelas enligt följande:
| Modell | BT-version | Parkopplingsroller | Bindningslagring | LE Audio (LC3) | BLE Mesh-nod | Provisioneringskapabel |
|---|---|---|---|---|---|---|
| B1 | 5.0 | Endast peripheral | 4 poster | Nej | Nej | Nej |
| B2 | 5.0 | Endast peripheral | 4 poster | Nej | Nej | Nej |
| F8 | 5.1 | Peripheral | 4 poster | Endast LC3-sink | Nej | Nej |
| K7 | 5.0 | Peripheral + Central | 8 poster | Nej | Nej | Nej |
| KF1 | 5.2 | Peripheral + Central | 8 poster | LC3 SRC + SNK | Ja, friend-nod | Nej |
| L5 | 5.2 | Perifer + Central | 8 poster | LC3 SRC + SNK | Ja, friend + låg effekt | Ja |
| P2 | 4.2 | Endast perifer | 2 poster | Nej | Nej | Nej |
| Q6 | 5.1 | Perifer | 4 poster | Endast LC3 sink | Nej | Nej |
| Q8 | 5.3 | Perifer + Central | 8 poster | LC3 SRC + SNK | Ja, friend-nod | Ja |
| T2 | 5.3 | Perifer + Central + LE Audio-sändare | 8 poster | LC3-sändning | Ja, friend + låg effekt + relay | Ja |
| Y6 | 5.2 | Perifer + Central | 8 poster | LC3 SRC + SNK | Ja, friend-nod | Nej |
Köpartips: Om din upphandling kräver "broadcast-ljud från lärare till 40 pennor" är endast T2 en enhet som kan sända. KF1, L5, Q8, Y6 kan vara LC3-ljudkälla men endast till en parkopplad mottagare, inte till ett oprovisionerat klassrum. Bekräfta specifikationsspråket innan du offererar.
Kolumnen provisioner-kapabel är den mest missförstådda. En provisioner är den enhet som skickar ut mesh-nätverksnyckeln (NetKey) och tilldelar unicast-adresser till nya noder. L5, Q8 och T2 kan utföra självprovisionering direkt ur förpackningen, så de behöver ingen dedikerad telefonapp för att ansluta till ett mesh.
2. Parkopplingens tillståndsmaskin i en modern läs-penna
Alla 11 SKU:er följer Bluetooth 5.x Generic Access Profile (GAP) tillståndsmaskin, men de QCC-baserade K7, KF1, L5, Q8, T2, Y6 implementerar en utökad tillståndsmaskin med LE Secure Connections (SC) och elliptic-curve Diffie-Hellman (ECDH) P-256. De Actions-baserade B1, B2, F8, P2, Q6 använder den äldre P-192 ECDH-vägen.
Den kanoniska parkopplingssekvensen:
- Standby → Advertising: pennan annonserar på de 3 primära ADV-kanalerna (37, 38, 39) med 100 ms intervall.
- Scan request → Scan response: hörluren begär scan; pennan returnerar enhetsnamn, tjänster, TX-effekt.
- Connection initiation: hörluren skickar CONNECT_IND.
- Funktionsutbyte: utbyte av penna och hörlurar. Funktionsutbyte PDU (LE SC, OOB, MITM, IO-kapaciteter).
- ECDH-nyckelutbyte: P-256 på QCC, P-192 på Actions. LTK härledd.
- Lagring av bindning: LTK skrivs till NVM-sektor; upp till 8 poster på high-end-SKU:erna.
- Tjänsteupptäckt: A2DP, AVRCP, GATT-batteritjänst, leverantörsspecifik OID-styrnings-GATT-tjänst.
- Ström öppnad: AVDTP SET_CONFIGURATION, OPEN, START.
Parkopplingstiden på produktionslinjen mäts för varje batch:
| Modell | Snitt. kall parkoppling (s) | Snitt. varm återparkoppling (s) | Felprocent vid parkoppling (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% |
The factory acceptance criterion is ≤0,5% parningsfel per batch vid AQL II 1,0 -provtagning. Partier över 0,5% omarbetas genom en jig för styrenhetsåterställning.
3. Varför 40 enheter är parningsgränsen
En Bluetooth-skanner hör reklam på tre kanaler. En anslutningsförfrågan är ett enda paket; pennan accepterar en i taget. En Central (lärarens surfplatta) kan vanligtvis hålla 7 samtidiga ACL-länkar i klassisk BT, men i BLE 5.x med 2M PHY kan länklagret teoretiskt köa 16 anslutningar. Gränsen är inte kisel – det är sändningstid i luften.
Ett 30-byte ADV-paket vid 1 Msym/s tar 376 µs i luften. Med 40 pennor som sänder reklam var 100 ms är den sammanlagda tiden 150 ms sändningstid per sekund, vilket lämnar 850 ms fritt. Lärarens skanner lyssnar i 10 s under registrering; i genomsnitt hittar den alla 40 pennor på 8 s. Bra.
Problemet uppstår vid parkoppling. ECDH-nyckelgenerering på P-256 tar 280 ms på QCC3040. Varje parkopplingsutbyte är 6 PDU:er tur och retur. Så en parkoppling är ~1,2 s totalt. Fyrtio parkopplingar är 48 s exklusiv sändningstid. Lägg till ECC-återförsök (5%) och du har ~52 s kanalockupation. Klassrummet har bara 3 reklamkanaler, så även med hanterad översvämning kan du inte parallellisera parkopplingen utan kollisioner.
Det är därför vår T2-produktionsfirmware förskjuter parkopplingar över 5 kanaler av BLE 5.3-datalagrets 40 kanaler: par 1–8 på kanal 37, 9–16 på 38, 17–24 på 39, och roterar sedan datakanalerna 0–36 för resten. Resultat: 40-pennors klassrumsregistrering på 24 s i genomsnitt.
4. BLE Mesh-topologi på K7, KF1, L5, Q8, T2, Y6
BLE Mesh på en läs-penna är inte detsamma som Bluetooth Mesh på en smart lampa. Pennan är en batteridriven enhet med begränsad reläarbetscykel. Vi implementerar rollerna Friend Node och Low-Power Node (LPN), med lärarens surfplatta som proxy + relä.
Mesh-meddelandeflöde under en lärarsändning:
- Lärarens surfplatta publicerar ett Generic OnOff-meddelande till gruppen Alla-Pennor (0xC000).
- Pennor inom radio räckvidd vidarebefordrar meddelandet; LPN-pennor tar emot genom sin Friend node.
- Varje penna växlar sin sändningsprenumerationsbit och matar ut lärarens röst genom LC3.
- Kvitteringar samlas via Friend Node-cache, inte per penna – sparar 90% sändningstid.
Mesh-nätverksparametrar för vår standardprofil (Q8, T2):
- Nätverksnyckelrotation: var 86 400 s (24 h).
- Friendship poll-intervall: 4 s för LPN-pennor.
- Relävidaresändningsantal: 2 (max 3 hopp).
- TTL initial: 5, minskas per hopp.
Den totala mesh-nyttolastbudgeten per sändning är 11 byte; vi använder en leverantörsspecifik 4-byte OID-styrningsopcode (0xCE) plus ett 4-byte sekvensnummer plus 3 byte status. Detta undviker den uppsvällda 16-byte Generic OnOff-modellen.
5. LE Audio LC3: Varför det spelar roll för en läs-penna
LE Audio, definierat i Bluetooth 5.2, introducerar LC3-codec, som vid 32 kbit/s mono är perceptuellt likvärdig med SBC vid 192 kbit/s stereo. För en batteridriven läs-penna är det en 6× effektbesparing på ljudvägen. Påverkan på drifttiden är betydande (korsreferens TC-047 Strömförbrukning och drifttidstest).
Vår LC3-stödmatris:
| Modell | LC3 SRC | LC3 SNK | LC3 Broadcast | LC3 Isochronous |
|---|---|---|---|---|
| F8 | Nej | Ja (endast mottagare) | Nej | Nej |
| KF1 | Ja | Ja | Nej | Nej |
| L5 | Yes | Yes | No | Yes |
| Q6 | No | Yes | No | No |
| Q8 | Yes | Yes | No | Yes |
| T2 | Yes | Yes | Yes | Yes |
| Y6 | Yes | Yes | No | Yes |
LE Audio-sändning på T2 möjliggör det kanoniska klassrummet med "en lärare, 40 elever" utan parkoppling. Lärarens penna strömmar LC3-ljud i 32 kbit/s mono; eleverna tar emot via vilken Auracast-kompatibel hörlur som helst. Ingen parkoppling. Ingen felmarginal vid parkoppling. Haken: Auracast-hörlurar befinner sig fortfarande i en tidig fas. För skolupphandlingar som drivs 2026 parkopplar vi därför fortfarande pennorna med dedikerade hörlurar (T2 + Q8-stack).
6. Provisioneringsflöde på produktionslinjen
Provisionering = att lägga till pennan i mesh-nätverket. Vi erbjuder två provisioneringsvägar:
Provisioning via telefonapp (KF1, L5, Q8, T2, Y6)
Distributören installerar Smart Reading Pen Mesh Tool Android/iOS-app (gratis, white-label tillåten). Pennan tas ur leveransläge genom att hålla knappen intryckt i 5 sekunder; den börjar sända oprovisionerad beacon på en leverantörsspecifik ADV. Appen skannar, väljer, skickar NetKey över en autentiserad ECDH-P256-session och pennan startar om som mesh-nod.
Genomsnittlig provisioneringstid per penna: 6,4 s. Vi har testat 200 pennor på 22 minuter (en operatör).
Out-of-box självprovisionering (endast L5, Q8, T2)
Fabriken bränner in nätverksnyckeln i en reserverad NVM-sektor under ICT. Pennan startar redan provisionerad. Detta är den rekommenderade vägen för skolupphandlingar: 40 pennor i en låda, alla redan meshade, ingen app behövs. Vi tar ut en avgift på 0,12 USD per enhet för självprovisionering.
Köpartips: För upphandlingar större än 1 000 pennor till en enda skoldistrikt, beställ alltid självprovisionering på fabriken. Appbaserad provisionering dag 1 i en skolrollout är den enskilt största källan till serviceärenden efter leverans (vi loggade 47 ärenden under de första 60 dagarna av en leverans på 4 000 enheter).
7. Parkeringssäkerhet: MITM, Just Works och OOB
Barnpennor paras med konsumenthörlurar, men mesh-parkeringen sker med lärarens surfplatta. Vi aktiverar inte "Just Works" för mesh-provisionering: varje penna kräver passkey-inmatning (6-siffrig PIN tryckt inuti batterifacket) eller OOB NFC (L5, Q8, T2). OOB NFC-taggen är en NTAG215 av typ 2, en BOM-kostnad på 0,04 USD.
För A2DP-parning med konsumenthörlurar är "Just Works" det enda möjliga alternativet – ett barn på 6 år kan inte skriva en passkey. Vi motverkar detta genom att begränsa A2DP-bindning till 8 platser och rensa tabellen vid fabriksåterställning (knappen hålls in i 10 sekunder).
8. Samexistens med Wi-Fi och USB-laddning
BLE-sändning på 2,4 GHz kolliderar med Wi-Fi-kanalerna 1–13. Vi monterar BLE-antennen 18 mm från Wi-Fi-keramikchipantennen på K7, KF1, L5, Q8, T2, Y6. På lägre SKU:er (B1, B2, F8, Q6) använder vi en delad antenn med en diplexer; detta kostar 0,04 USD i BOM men förlorar 4 dB BLE-känslighet i vår 2,4 GHz-kammare.
USB Type-C-laddning injicerar 1 MHz-brus som kan täcka BLE. Vi lägger till en common-mode-choke (Murata DLW21SN) på USB-dataledarna och ett 10 µF + 100 nF avkopplingsnätverk på VBUS. Åtgärden återställer 6 dB BLE RX-känslighet under aktiv laddning. Se TC-018 Type-C Charging PD QC and BC1.2 för fullständigt schema.
9. Batteripåverkan av alltid-på mesh
En Friend Node i BLE Mesh pollar sina Low-Power-barn var 4:e sekund. Varje poll är en 30-byte TX + 30-byte RX. Vid 0 dBm TX är den genomsnittliga strömförbrukningen på QCC3040 (KF1, L5) 1,4 mA under friend-drift, 0,9 mA i viloläge. 800 mAh Li-ion 14500-cellen på K7/KF1 stöder 320 timmars friend-drift, väl över 6,0 timmars ljuduppspelningstid.
För ständigt lyssnande mesh på T2 med LC3-sändningsmottagaren vaken stiger genomsnittlig strömförbrukning till 2,1 mA. 18650-cellen på 2 500 mAh levererar 1 150 timmar av standby-meshdrift, vilket innebär att en skolpenna som står på en laddare i 12 veckor fortfarande har 88 % batteri om den kopplas ur.
10. Vanliga defekter och hur vi testar dem
Fabrikens produktionslinje kör tre BLE-tester per enhet:
- Parkopplingstest: en referenshörlur parkopplas på 1,5 s; A2DP-ström öppnas; 1 kHz-ton verifieras vid hörlursutgången.
- Räckviddsprov: RSSI i öppen terräng måste visa ≥ −65 dBm på 5 m.
- Mesh-hälsa: endast på Q8 och T2 byggs ett mini-mesh med 10 noder i en Faradays bur; varje penna måste ta emot 100 % av 1 000 sändningsmeddelanden inom 4 s.
AQL II 1,0-urval; partier med >2 % defekthastighet avvisas. Hela AQL-proceduren finns på vår sida Kvalitetskontroll och AQL-standarder.
Relaterad läsning
- Bluetooth 5.0 vs 5.2 vs 5.3: Avvägningar vid läspenningenjörskap
- A2DP och LDAC-codec förklarade
- Wi-Fi 2,4G vs Dual-Band IoT
- IoT-molnarkitektur MQTT
- OTA-firmwareuppdateringsmekanism
- Kvalitetskontroll och AQL-standarder