eBits Academy / Bluetooth

Forstå Bluetooth: vælg den rigtige forbindelse til dit projekt

Classic, BLE og de valg, der gør dit næste trådløse projekt lettere.

Et kabel er nemt at forstå: Du kan se, hvor det begynder og slutter. En trådløs forbindelse skjuler den synlige sammenhæng. Før du vælger et board eller henter et eksempel, så skriv ned, hvad der skal sendes, mellem hvilke enheder og hvor ofte. En temperaturmåling, et tryk på en knap og en lydstrøm er forskellige opgaver.

Her får du et praktisk ordforråd, der hjælper dig med at vælge en løsning og stille et brugbart teknisk spørgsmål, hvis forbindelsen driller.

Classic og Low Energy er forskellige valg

Bluetooth Classic bruges blandt andet til traditionel trådløs lyd og andre anvendelser med løbende dataoverførsel. Bluetooth Low Energy, normalt forkortet BLE, er almindeligt i sensorer, betjening og små forbundne enheder. Begge er Bluetooth, men et Classic-eksempel er ikke automatisk et BLE-eksempel. Bluetooth SIGs overblik forklarer de to radiovarianter.

Vælg ikke alene efter det højeste versionsnummer i en produkttekst. Start med den funktion, du har brug for, og kontrollér, at chippen, softwaren og den anden enhed understøtter den.

Kend chippen bag produktnavnet

“ESP32” bruges både om en familie og om den oprindelige chip. ESP32-S3 understøtter eksempelvis Bluetooth LE, men ikke Bluetooth Classic. Et projekt med Classic-seriekommunikation kan derfor ikke flyttes til et S3-board ved blot at vælge et andet board i menuen. Se Espressifs dokumentation for ESP32-S3.

Det er vigtigt, når du sammenligner boards, der ellers ligner hinanden. Notér det præcise produktnavn og hardwareversionen. Hvis et eksempel bruger BluetoothSerial, skal du læse dets hardwarekrav; Espressif beskriver biblioteket under Bluetooth Classic.

De få begreber, der gør BLE lettere

I et typisk BLE-projekt annoncerer en peripheral sin tilstedeværelse, og en central finder den. Efter forbindelsen organiserer GATT data i services og characteristics. En service samler relaterede funktioner; en characteristic beskriver en værdi og de handlinger, den tillader. Forbindelsesroller og GATTs klient/server-roller er forskellige begreber. Se Bluetooth LE-introduktionen.

Forestil dig et board, der måler rummets temperatur. Den interessante værdi kan være 21,4 °C, men appen skal også vide, hvordan tallet er kodet, og hvilken characteristic der indeholder det. At se boardets navn i en scanning betyder ikke, at appen allerede forstår dets data.

Læs, skriv og modtag opdateringer

En read-operation spørger efter den aktuelle værdi. En write-operation ændrer en værdi, hvis det er tilladt. En notification lader serveren sende en opdatering, efter klienten har aktiveret det. Det er forskellige handlinger; vælg den, der passer til projektet. Rammerne er beskrevet i GATT-specifikationen.

Ved en knap vil du måske have en opdatering, når tilstanden ændres. Ved en indstilling kan du have brug for at skrive en værdi og få resultatet bekræftet i appen. Beskriv først den ønskede adfærd med almindelige ord.

Et godt første BLE-forsøg

  1. Vælg ét understøttet board og én klientenhed. Hold dem tæt på hinanden i den første test.
  2. Installer producentens anbefalede boardpakke. Start med et BLE-eksempel fra den installerede pakke i stedet for at blande flere forskellige vejledninger.
  3. Kontrollér, at klienten kan finde enheden. Undersøg derefter dens services, find den relevante characteristic, og prøv én handling.
  4. Notér characteristic-id, dataformat og det forventede resultat. Ændr én ting ad gangen.

ESP32-bibliotekernes oversigt hjælper dig med at kontrollere understøttelsen for en bestemt chipfamilie.

Fejlsøg på det rigtige niveau

  • Intet dukker op i scanningen: Kontrollér strøm, den kørende firmware, og om klienten scanner efter BLE.
  • Enheden ses, men forbindelsen fejler: Kontrollér tilladelser, eksemplets forbindelsesgrænser, og om en anden klient allerede er tilsluttet.
  • Forbindelse, men ingen brugbare data: Kontrollér characteristic-id, læse/skriveegenskaber, abonnement på notifications og dataformat.
  • Det virker på bordet, men ikke i kabinettet: Undersøg antenneplaceringen, og test det samlede produkt dér, hvor det skal bruges.

Parring, forbindelse og modtagelse af appdata er forskellige milepæle. Notér, hvilke der virker; det gør et spørgsmål til support meget lettere at undersøge.

Hvor passer Meshtastic ind?

Bluetooth kan være den lokale forbindelse mellem telefonen og dens Meshtastic-radio, mens LoRa sender beskeder mellem radionoderne. De to forbindelser har forskellige opgaver. Begynd med vores Meshtastic-introduktion, hvis dit mål er et radionetværk.

Klar til at vælge hardware? Se vores udviklingsboards, eller fortæl os, hvad du vil forbinde. En god beskrivelse nævner begge enheder, de data, du vil overføre, og om eksemplet kræver Classic eller BLE.