- Wat is Bluetooth Low Energy (BLE)?
- Hoe gebruikt iBeacon-technologie BLE?
- Hoe iBeacon is belangrijk?
- Componenten vereist
- De HM10 BLE-module instellen in iBeacon-modus
- Met behulp van de BLE Scanner Android-app voor iBeacon
De termen Beacon en iBeacon worden vaak door elkaar gebruikt. iBeacon werd geïntroduceerd door Apple en is Apple's implementatie van Bluetooth low-energy (BLE) draadloze technologie om een andere manier van locatiegebaseerde informatie en services te bieden aan de iPhones van Apple en andere iOS-apparaten. De technologiestandaard stelt mobiele apps (die zowel op iOS- als Android-apparaten draaien) in staat om de informatie van bakens in de fysieke wereld te verzamelen en de informatie op telefoons weer te geven.
Wat is Bluetooth Low Energy (BLE)?
BLE is vergelijkbaar met het Bluetooth-protocol met een verschil in stroomverbruik. De BLE is een draadloze persoonlijke netwerktechnologie die wordt gebruikt om gegevens over een korte afstand te verzenden en die is ontworpen voor een laag energieverbruik. De BLE is ontworpen om langdurig te werken, zelfs met een CR2032-knoopcelbatterij. De BLE behoudt het communicatiebereik dat vergelijkbaar is met zijn vorige klassieke Bluetooth.
Hoe gebruikt iBeacon-technologie BLE?
Met iBeacon-technologie heeft Apple het formaat voor BLE-advertenties gestandaardiseerd. Het standaardformaat bestaat uit vier hoofdstukken: UUID, Major, Minor, Tx Power. Om elke Voorwaarden duidelijker te begrijpen, neemt u een voorbeeld van Apple Electronics, waarbij het aantal winkels in verschillende landen moet worden opgezet. De beschrijving van elk is als volgt:
UUID: De UUID is een 16-byte string die wordt gebruikt om het aantal Beacon van een grote groep Beacons te identificeren. Dit identificeert de bakens voor een bepaalde toepassing. Als Apple bijvoorbeeld een keten van Offline Electronic Store onderhoudt, zullen alle Beacon dezelfde UUID delen die aangeeft dat het baken van Apple is.
Major: Dit is een string van 2 bytes die wordt gebruikt om een kleinere groep Beacon te identificeren uit een grote groep Beacon. Dus als de Beacon van Apple is en Apple 10 bakens in een stad heeft ingesteld voor 10 winkels, dan zal Apple weten welk baken bij welke winkel in dezelfde stad hoort.
Minor: Dit is een string van 2 bytes die wordt gebruikt om de individuele Beacon van een groep Beacons te identificeren. Stel dat Apple 50 bakens in een winkel heeft opgesteld, zodat Apple met behulp van de minor kan vinden waar de klant zich in de winkel bevindt.
Tx Power: De Tx Power wordt gebruikt om de nabijheid of afstand tot het baken te bepalen. De nabijheid moet vóór kalibratie worden gekozen en moet van tevoren hard worden gecodeerd. De gekozen nabijheid geeft een geschatte afstand die door apparaten als basislijn moet worden genomen.
Bijvoorbeeld: het reeds ingestelde en uitzendbaken ziet er als volgt uit:
UUID: 36BFDA543784CAD5
Majoor: 45
Minor: 7
We zullen al deze parameters in deze tutorial instellen met behulp van een BLE-module die is ingesteld in iBeacon-modus.
Raadpleeg ons vorige artikel over BLE met ESP32 voor meer informatie over BLE-technologie.
Hoe iBeacon is belangrijk?
Met de groeiende populariteit van Target Margeting kan de iBeacon een belangrijke rol spelen. Door het iBeacon-netwerk te vormen, kan elk merk, elke detailhandelaar of winkel de activiteit en andere belangrijke gegevens over klantgedrag lokaliseren, die verder kunnen worden gebruikt om zeer zinvolle, contextuele en hyperlokale gegevens op de smartphone van de klant te verzenden. Als we het voorbeeld van Apple nemen zoals hierboven, stel dat een klant met een smartphone in de buurt van een Apple Electronic Store komt.
Wanneer de app die op de smartphone van de klant is geïnstalleerd een iBeacon hoort die in de winkel is geïnstalleerd, kan de app de gegevens met alle aanbiedingen en details opslaan via iBeacon. Als de klant het aanbod aantrekkelijk vindt en wil kopen, kan hij binnenkomen en kopen in de winkel. Behalve dit kan de iBeacon een aantal andere toepassingen hebben, zoals betalingen, shopper / klantanalyses en toepassingen op luchthavens, themaparken, concertzalen en vele andere gebieden. Het potentieel van iBeacon-technologie is grenzeloos en moet nog worden ontdekt.
In deze tutorial zullen we iBeacon demonstreren met behulp van de op Bluetooth 4.0 gebaseerde HM10 BLE-module. Maar voordat u begint, is het belangrijk om te kijken hoe u de firmware van de Clone HM-10-module kunt wijzigen of flashen als u een Cloned HM10-module gebruikt, aangezien de meeste HM10-modules die op de markt beschikbaar zijn, gekloonde zijn. We hebben ook de HM10 Bluetooth-module met Arduino gebruikt om een LED aan te sturen.
Deze HM10 BLE iBeacon-tutorial zal demonstreren hoe je de HM10-module instelt als iBeacon en de details ervan ontdekt, zoals RSSI (Proximity, Distance) op de Android-app.
Componenten vereist
Hardware:
- HM10 BLE-module
- USB naar TTL-converter
- Truien
Software:
- Arduino IDE
- Android-app (BLE-scanner)
BLE HM10 die in deze tutorial wordt gebruikt, gebruikt HM10-firmware v540 die beschikbaar is op de officiële jnhuamao-website.
De HM10 BLE-module instellen in iBeacon-modus
Zet de BLE HM10-module in eerste instantie in de iBeacon-modus. Volg de onderstaande stappen om de HM10 in iBeacon-modus te zetten.
- Verbind de HM10-module en de USB / TTL-converter met de volgende aansluitingen.
HM10-modulepennen |
USB / TTL-omzetter |
Rx |
Tx |
Tx |
Rx |
Vcc |
5V |
GND |
GND |
- Open Arduino IDE en selecteer de COM-poort van de USB / TTL-converter
- Open nu de Serial Monitor van de Arduino IDE en selecteer de baudrate van '9600' en selecteer ook de 'No Line Ending' op Serial Monitor.
- Typ de volgende AT-opdrachten in volgorde-modus een voor een, nadat u een OK antwoord van HM10 hebt gekregen.
AT + VERNIEUWEN
AT + RESET
BIJ
OP + MARJ0x1000
OP + MINO0x0007
OP + ADVI5
AT + NAAMiBeacon
AT + ADTY3
BIJ + IBEA1
AT + DELO2
AT + PWRM0
AT + RESET
Opmerking: de rood gemarkeerde waarden in het AT-commando kunnen door de gebruiker worden geconfigureerd. Het kan door de gebruiker worden gewijzigd op basis van hun voorbeelden.
De beschrijving van het hierboven gebruikte AT-commando is als volgt:
- AT + RENEW (Herstelt de fabrieksinstellingen)
- AT + RESET (herstart de HM10)
- AT (AT-test)
- AT + MARJ0x1000 (stelt iBeacon Major Number in op 0x1000 HEX geconverteerd naar 4096 in DEC)
- AT + MINO0x0007 (stelt iBeacon Minor Number in op 0x1000 HEX geconverteerd naar 4096 in DEC)
- AT + ADVI5 (Stelt advertentie-interval in op 5, dwz 546,25 milliseconden)
- AT + NAMEiBeacon (Stel HM-10-modulenaam in op iBeacon. Verander het naar gebruik)
- AT + ADTY3 (stelt HM10 niet-aansluitbaar in om stroom te besparen en geen enkele client kan verbinding maken met module helpt bij het besparen van meer stroom)
- AT + IBEA1 (schakelt iBeacon-modus in op HM10)
- AT + DELO2 (Zet de iBeacon alleen in Broadcast-modus om energie te besparen. De HM10 kan zijn aanwezigheid uitzenden en naar andere apparaten scannen omdat het een Bluetooth-transceiver is)
- AT + PWRM0 (Hiermee kan HM10 automatisch slapen en het stroomverbruik verminderen van 8 naar 0,18 mA. De iBeacon zal echter altijd zenden)
Na het uitvoeren van alle AT-opdrachten ziet Serial Monitor er als volgt uit:
Het AT Commands-antwoord wordt serieel afgedrukt zonder een nieuwe regel. U kunt gemakkelijk het verschil maken tussen antwoord van twee AT-commando's, aangezien de HM10 na elk AT-commando OK antwoordt. Dus als het commando AT + RENEW is, antwoordt HM10 OK + RENEW en hetzelfde geldt voor andere AT-commando's.
. Het kan nu UUID, Major, Minor en andere details uitzenden. Om de uitgezonden details te zien, is er een aantal iBeacon Android-apps beschikbaar, downloadt u een iBeacon Android-app uit de Play Store of Apple Store en vindt u de HM10-module die is ingesteld in de iBeacon-modus. In deze tutorial gebruiken we een " BLE Scanner " Android-app.
Om de iBeacon-modus uit te schakelen, gebruikt u gewoon de Command AT + IBEA0. En maak vervolgens Advertising Scan Response Connectable door AT + ADTY0. En dan gewoon de HM10 resetten door AT + RESET te sturen.
Met behulp van de BLE Scanner Android-app voor iBeacon
- Download de BLE Scanner-app van Play Store en open deze.
- Het scherm ziet er als volgt uit.
- Het tabblad 'Near By' wordt gebruikt om alle beschikbare iBeacons te zien. Om te beginnen met zoeken naar de iBeacon, trekt u het scherm omlaag of gaat u naar het zoekpictogram in de rechterbovenhoek van het scherm. Dit zal beginnen met zoeken naar de iBeacons.
- Nadat u de iBeacon hebt doorzocht, kunt u de RSSI, UUID, Major en Minor van iBeacon zien. De RSSI verandert als je de gsm of iBeacon uit elkaar haalt. Hier in dit scherm is de RSSI (-50). Dit is te zien in de demonstratievideo aan het einde van dit artikel.
- Na het wegnemen van de smartphone van iBeacon HM10, verandert de RSSI-waarde van -50 naar -81. Deze waarden blijven veranderen als u een van de apparaten verplaatst.
De aanvaardbare waarden van het RSSI-signaal zijn als volgt:
Signaalsterkte |
TL; DR |
Benodigd voor |
|
---|---|---|---|
-30 dBm |
Verbazingwekkend |
Maximaal haalbare signaalsterkte. De klant kan maar een paar meter van het AP verwijderd zijn om dit te bereiken. Niet typisch of wenselijk in de echte wereld. |
Nvt |
-67 dBm |
Zeer goed |
Minimale signaalsterkte voor applicaties die een zeer betrouwbare, tijdige levering van datapakketten vereisen. |
VoIP / VoWiFi, streaming video |
-70 dBm |
Oke |
Minimale signaalsterkte voor betrouwbare pakketbezorging. |
E-mail, internet |
-80 dBm |
Niet goed |
Minimale signaalsterkte voor basisconnectiviteit. Pakketbezorging kan onbetrouwbaar zijn. |
Nvt |
-90 dBm |
Onbruikbaar |
Naderen of verdrinken in de noise-floor. Elke functionaliteit is hoogst onwaarschijnlijk. |
Nvt |
- Om de iBeacon in de nabijheidsweergave te vinden, gaat u naar het nabijheidspictogram in de rechterbovenhoek, net naast het zoekpictogram. Het scherm toont alle beschikbare iBeacon met RSSI-signaal.
Hiermee is de tutorial over het instellen van HM10 BLE-module als iBeacon voltooid. Als je enige twijfel of suggestie hebt, schrijf dan naar ons forum of reageer hieronder.