Concept web fizic. Balize Bluetooth. Comparație între standardele iBeacon, AltBeacon și Eddystone. Revizuirea senzorilor wireless StickNFind. Pentru a nu pierde nimic

Obiceiul de a fi cu ochii pe telefonul tău devine încet un reflex inconștient. Și dacă serviciul încorporat poate ajuta cel puțin parțial la găsirea unui iPhone Găsiți iPhone-ul meu, atunci ce zici de unele lucruri mici? De exemplu, chei. Este ușor să le uiți undeva în mașină sau chiar în spatele canapelei din propriul apartament. Și în astfel de cazuri, căutarea va dura mult timp. Cu excepția cazului în care, desigur, ai avut grijă în avans și nu ai pus un senzor pe ele StickNFind.

StickNFind- o ieșire și mântuire pentru oamenii uituci care pierd constant „lucruri mici” utile de uz casnic. Pe scurt, este un mic senzor din plastic cu care comunică lumea exterioară prin protocolul Bluetooth. Îl atașați la un obiect, după care puteți găsi locația senzorului folosind un simplu „locator” în aplicația proprietară pentru iPhone.

Trusa StickNFind este una dintre cele mai spartane, avand in vedere marimea cutiei. Cutia contine două senzori, două suporturi din plastic pentru carabiniere și suporturi de chei, precum și o instrucțiune destul de suspectă. Este decorat cu moderație și engleză. Ei bine, ne-am dat seama singuri în câteva minute și acum îi vom ajuta și pe cititori.

Asemănarea formei cu o monedă de cinci ruble este pur și simplu uimitoare. Senzorul este disponibil în șase culori, așa că nu văd niciun motiv să fiu atent la simplitatea versiunii negre. Dar nu puteți lăsa deoparte „stratul” transparent, la fel ca într-un fel de „cookie” cu umplutură. Aici este ascuns LED-ul, despre care voi vorbi puțin mai târziu. Toate acestea doar cântăresc patru grame și jumătate.

Senzorul nu este gros, dar pe panoul din spate al unui smartphone pare „lipicioasă”: nu este deloc deplasat și nu este atât de convenabil de utilizat - iese în evidență, în general. Dar atașarea la chei și la alte obiecte de uz casnic este mult mai logic. In special in acest scop, kit-ul include doua suporturi pentru inele, carabiniere si suporturi pentru chei.

StickNFind se ataseaza de orice articol folosind o folie adeziva plasata pe partea inferioara. Acest film este, fără exagerare, ucigaș, iar dacă l-ai introdus prostește pe panoul din spate al iPhone 5, pregătește-te să-ți rupi unghiile. Cu țesăturile, situația este mai ușoară și, în timp, uimitoarea „lipiciune” a acestui strat se va slăbi cu siguranță.

Pentru a configura și a căuta chei StickNFind, descărcați aplicația de marcă cu același nume pentru iOS [App Store] sau Android. A iniția configurarea inițială, trebuie să activați senzorul - atingeți cu degetele pe el și așteptați scârțâitul străpungător al difuzorului încorporat. Da, da, în acest lucru mic era și un loc pentru un beeper.

Senzorii activați apar aproape imediat în aplicație. Fiecare dintre ei poate (și neapărat trebuie să) atribuie un nume unic. De exemplu, „Chei” pentru senzorul pe care l-ați atârnat pe suportul cheii. Apropo, acest lucru se face foarte simplu: atârnă „eticheta” pe farfuria mică inclusă în pachet și apoi introduceți această placă în inel împreună cu cheile.

Procesul de sincronizare este complet automatizat. În unele cazuri, aplicația va începe imediat să actualizeze firmware-ul senzorului, solicitându-vă să vă aduceți smartphone-ul cât mai aproape de etichetă. Odată ce înregistrarea și sincronizarea sunt finalizate, puteți lipi cu încredere senzorii unde doriți - și uitați de ei. Producătorul promite că StickNFind va funcționa cel puțin un an fără a înlocui bateria. Și bateria de acolo este din categoria „ceas”, adică o poți înlocui singur.

Căutarea unei etichete se efectuează folosind „locatorul” din programul iPhone. Cu cât te îndepărtezi cu smartphone-ul de marcaj, cu atât acesta apare mai departe pe „radarul” imaginar. Raza de detecție directă este de aproximativ 30 de metri. Căutarea este ca un joc de cald și rece: poți vedea doar distanța relativă dintre tine și etichetă, dar nu direcția sau locația clar definită. Sună greu în cuvinte. Dar, în realitate, doar te întorci în direcția corectă și mergi înainte, verificând datele din aplicație.

În plus, senzorul și aplicația mobilă interacționează în alte câteva moduri interesante. De exemplu, puteți seta funcția „Leash”: de îndată ce vă îndepărtați prea mult de senzor distanta lunga, o notificare Push corespunzătoare va fi trimisă către iPhone, iar „eticheta” în sine va începe să redea un semnal sonor. Și clipește LED-ul, desigur. De asemenea, puteți activa de la distanță semnalul sonor al senzorului și/sau indicația luminoasă.

Numai funcția „lesh” este suficientă pentru a recomanda senzorii StickNFind tuturor. Adică toată lumea, inclusiv tu. Sau nu ai pierdut niciodată nimic? Puteți folosi mai mulți senzori simultan, monitorizând fiecare lucru important din casă. Și acum pregătirile somnoroase de dimineață nu vor fi amânate prin găsirea cheii apartamentului. Și un taximetrist cu barbă nu va merge într-un pub cu portofelul lăsat în urmă după o seară bună la club. Lucru util!

Inversiunea este un lucru grozav! Inventează un lucru, apoi ia-l și întoarce-l pe dos, vei obține un rezultat la fel de interesant. La început am făcut asta cu un singur lucru, și abia apoi am văzut că în TRIZ (teoria rezolvării problemelor inventive) există o tehnică precum „analogia inversă sau inversă”. Trăiește pentru totdeauna, învață pentru totdeauna.


Dar asta este tot teorie, iar practica pune totul la locul lui...


Balizele Bluetooth Low Energy sau iBeacon-urile nu mai sunt ceva ieșit din comun. Acestea pot fi găsite în gări, aeroporturi, muzee și centre comerciale. În calitate de inginer radio, am participat la proiectarea balizelor și, în special, a antenelor pentru acestea. Acest lucru este interesant la început, dar apoi devine plictisitor. Nu există nimic care să iasă în evidență, nu poți inventa ceva deosebit de nou. Și apoi mi-a dat seama!



Iată mici fragmente de cod cu logica găsitorului de direcție:


Obținem niveluri de la ambele antene. Nivelurile rezultate trebuie să fie mediate și apoi trebuie calculată diferența. De fapt, nu este diferența dintre semnale, ci raportul lor. Dar dacă se măsoară în decibeli, va exista o diferență.


Niveluri de scriere în buffer

public boolean handleInfo(WFPacket data) ( if (data.apName.equals(ssid) && data.mac.equals(mac))) ( int idx = data.antIdx; if (0)<= idx && idx <= 1) { mLevels.get(idx).addLast(data.power); while (mLevels.get(idx).size() >avgCount) ( mLevels.get(idx).removeFirst(); ) needRecalc = true;


imprimare(); ) else ( Log.d(TAG, "LevelCalculator.HandleInfo() Bad rcvIdx: " + data.antIdx); ) ) else ( return false; ) return needRecalc;

)< 2; idx++) { double sum = 0d; for (Double x: mLevels.get(idx)) { sum += x; } int count = mLevels.get(idx).size(); if (count != 0) { sum /= count; } avgLevels = sum; } avgDiff = Math.pow(10.0, (avgLevels - avgLevels) * 0.1 + 2.5); //Переводим обратно из децибелов needRecalc = false; } return avgDiff; }


Medierea și calcularea diferenței


public double getAvg() ( dacă (needRecalc) (pentru (int idx = 0; idx)

Procesarea „diferenței”. Dacă nivelurile de pe ambele antene diferă „puternic”, atunci suntem direcționați către sursă cu o oarecare precizie (plus sau minus un pantof de bast). Ceea ce este egal cu acest „puternic” este în prezent determinat experimental de exploatarea științifică.< mThreshold) { // Если разница в уровнях больше порога, то мы как раз направлены на источник сигнала addBearing(); numUpdates++; } lastUpdateTime = System.currentTimeMillis(); } //Далее идёт обновление GUI }


private void updateLevelDiff(duble levelDiff)


Să fie emis un iBeacon cu un număr către o antenă, iar altul cu alt număr. Apoi, pe dispozitivul mobil, puteți măsura nivelurile ambelor balize și, prin diferență, puteți determina cât de aproape este de focalizarea antenelor de baliză. Acest lucru are ca rezultat poziționarea în direcția de sosire a undei.


Versiunea standard Bluetooth 5 a anunțat chiar și o metodă similară de poziționare de înaltă precizie - Angle of Departure. Nu au ajuns încă la o descriere exactă a acestei metode, promit în versiunile viitoare.


Într-o formă rafinată, lucrarea poate fi ilustrată cu videoclipuri: datăŞi două.


Aplicația stabilește un prag pe baza diferenței de nivel, care determină că dispozitivul mobil este situat într-un con imaginar cu o axă care coincide cu normala la planul antenei.



Farul în sine arată astfel:



Și iată redările interiorului:



Frumos, nu?! Înăuntru se află o antenă, ca într-un indicator de direcție WiFi și un SoC Bluetooth nRF51822. Dar totul a fost în zadar...


Apoi povestea intră într-un fakap, adică funcționează Smartphone Nexus 5 și găsirea unui alt gadget care funcționează cel puțin în același mod s-a dovedit a nu fi foarte ușoară. Nu, sunt Samsung Galaxy S7, Lenovo Phab 2 Pro și aici se termină lista deocamdată. Nu a fost posibil să găsiți alte gadgeturi „bune” de la prieteni și cunoscuți. Dintre cele „răi” putem aminti Samsung S4 mini.


Desigur, farul a fost verificat. Emite pachete către două antene pe rând cu un interval minim. Este necesar un interval mic, astfel încât măsurătorile să se refere la momente în timp care nu sunt departe unele de altele. Altfel va fi imposibil să le corelezi între ele.



Există o oarecare speranță că situația poate fi mai bună pe iOS. Cel puțin este mai omogen pe spectrul de dispozitive mobile.


Există, de asemenea, speranța că va exista un specialist care va înțelege care este problema și va sugera o soluție.


Și acum îmi pare foarte rău că această idee nu funcționează.

  • Dezvoltare de aplicații mobile
  • Avem deja termostate inteligente, cântare, camere, televizoare, frigidere, senzori, încuietori etc. În fiecare zi apar pe piață din ce în ce mai multe dispozitive inteligente diferiți producători, iar unele dintre ele sunt cu adevărat bune și utile. Dar cum arată astăzi interacțiunea noastră cu astfel de dispozitive, de ex. configurarea inițială si monitorizare? În marea majoritate a cazurilor, fiecare producător are o aplicație cu care putem interacționa cu produsele sale. La prima vedere pare normal, nu?

    Dar dispozitivele inteligente ne pot înconjura nu numai acasă. Mulți dintre noi avem aplicații pentru transportul în comun, pentru plata parcării, închirierea de mașini sau închirierea de biciclete. Dar dacă vă aflați în altă țară pentru muncă sau vacanță, probabil că va trebui să instalați încă câteva aplicații.

    Dacă credem în Legea lui Moore, atunci dispozitivele mici, ieftine și conectate vor izbucni în curând în viața noastră, umplându-ne casele, munca și locuri publice. În prezent, majoritatea dispozitivelor inteligente pentru Internet of Things necesită instalarea unei aplicații speciale. O astfel de soluție îngustă pur și simplu nu se scalează pentru a interacționa cu întreaga gamă de dispozitive inteligente. Nu am nimic împotriva aplicațiilor, aplicațiile sunt grozave! Dar sunt multe dintre ele și interacțiunea pe care ne-o oferă nu este întotdeauna convenabilă.

    Conceptul web fizic

    Web fizic- este o încercare de a construi o punte între lumea digitală și cea fizică, care ne permite să extindem superputerea web-ului - URL- pentru uz zilnic. În esență, Physical Web este un serviciu de descoperire: un obiect inteligent difuzează o adresă URL corespunzătoare pe care orice dispozitiv din apropiere, cum ar fi smartphone-ul sau tableta, o poate accepta. Această abilitate simplă de a difuza o adresă URL obișnuită deschide noi modalități interesante de a interacționa.

    Videoclip despre web fizică de Scott Jenson. Recomand să-l vizionați.




    Imaginați-vă că puteți interacționa cu ușurință cu toate dispozitivele inteligente din casă, le puteți configura cu ușurință sau puteți obține date de diagnosticare. Apropiindu-te de stație, poți afla când va sosi cel mai apropiat autobuz urcând în el, vei afla informații despre traseu, timpul până la următoarea oprire; În centrul comercial vei afla despre promoții și reduceri. Mergând până la un automat, puteți cumpăra și primi un articol fără a fi nevoie să îi cereți să vă accepte banii sau chiar să îl atingeți. Puteți cumpăra un bilet la un muzeu sau un cinematograf și, apropiindu-vă de un afiș sau de un articol de expoziție, puteți obține informații suplimentare despre acesta. Puteți închiria o mașină sau o bicicletă, puteți plăti pentru parcare și puteți efectua mai puține acțiuni inutile. Sau intrați la coadă. Fii la coadă, Karl! În Rusia ne plac atât de mult cozile. Chiar dacă te afli într-un alt oraș, nimic nu se va schimba pentru tine.

    Toate acestea sunt posibile fără a instala o grămadă aplicații inutile, veți avea nevoie de o singură aplicație, pentru Android este - Browser web fizic, iar pe iOS - această funcționalitate este încorporată în Google Chrome . Google Chrome cu sprijin Web fizică Pentru Android este în prezent în stadiu beta. Opera va primi în curând asistență pentru Physical Web odată cu trecerea la baza de cod Chrome 49.

    Web fizic este o soluție naturală care oferă interacțiuni la cerere, fără efortul suplimentar și suprasolicitarea instalării aplicațiilor. Aceasta este o experiență utilizator complet nouă, care oferă interacțiune la cerere numai atunci când utilizatorul are într-adevăr nevoie de ea. Doar faceți clic pe link și obțineți ceea ce aveți nevoie. Fără notificări Push, vibrații sau ceva de genul acesta.
    Web fizic economisește efort, bani și timp la dezvoltarea aplicațiilor, deoarece Nu este nevoie să scrieți o aplicație pentru fiecare platformă, este suficient să faceți o aplicație Web adaptabilă.

    Un exemplu de cum arată:



    Physical Web nu este încă pe deplin gata și nu este un produs Google. Acesta este un proiect experimental în stadiu incipient dezvoltat de Google. formă deschisă, ca toate lucrurile legate de Internet.

    Dispozitiv far

    După cum probabil ați ghicit cu ușurință, sursa URL-ului de care avem atât de mult nevoie sunt semnalizatoarele. Far- far). Beacon-urile sunt cel mai simplu dispozitiv care transmite unele date la o anumită frecvență, așa-numita pachet publicitar, cu ajutorul tehnologiei Bluetooth v4 sau Bluetooth Low Energy (BLE).

    Pentru cei care sunt preocupați de confidențialitate: balizele nu vă pot urmări în mod fundamental, pot transmite doar mesaje și nu știu nimic despre dvs. Nu le pasă dacă o persoană primește pachete de la ei sau 30.

    Mai jos, de exemplu, este un far de la companie Estimare dezasamblat:


    Acum există destui producători de dispozitive, așa că piața oferă o mare varietate de implementări atât în ​​ceea ce privește dimensiunea, factorul de formă, cât și scopul. Există, de exemplu, implementări industriale care pot funcționa în aer liber și pot fi alimentate de sursă permanentă energie. Prețurile pentru dispozitivele finite variază și ele.

    Un exemplu departe de a fi complet de varietate de dispozitive:



    Balizele pe care le am în acest moment:



    Care este diferența conceptuală dintre balize, dacă nu ținem cont de preț și performanță? Diferența constă în formatul mesajelor difuzate.

    În prezent, există trei standarde principale:

    • iBeacon
    • AltBeacon
    • Eddystone
    De fapt, există și alte standarde, de exemplu PayPal beacon sau unele dintre propriile implementări de la furnizori, de exemplu gimbal și estimare, dar cele enumerate mai sus sunt în prezent standardele principale, dominante.

    Majoritatea dispozitivelor pot transmite acum mesaje în oricare dintre aceste trei formate, iar unele chiar și simultan în mai multe. Să le privim puțin mai detaliat pentru a înțelege care este diferența dintre ele.

    iBeacon

    Primul standard a fost iBeacon, a fost prezentat de companie Apple inc. în 2013. Scopul său principal era acela de a fi folosit în teren cu amănuntulși marketing mobil, precum și pentru poziționarea locală în interior.

    Standard iBeacon presupune doar difuzarea de tip 1 pachet publicitar, care constă din următoarele părți:

    • UUID- identificatorul unic de 16 octeți al grupului de balize;
    • Major
    • Minor- valoare nesemnată de 2 octeți;
    • Puterea Măsurată- valoarea nivelului semnalului la 1 m de transmițător. Număr întreg cu semn pe 8 biți - valoarea indicatorului de putere a semnalului recepționat (RSSI - Received Signal Strength Indicator), care este utilizat pentru a determina proximitatea (proximitatea) farului față de receptor (dispozitiv mobil). Măsurat în dBm.

    Cadrul iBeacon:


    Dispozitivul sau iOS în sine, aceste pachete nu înseamnă nimic, trebuie procesate de aplicație. În fiecare caz individual, pentru fiecare caz de utilizare, utilizatorul va trebui să seteze cerere separată. Numărul de UUID-uri cu care poate funcționa o aplicație este limitat. Printre dezavantajele standardului, este de remarcat natura sa proprietară, lipsa suportului nativ pe Platforma Androidși faptul că poate difuza doar un tip pachet publicitar.

    AltBeacon

    Consorţiu RadiusNetwork a fost introdus un standard alternativ și deschis AltBeacon. A fost proiectat inițial pentru a fi interoperabil și compatibil cu standardul iBeacon. AltBeacon are aproape aceeași funcționalitate ca iBeacon, deși vă permite să transmiteți informații puțin mai utile.

    Cadrul AltBeacon:


    Din 28 de octeți Pachet publicitar, avem acces la 25 de octeți care constau în:
    • ID MFG- 2 octeți. ID-ul producătorului dispozitivului
    • COD BALIZARE- 2 octeți. Cod pachet de publicitate
    • ID BALIZ- 20 de octeți. Identificator unic de dispozitiv
    • MFG RSVD- 1 octet. Câmp special rezervat (utilizat în principal pentru numerele atribuite Bluetooth)
    La rândul său ID BALIZ poate fi reprezentat ca iBeacon, adică 16-byte id1 + 2-byte id2 + 2-byte id3 . Mai multe detalii despre specificațiile protocolului pot fi găsite. Deoarece acesta este în esență un analog deschis iBeacon, atunci are aceleasi neajunsuri.

    Eddystone



    În 2015 compania Google a fost introdus un standard nou și complet deschis Eddystone, care a evoluat din proiect URIbeacon. Ca și celelalte 2 standarde, Eddystone este o specificație de protocol care definește formatul mesajului BLE. Eddystoneîncorporează toată experiența altor standarde și are scopul de a fi mai flexibil și de a elimina deficiențele inerente farŞi AltBeacon

    Spre deosebire de ei, poate trimite deja 3 tipuri de pachete:

    • Eddystone-UID- Identificator de dispozitiv de 16 octeți, care constă din 10 octeți namespaceIdși 6 octeți instanceId.
    • Eddystone-URL- traduce URL-ul folosind un format de codare comprimat. Orice adresă URL lungă poate fi scurtată folosind Google URL Shortener(https://goo.gl/), care s-ar încadra în cei 18 octeți limitati Pachet publicitar. Odată decodat, URL-ul poate fi folosit de orice client cu acces la Internet. De exemplu, dacă o baliză difuzează adresa URL: https://goo.gl/Aq18zF, atunci orice client care a primit acest pachet poate vizita această adresă URL (https://goo.gl/Aq18zF).
    • Eddystone-TLM- telemetrie, date precum tensiunea sunt disponibile baterie, temperatura dispozitivului, numărul de pachete trimise de la pornire și timpul de la pornire.

    Cadru Eddystone:


    Eddystone-URL este baza Web fizicși facilitează descoperirea și interacțiunea cu conținutul web din jurul nostru. Din moment ce difuzează de obicei URL nu avem nevoie de altceva decât de un browser. Fără aplicații speciale, biblioteci sau SDK-uri!
    Pentru cazurile în care trebuie să faceți o cerere nepublică, obișnuită pentru intern sau utilizare specială,Eddystone-URL nu este potrivit, ar trebui să folosim Eddystone-UID.

    După cum am scris mai sus, există balize care vă permit să difuzați simultan mai multe tipuri de pachete, de exemplu iBeacon și Eddystone-URL sau Eddystone-UID și Eddystone-URL. Vă voi spune mai departe cum și de ce poate fi folosit.

    Cum arată utilizarea balizelor RadBeacon USB, RadBeacon Dot și iBKS 105 ca exemplu:


    Lucrul cu balize și implementarea Physical Web

    În cel mai simplu caz, pentru a implementa Physical Web, este suficient un ble-beacon cu suport Eddystone. Diferite modele de baliză sunt inițializate și configurate diferit. Puteți implementa cu ușurință 5, 10 sau, să zicem, 100 de balize. Pur și simplu le atribuiți o adresă URL, apoi, dacă este necesar, modificați doar conținutul în sine. Dar dacă trebuie să te extinzi număr mare dispozitive diferite, de la diferiți producători pe o suprafață destul de mare ( centru comercial, aeroport, cartier sau chiar un oraș întreg), în ciuda faptului că unele dintre balize pot fi în continuă mișcare, de exemplu în transport. În acest caz, aveți câteva probleme, dar există soluții. Unii producători oferă lor soluții cloudși CMS pentru gestionarea balizelor, de exemplu Estimare , Kontakt.io , Blesh , Phy.netŞi LightCurb . EstimareŞi Kontakt.io de asemenea oferite pe github lor SDK.

    În opinia mea, cel mai universal și simplu instrument pentru rezolvarea unor astfel de probleme este ( Platforma de baliză Google)[https://developers.google.com/beacons/]. Platforma de baliză Google ușurează monitorizarea și gestionarea tuturor dispozitivelor simultan. Platforma vă permite să lucrați cu diferite balize de la diferiți producători, oferind dezvoltatorilor un instrument unic, simplu și flexibil, despre care voi discuta în detaliu într-un articol separat.
    Putem adăuga unei aplicații existente care este populară în rândul utilizatorilor posibilitatea de a lucra cu balize, de exemplu, pentru navigare sau obținerea unor date suplimentare. Este clar că în acest caz Eddystone-URL nu este potrivit, trebuie să folosim Eddystone-UID. Dar datorită faptului că unele balize pot trimite simultan două tipuri de pachete, de exemplu Eddystone-URL sau Eddystone-UID, putem oferi utilizatorilor aplicației date suplimentare, iar utilizatorilor fără aplicație aplicația în sine.
    În cazul în care este necesară realizarea unei aplicații non-publice pentru uz special sau intern, pur și simplu folosim Eddystone-UID.

    Balizele pot fi folosite pentru navigație, și nu numai în interior. La prima vedere, această sarcină pare foarte dificilă, deoarece putem determina distanța până la far folosind RSSI. Dar chiar și în conditii ideale valoarea semnalului sare. Acest lucru se datorează caracteristicilor antenei, propagarii undelor, zgomotului și obstacolelor. În general, aproximativ, puteți determina distanța și pentru unii acest lucru este suficient. Dar dacă aveți nevoie de citiri mai precise, va trebui să utilizați triangularea semnalului, filtrul Kalman etc. În general, pe hub s-a scris destul despre caracteristicile navigației indoor, iată câteva articole bune.

    Chei, telefon, rucsac, husă pentru ochelari, portofel, suport pentru cărți de vizită - sunt multe lucruri mărunte în viața noastră care ne fac viața mai ușoară și se rătăcesc în cele mai nepotrivite momente. De câte ori, dimineața, când te pregătești de lucru, te-ai repezit isteric prin casă, încercând să-ți amintești unde ți-ai aruncat cheile mașinii cu o zi înainte? Ai venit vreodată acasă seara, ai turnat o ceașcă de ceai fierbinte și te-ai așezat pe un scaun în așteptarea unei vizionari calme și relaxante la televizor... și nu ai găsit telecomanda televizorului. Ca să nu mai vorbim de pisici, câini și, să fiu sincer, copiii mici, curioși, care încearcă mereu să scape. Acest lucru nu se va mai întâmpla niciodată. În magazinul nostru puteți găsi diverse modele de chei de căutare (balize, etichete), cumpărați dispozitive în miniatură și vă ușurați viața dvs. și celor dragi.

    Cu ajutorul balizelor mici, utilizatorul este capabil să urmărească locația obiectelor în timp real. Pentru o cheie de căutare, un radiofar sau o etichetă, prețul este determinat în funcție de funcționalitate. Dispozitivele de căutare diferă în intervalele de frecvență de operare, puterea dispozitivului de citire, erorile sau omisiunile de citire, intervalul de semnal, numărul de coduri, tipul și sursa de alimentare, proiectarea și execuția. La cumpărare, activați codul promoțional și primiți reduceri la cheia de căutare și radiofar.

    Caracteristicile recomandate pentru cheile de căutare, etichetele și balizele radio se bazează pe frecvența radio și tehnologia de identificare acustomagnetică, oferind o probabilitate mare de identificare a etichetelor. Recenzia postată pe site-ul nostru pentru fiecare cheie de căutare și radiofar examinează în detaliu capacitățile dispozitivelor.

    Cheile de căutare și balizele radio sunt vândute sub forma unui set format dintr-un dispozitiv de recepție și citire și o etichetă radio sau autocolante radio sincronizate cu dispozitiv mobil. Datorită moduri convenabile fixare, eticheta poate fi atașată pe aproape orice suprafață. Motoarele de căutare sisteme de uz casnic au cea mai largă gamă aplicații - în industrie, depozite, medicină, biblioteci, pentru urmărirea animalelor de companie, a bagajelor, localizarea unei game largi de obiecte online. Citiți descrierile cheilor de căutare, semnalizatoarelor radio și recenziile clienților înainte de a face alegerea finală.

    Un modul de comunicație fără fir este integrat în eticheta de căutare, telecomandă și radiofar. Cel mai adesea, producătorii introduc informații despre economisirea energiei în autocolant. modul bluetooth Standard Bluetooth Low Energy versiunea 4.0. Radiofarul este asociat cu gadget mobilși este determinat prin interfața aplicației.

    În setările aplicației kit-ului de căutare, puteți seta valori critice ale intervalului. De îndată ce dispozitivul de citire se îndepărtează de obiectul de care este atașată eticheta dincolo de limitele programate sau de raza de acțiune a semnalului Bluetooth, o notificare de avertizare este trimisă la telefonul proprietarului. Această funcție Puteți să-l dezactivați și să lăsați doar inițierea manuală a căutării. În acest caz, pentru a găsi elementul pierdut, utilizatorul trebuie să intre în aplicație și să facă clic pe butonul „Căutare”.

    Dacă eticheta se află în „vizibilitatea” receptorului, aplicația afișează informații despre locația celui pierdut. Programul poate implementa prompturi audio pentru detectarea unei etichete, care funcționează pe principiul creșterii sau scăderii volumului semnalului în funcție de apropierea de radiofar. Indicatorii vizuali funcționează pe un principiu similar, devin mai strălucitori și mai plini dacă utilizatorul se deplasează spre marcaj și, dimpotrivă, se estompează și devin mai mici dacă căutătorul se îndepărtează de țintă. Mai mult decât orice tehnologie similară amintește de un joc pentru copii de „cald și rece”. Site-ul nostru web prezintă modele bugetare de chei de căutare și radiofaruri, care pot fi achiziționate în diverse versiuni și configurații.

    Cel mai mult modele disponibile kiturile de căutare sunt alimentate de baterii înlocuibile, nereîncărcabile, care asigură câteva luni de funcționare pentru chei de căutare și radiofaruri. În setările aplicației, puteți identifica de la una la câteva zeci de etichete. Unele modele de kituri de căutare realizează schimb de date interactiv în două sensuri între etichetă și receptor, abilitatea de a salva ultimele coordonate cunoscute pe hartă. Pot fi folosite și mai multe semnalizatoare de căutare avansate pentru a căuta smartphone-uri terțe, chiar și fără știrea proprietarilor acestora. Principiul de funcționare se bazează pe activarea unui semnal de alarmă atunci când eticheta este scoasă din zona de recepție. În acest caz, semnalul de la eticheta pierdută este preluat de orice dispozitiv pe care este instalată o aplicație proprietară care se întâmplă să fie la vedere. Coordonatele balizei sunt trimise pe Internet, iar de acolo sunt transmise proprietarului etichetei. Prețul pentru astfel de chei de căutare și balize radio este mai mare decât pentru alte sisteme de căutare, dar nivelul de securitate al unor astfel de kituri este mai mare.

    Autocolantele de căutare moderne au avantajele inerente balizelor de căutare industriale, dar în același timp au un preț accesibil consumatorului mediu. Ultimele modele kiturile de căutare oferă sisteme în care locația etichetei este determinată folosind comunicare celulară. Pentru un astfel de autocolant, distanța de la receptor nu este o prioritate - eticheta va fi detectată în orice loc unde există un semnal de la un turn celular.

    Căutați chei și balize radio cu un modul GPS încorporat vor fi, fără îndoială, apreciate de proprietarii de animale de companie. Acest tracker poate fi atașat la o bicicletă, rucsac, scuter și alte obiecte valoroase. Proprietarii de mașini vor aprecia balizele radio care funcționează printr-o rețea GSM și acceptă protocolul GPRS. Magazinul nostru vinde chei de căutare și radiofaruri multifuncționale care combină capacitățile unui autocolant de căutare, încărcător și unitate flash.

    Dacă vă confruntați cu sarcina de a proiecta o soluție bazată pe dispozitive care sunt alimentate de o singură baterie, de a colecta informații de-a lungul mai multor ani și de a le transmite prin Bluetooth Low Energy, atunci cea mai logică soluție este să apelați la experiența Texas Instruments, care include soluții hardware și software și dezvoltarea de instrumente.

    Prin „balize” în acest articol ne referim la emițătoare radio miniaturale bazate pe Tehnologia Bluetooth Dispozitive alimentate cu baterii de energie scăzută care trimit periodic date prin aer. Să aruncăm o privire mai atentă la cel mai mult aspecte importante, care trebuie luate în considerare la proiectarea balizelor. Folosind stiva Texas Instruments BLE, dezvoltarea balizelor este simplă și intuitivă.

    Ce este Beacon?

    Far (balize) în tehnologie wireless- Acesta este un tip de dispozitive cu baterii în miniatură pentru transmiterea de informații de volum mic. Informațiile pot fi orice, de la parametrii de mediu (temperatură, presiune, umiditate etc.) sau starea obiectului (locație, accelerație, vibrație) până la notificări despre prețuri și produse din magazin.

    Datele transferate sunt de obicei statice, dar pot fi și dinamice și se pot modifica în timp. Balizele care utilizează Bluetooth Low Energy sunt de obicei proiectate pentru a funcționa mulți ani cu o singură baterie de dimensiunea unei monede. Să ne uităm de unde să începem implementarea soluțiilor bazate pe balize care distribuie informații folosind reclame, adică transmisii folosind tehnologia Bluetooth Low Energy, cunoscută și sub numele său de marketing Bluetooth Smart.

    Bluetooth Low Energy și Bluetooth Smart

    Modulul Bluetooth Low Energy poate funcționa în patru moduri diferite, în care dispozitivele se comportă diferit. Primele două moduri se bazează pe procedura „bazată pe conexiune”, adică pe stabilirea unei conexiuni directe cu un alt dispozitiv specific:

    • dispozitivul periferic îndeplinește funcția de agent de publicitate, poate stabili o conexiune și poate funcționa ca sclav în cazul unei conexiuni, de exemplu, un termometru sau un monitor de ritm cardiac;
    • dispozitivul central caută agenți de publicitate și poate iniția o conexiune. Acesta acționează ca un dispozitiv principal pentru una sau mai multe conexiuni, cum ar fi smartphone-uri și computere. Aceasta înseamnă că dispozitivele care participă la procedura de conectare pot funcționa ca periferice sau centrale. Alte două moduri sunt utilizate în dispozitivele care transmit sau primesc date unidirecțional:
    • Broadcaster - un crainic fără funcție de conectare, cum ar fi un senzor de temperatură care transmite temperatura curentă sau o etichetă electronică pentru urmărirea obiectelor;
    • Observatorul scanează undele de emisie pentru anunțuri, dar nu poate iniția conexiuni. Acesta ar putea fi un afișaj de la distanță care primește date de temperatură și le afișează pe ecran sau monitorizează etichetele electronice.

    Modurile evidente pentru aplicațiile de baliză sunt Periferic și Broadcast. Aceste moduri trimit același tip de reclame, cu excepția unui semnal specific din pachet care indică dacă dispozitivul este conectabil sau neconectabil. Un dispozitiv periferic care implementează un server GATT (o arhitectură pentru stocarea și schimbul de informații între două sau mai multe dispozitive) este cunoscut sub numele de marketing „Bluetooth Smart”. Aşa, nume bluetooth Smart indică faptul că acest dispozitiv este conectabil dispozitiv periferic, care conține date și cu care dispozitivul central poate interacționa.

    Tehnologia Bluetooth Low Energy este ideala pentru balize deoarece are un consum redus de energie si se gaseste in majoritatea smartphone-urilor sau a altor dispozitive Bluetooth Smart Ready disponibile pe piata. Consumul redus de energie se realizează prin minimizarea timpului de transmisie și trecerea la modul de repaus între pachetele de trimitere.

    Balize neconectabile

    O baliză care nu poate fi asociată este un dispozitiv Bluetooth Low Energy în modul de difuzare. Pur și simplu transmite informații care sunt stocate în memoria sa. Deoarece funcția de recepție nu este activată în modul de transmisie neconectat, se obține cel mai mic consum de energie posibil. Dispozitivul se trezește, transmite date și revine în modul de repaus. Dezavantajul unui astfel de dispozitiv este că sunt transmise numai date dinamice cunoscute de dispozitiv sau date care pot fi încărcate în baliză printr-o interfață cu fir, de exemplu, printr-o intrare serială UART, SPI sau USB.

    Balize conectabile

    Baliza care se conectează este un dispozitiv Bluetooth Low Energy în modul periferic. O astfel de baliză nu poate doar să transmită, ci și să primească date, ceea ce permite unui dispozitiv central (de exemplu, un smartphone) să se conecteze și să interacționeze cu serviciile implementate în baliză. Fiecare serviciu are unul sau mai multe atribute care pot fi modificate de dispozitivul conectat la far. Un exemplu de astfel de atribut este un șir de date care reprezintă informații de difuzare. Astfel, este posibil să existe o baliză cu o configurație reglabilă care este ușor de actualizat prin aer.

    Pachetul de date

    Transferat de la Dispozitive Bluetooth Datele cu energie redusă sunt formatate conform specificațiilor de bază Bluetooth și constau din mai multe părți, care sunt prezentate în Figura 1.

    Preambulul este o valoare de un octet folosită pentru sincronizarea la receptor. Pentru pachetele de difuzare este întotdeauna 0xAA.

    Adresa de acces este, de asemenea, fixă ​​pentru pachetele de difuzare și este setată la 0x8E89BED6.

    Sarcina utilă a unui pachet constă dintr-un antet și sarcina utilă reală. Antetul descrie tipul de pachet, iar tipul PDU definește scopul dispozitivului. Pentru aplicațiile de difuzare, există trei tipuri diferite de PDU (Tabelul 1). ADV_IND și ADV_NONCONN_IND au fost descrise anterior (ca conectabile și neconectabile), în timp ce ADV_SCAN_IND este un transmițător de difuzare neconectabil care poate furniza informații suplimentare ca răspuns la o scanare.

    Tabelul 1. Tipuri de reclame PDU pentru date difuzate Bitul TxAdd indică dacă adresa agentului de publicitate (conținută în sarcina utilă) este publică (TxAdd = 0) sau aleatorie (TxAdd = 1). RxAdd este rezervat pentru alte tipuri de pachete care nu sunt acoperite în acest articol, deoarece nu se aplică balizelor.– cod de redundanță ciclică (CRC). Verificarea redundanței ciclice este un cod de detectare a erorilor utilizat pentru a verifica integritatea unui pachet împotriva modificărilor nedorite, de obicei din cauza interferențelor transmise în aer. Acest lucru garantează integritatea datelor tuturor pachetelor transmise prin aer.

    Sarcina utilă a pachetului include adresa agentului de publicitate împreună cu datele publicitare definite de utilizator, așa cum se arată în Figura 2. Aceste câmpuri reprezintă adresa și datele de difuzare ale semnalizatoarelor.

    Adresa dispozitivului

    Adresa de difuzare poate fi publică sau aleatorie. Adresa publică (Vol. 6.C.1.3, pagina 2500), în conformitate cu standardul IEEE 802-2001, este utilizată ca identificator unic al organizației (OUI) obținut de la Autoritatea de înregistrare IEEE. Texas Instruments oferă adrese IEEE pentru toate dispozitivele Bluetooth Smart. Adresele aleatoare pot fi generate direct de far și vin în trei diverse tipuri(Figura 3): static, privat nerezolvabil și privat rezolvabil. Adresa statică nu poate fi schimbată până când dispozitivul nu repornește. Adresa privată se poate schimba în timp, iar adresa rezolvabilă poate fi folosită pentru a obține adresa adevărată. O adresă nerezolvată se poate schimba în timp, ceea ce este diferit de adresa statica. Adresa aleatorie este o caracteristică de confidențialitate care împiedică urmărirea dispozitivului dvs. Există anumite reguli pentru generare adrese aleatorii, detalii se găsesc în caietul de sarcini de bază (Vol. 3.C.10.8, pag. 2020).

    Datele transferate pot fi formatate conform anumitor formate de date SIG Bluetooth, câteva exemple sunt prezentate în Tabelul 2. În continuare, ne vom concentra pe steaguri și date specifice producătorului.

    Tabelul 2. Tipuri de date publicitare

    Steaguri

    Primii trei octeți de date transmise determină capacitățile dispozitivului. Aceasta este o cerință a specificației de bază (Vol. 3. Pagina 2029 C.13.1.1), formatul de octet este definit în Tabelul 3.

    Tabelul 3. Indicatori de tip de date pentru configurarea conexiunii

    Indicatoarele de mod de detectare sunt biți mascați, diferitele lor semnificații sunt prezentate în Tabelul 3. Dacă nu sunt setate indicatori de biți, indicatorul de tip de date poate fi omis. De exemplu, nu este necesar pentru un pachet publicitar neconectabil (ADV_NONCONN_IND).

    Date specifice producătorului

    Când sunt specificate date specifice producătorului (adică sunt definite și formatate numai conform regulilor proprii ale producătorului), indicatorul „0xFF” este utilizat pentru a indica prezența acestor date.

    Primii doi octeți ai datelor în sine trebuie să fie codul de identificare a companiei. Formatul de pachet Bluetooth Low Energy permite unui dispozitiv să transmită 25 de octeți de date specifice producătorului dacă anunțul este o reclamă omnidirecțională conectabilă (ADV_IND) sau o reclamă omnidirecțională scanată (ADV_SCAN_IND) și necesită un semnalizare mod de descoperire. Pentru o reclamă nedirecționată care nu se poate conecta (ADV_NONCONN_IND) lungime maxima

    Datele din câmpul „Date specifice producătorului” pot ajunge la 28 de octeți. Aceste date sunt determinate de producător și pot conține orice informație. Datele de difuzare pot fi, de asemenea, formatateîntr-un mod standard

    . La momentul scrierii acestui articol, existau două standarde: iBeacon de la Apple și AltBeacon de la Radius Networks. iBeacon are licență MFi și funcționează cu toate dispozitivele iOS. AltBeacon este un standard deschis și specificațiile sale pot fi descărcate de la http://altbeacon.org/.

    Interval de anunț

    Baliza menține un consum redus de energie, rămânând în cea mai mare parte inactivă și trezindu-se doar pentru perioade scurte pentru a transmite date. Timpul dintre aceste evenimente de difuzare se numește interval de anunț (Figura 4). Pentru balizele neconectabile, intervalul nu poate fi mai mic de 100 ms, iar pentru balizele conectabile - mai mic de 20 ms. La acest interval se adaugă o întârziere pseudo-aleatorie de 0...10 ms, aceasta asigură că balizele pot lucra împreună, chiar dacă au început să transmită în același timp.

    Observatorul scanează de obicei la mai puțin de 100% timpi de ciclu pentru a reduce consumul de energie sau pentru a oferi timp altor protocoale wireless să funcționeze. Un bun exemplu sunt smartphone-urile, care în cele mai multe cazuri au un cip comun pentru Bluetooth și Wi-Fi®. Dacă căștile sunt conectate prin Bluetooth clasic și comunică cu un punct de acces prin Wi-Fi, atunci scanarea Bluetooth Low Energy va avea loc probabil doar la intervale scurte. Intervalele de timp de acces de pe acest dispozitiv sunt împărțite între mai multe protocoale de 2,4 GHz.

    Observatorul poate scana în modul pasiv sau activ. Dacă se folosește modul activ și semnalizatorul îl acceptă, atunci este trimisă comanda „Scan Request”, la care semnalizatorul ar trebui să emită un răspuns de scanare. O Solicitare este un pachet gol (fără date), în timp ce un Răspuns este de obicei informații statice, cum ar fi un nume sau un model de dispozitiv. Răspunsul este determinat în întregime de dispozitivul în sine. Astfel, acestea ar putea fi date de la unii senzori sau de la oricare altul informatii utile. Când observatorul scanează modul pasiv, nu va trimite o cerere de scanare.

    Tabelul 4. Tipuri de date publicitare, format de date specific producătorului

    Nutriţie

    Farul poate primi energie în mai multe moduri. Există trei metode principale diferite (Figura 5):

    • sursă de alimentare cu disponibilitate constantă (USB, rețea etc.);
    • baterii (CR2032, AAA, litiu etc.);
    • recoltarea energiei – solară, cinetică și altele asemenea (recoltarea energiei).

    De obicei, prima alegere este să selectați baterii care au o durată de viață suficientă pentru majoritatea aplicațiilor și care permit produse mici, cu costuri reduse. De asemenea, puteți utiliza baterii reîncărcabile și, în unele aplicații, împreună cu încărcarea fără fir. Alegerea tipului de baterie este importantă deoarece este posibil ca unele baterii să nu funcționeze bine la livrarea maximă de curent. Capacitatea bateriei este selectată în funcție de cât de des este necesară transmisia și dacă este necesară o procesare ulterioară (citirea senzorului, algoritmi pentru procesarea datelor primite etc.). Interacțiunea cu un senzor implică de obicei transferul de date în serie interfețe UART, SPI sau I2C, care necesită energie suplimentară, care poate fi chiar mai mare decât atunci când se efectuează comunicații radio prin Protocoale Bluetooth Energie scăzută.

    Dacă dispozitivul este alimentat de la o sursă DC, atunci se presupune că consumul de energie nu este un parametru critic. Și dacă acest parametru este încă critic, se folosesc aceleași cerințe de proiectare ca și pentru un dispozitiv alimentat cu baterie.

    Recoltarea energiei este implementată mai des pentru proiectele wireless cu putere redusă, iar farul poate fi echipat cu o sursă de recoltare a energiei. Presiune mecanicăŞi energie solară- cele mai cunoscute surse. Chiar și lumina interioară poate fi folosită pentru a alimenta farul.

    Distanţă

    Teoretic, distanța pentru o anumită frecvență radio depinde de mulți factori, cum ar fi:

    • sensibilitatea radio;
    • putere de ieșire transmițător radio;
    • mediu și interferențe;
    • caracteristicile antenei.

    Balizele funcționează de obicei la distanțe cuprinse între centimetri și câteva sute de metri. Puterea maximă de ieșire definită de specificația de bază este de 10 dBm, care poate acoperi distanțe de până la câteva sute de metri dacă sunt luați în considerare toți factorii de mai sus.

    Compatibilitate

    Banda de frecvență deschisă de 2,4 GHz utilizată de Bluetooth Low Energy acceptă și multe alte protocoale wireless, cum ar fi Wi-Fi și ZigBee. În această bandă de frecvență există și potențiale interferențe de la aparatele de uz casnic, de ex. cuptoare cu microunde. Acest tip de activitate radio poate interfera cu funcționarea dispozitivelor Bluetooth Low Energy. Anunţurile sunt difuzate secvenţial pe trei canale diferite (Figura 6).

    Canalele 37, 38 și 39 au fost alese astfel încât să nu interfereze cu cele trei utilizate în mod obișnuit. Canale Wi-Fi- 1, 6 și 11 (Figura 7).

    Deși canalele de publicitate Bluetooth Low Energy sunt plasate strategic în banda de 2,4 GHz pentru a nu interfera cu majoritatea canalelor Wi-Fi tradiționale, este clar din Figura 8 că pot apărea probleme de compatibilitate cu aceste canale Wi-Fi private. Cu toate acestea, trebuie remarcat faptul că în în acest caz, Spectrul de frecvență a fost măsurat pe un far situat direct pe corpul dispozitivului Wi-Fi.

    În funcție de aplicația farului, există cerințe diferite de compatibilitate. Chiar și un număr mic de semnalizatoare active interferează între ele, provocând pierderi de pachete. După cum sa menționat deja, Wi-Fi are, în caz general, Mai mult putere mare TX și ocupă o bandă ISM de 2,4 GHz mai largă decât dispozitivele Bluetooth Low Energy.

    Proiectarea unui far Bluetooth cu energie redusă

    Ca în cazul oricărei dezvoltări, există și parametri care pot fi optimizați pe baza diverselor argumente pro și contra. Un exemplu este intervalul de anunțuri. Alegerea unui interval mai mic, adică transmiterea frecventă, crește probabilitatea ca informațiile să ajungă mai repede la dispozitivul observatorului, deși consumul de energie crește.

    Instrumente de dezvoltare

    Când proiectați un far, primul pas este să decideți ce instrumente de dezvoltare să utilizați. Există mai multe kituri de dezvoltare disponibile de la Texas Instruments, care sunt prezentate în Figura 9. Aceste instrumente includ: scânduri mici alimentat de un element disc (CC254XDK-MINI, CC2541DK-SENSOR) și platforme multifuncționale ideale pentru modelarea dispozitivelor de orice complexitate (CC2540DK). Pentru mai multe informații despre aceste instrumente de dezvoltare, vizitați ti.com/ble.

    Construirea unei aplicații Beacon cu stiva BLE de la TI

    Stack-ul BLE furnizat de Texas Instruments pentru MCU-urile wireless CC254x oferă simplu și implementare fiabilă balize conectabile și neconectabile. Există aplicații tipice care pot fi folosite ca șabloane software la proiectarea unui semnal, acestea sunt descrise în Tabelul 5. Se presupune că dezvoltatorul este deja familiarizat cu mediul de dezvoltare IAR Embedded Workbench și cu stiva BLE.

    Tabelul 5. Exemple software far pentru CC254x

    Exemplu de proiect Scopul GAP Tip Suport pentru dispozitiv
    SimpluBLEPeriferic Dispozitiv periferic Conectabil CC2540, CC2540T, CC2541, CC2541-Q1
    SimpleBLEBroadcaster Difuzor De neconectat CC2540, CC2540T, CC2541, CC2541-Q1

    Există, de asemenea, o aplicație generică universală - un transmițător de transmisie special conceput pentru CC2543 și care funcționează în modul neconectat. Există un eșantion de proiectare pentru CC2543 pentru un transmițător de transmisie multifuncțional.

    Proiectul SimpleBLEPeripheral este descris pe deplin în Ghidul de dezvoltare software și este, în general, cel mai bun punct de plecare pentru implementarea unui far conectabil. SimpleBLEBroadcaster este o versiune simplificată a SimpleBLEPeripheral care acceptă numai balize neconectabile. API-ul acceptă aceeași funcționalitate de semnalizare ca și pentru proiectele de mai sus. Prin urmare, exemplele de mai jos, care se aplică ambelor proiecte, în special SimpleBLEBroadcaster (BLEv1.4), pot fi folosite ca exemplu de proiect de referință. Există două platforme hardware pentru SimpleBLEBroadcaster: CC2541 și CC2541DK-MINI Keyfob. Acest articol discută despre aplicarea plăcii CC2541EM. Configurarea se face folosind lista pop-up de spații de lucru (Figura 10). În plus, există o versiune a proiectului pentru CC2540 cu opțiuni similare încorporate.

    Aplicația este implementată în SimpleBLEBroadcaster.c, unde datele de difuzare sunt definite ca advertData:

    static uint8 advertData =
    {
    //Drapele; setează dispozitivul în modul de detectare limitată
    //(conexiune stabilită o dată în 30 de secunde) în loc de generală
    //mod de detectare (anunțuri nu sunt definite)
    0x02, //lungimea acestor date
    GAP_ADTYPE_FLAGS,
    GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED, //Declarație de date pe trei octeți „1, 2, 3”
    0x04, //lungimea acestor date
    GAP_ADTYPE_MANUFACTURER_SPECIFIC, //date definite de producător
    //tipul de date a anunțului
    1,
    2,
    3
    };

    În mod implicit, datele transmise conțin steaguri obligatorii urmate de trei octeți de date specifice producției (numerele 1, 2 și 3). Aceste date pot fi modificate cu alte date și, dacă este necesar, lungimea datelor ar trebui actualizată. În funcție de platforma hardware, anunțurile sunt instalate diferit. Pentru CC2541 Wild, care este comun pentru cipurile CC2541, această variabilă este implicită TRUE. Într-o aplicație tipică, tipul de anunț prestabilit este setat la constanta GAP_ADTYPE_ADV_SCAN_IND. Acest lucru vă permite să utilizați comenzile Scan Cerere/Răspuns în timpul conexiunii. Pentru a dezactiva scanarea, care, apropo, va reduce consumul de energie, tipul de anunț (advType) poate fi schimbat la constanta GAP_ADTYPE_ADV_NONCONN_IND. După această modificare, puteți, de asemenea, să omiteți cei trei octeți de semnalizare:

    //Pentru alte platforme hardware, dispozitivul începe procedura de conectare
    //dupa initializare
    uint8 initial_advertising_enable = TRUE;
    //în cazul utilizării unei declarații care nu se alătură
    uint8 advType = GAP_ADTYPE_ADV_SCAN_IND;

    Variabilele configurate sunt apoi trecute la stratul GAP pentru a fi utilizate de stiva BLE. Rețineți că modul advertEnable nu pornește imediat, cel puțin nu în timpul inițierii aplicației (simpleBLEBroadcaster_Init). Reclamele vor începe difuzarea după ce stiva de protocoale a început:

    GAPROle_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8), &advertEnable);
    GAPRole_SetParameter(GAPROLE_ADVERT_DATA, sizeof(advertData), advertData);
    GAPROle_SetParameter (GAPROLE_ADV_EVENT_TYPE, sizeof (uint8), &advType).

    Intervalul implicit de reclamă este setat la 100 ms, deși poate fi mărit la 10,24 s, care este maximul permis de specificația de bază BLE. Dacă sunt necesare intervale mai lungi, puteți activa și dezactiva manual transmisia de date utilizând temporizatorul OSAL, de exemplu:

    //Interval între procedurile de conectare (pasul 625 ns, 160 = 100 ms)
    #define DEFAULT_ADVERTISING_INTERVAL 160

    Pentru a vă asigura că reclamele sunt detectate, o regulă generală este ca intervalul de reclamă + 10 să fie mai mic decât fereastra de scanare a observatorului. Aceasta înseamnă că farul trebuie să fie proiectat ținând cont de capabilitățile dispozitivului partener, altfel va dura mult timp pentru a primi pachetele transmise. Implicația este că un interval mai scurt de publicitate va permite detectarea mai rapidă a datelor trimise, deși acest lucru necesită mai multă putere datorită „trezirilor” mai frecvente. Intervalul este setat folosind următorul API:

    uint16 advInt = DEFAULT_ADVERTISING_INTERVAL;
    GAP_SetParamValue(TGAP_LIM_DISC_ADV_INT_MIN, advInt);
    GAP_SetParamValue(TGAP_LIM_DISC_ADV_INT_MAX, advInt);
    GAP_SetParamValue(TGAP_GEN_DISC_ADV_INT_MIN, advInt);
    GAP_SetParamValue (TGAP_GEN_DISC_ADV_INT_MAX, advInt).

    Pentru mai multe informații despre arhitectura aplicației și descrierile API-ului, consultați Ghidul de dezvoltare software.

    Prin utilizarea unui sniffer de pachete TI, datele transmise pot fi monitorizate. Figura 11 prezintă un pachet de la canalul 37 (0x25), care poate fi conectat (ADV_IND). Valoarea AdvA este adresa IEEE, advData include steagurile (0x01) și Datele specifice producătorului (0xFF).

    Rețineți că în exemplul de cod bazat pe BLEv1.4, Datele specifice producătorului nu includ codul companiei, ceea ce înseamnă că nu este în formatul corect conform specificației de bază. Pentru a remedia acest lucru, pur și simplu adăugați codul companiei la AdvertData cu programul de aplicare după cum se arată mai jos. Nu uitați să actualizați lungimea datelor specifice producătorului, care include și o casetă de selectare pentru tipul de date:

    //GAP - date de reclamă (dimensiune maximă = 31 de octeți, deși este mai bine să le păstrați mai scurte pentru a reduce consumul în timpul evenimentului de anunț)
    static uint8 advertData =
    {
    //steaguri; au pus dispozitivul în modul de detectare limitată
    //(conexiune stabilită o dată în 30 de secunde) în loc de modul general de descoperire (anunțuri nu sunt definite)

    CC2650 este optimizat pentru crearea de dispozitive alimentate cu elemente de disc mici - consumul radio în modul de recepție continuă este de doar 5,9 mA.

    Consumul redus de energie al noului cip a permis inginerilor Texas Instruments să creeze un design de referință pentru un senzor wireless de 2,4 GHz pentru monitorizarea mediului care durează mai mult de 10 ani cu o singură baterie CR2032. Senzorul măsoară valorile de temperatură și umiditate și le transmite o dată pe minut sub forma unui pachet BLE difuzat (pachet publicitar Bluetooth Smart neconectabil). Testele practice au arătat o rază de acțiune de până la 130 m în interiorul unei clădiri de birouri.

    Pentru a obține un consum de curent extrem de scăzut în modul de repaus, circuitul folosește un nanotimer unic TPL5110, care are un curent de autoconsum de 35 nA în modul de numărare a timpului de 0,1 s...2 h Comutarea puterii se realizează folosind un comutator analog TS5A3160 cu un curent de scurgere de ±20 nA. Utilizarea acestor componente a dus la un consum la nivelul întregului sistem de 183 nA în modul de repaus (59,97 sec) și un curent mediu de 4,04 mA cu procesorul activ și transmițătorul în funcțiune (30 ms).

    Schema circuitului și designul de lucru al plăcii de circuit imprimat sunt disponibile public, astfel încât dezvoltatorul poate modifica cu ușurință placa prin adăugarea de noi senzori la magistrala I2C. PCB vă permite să utilizați nu numai cipul CC2650, care include suport pentru diverse protocoale wireless, ci și cipul CC2640 (numai Bluetooth Smart) sau CC2630 (numai ZigBee), care sunt complet compatibile cu pin-ul cu CC2650.

    Despre Texas Instruments