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

Dacă vă confruntați cu sarcina de a proiecta o soluție bazată pe dispozitive alimentate de o singură baterie, de a colecta informații pe parcursul 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, inclusiv hardware. și soluții softwareși instrumente de dezvoltare.

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 beacon-uri care distribuie informații folosind reclame, adică difuzări folosind tehnologia Bluetooth Low Energy, care este cunoscută și sub denumirea de marketing Bluetooth Smart.

Bluetooth Low Energy și Bluetooth Smart

Modulul Bluetooth Low Energy poate funcționa în patru diverse moduri, î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, de ex. senzor de temperatura, 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”. Deci, numele 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 ideală pentru balize deoarece are un consum redus de energie și se găsește în majoritatea smartphone-urilor sau a altor dispozitive Bluetooth Smart Ready disponibile pe piață. 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 acele date dinamice cunoscute de dispozitiv sau date care pot fi încărcate în far prin intermediul interfață cu fir de exemplu, prin UART, SPI sau intrare serial USB.

Balize conectabile

Baliza care se conectează este un dispozitiv Bluetooth Low Energy în modul periferic. Un astfel de far poate nu numai să transmită, ci și să primească date, ceea ce permite dispozitiv central(de exemplu, un smartphone) se conectează și interacționează cu serviciile implementate în far. 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 configurabilă care se actualizează ușor 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.

ultima parte pachet transmis– 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 fie publică, fie aleatorie. Adresa publica(Vol. 6.C.1.3, Pagina 2500), în conformitate cu Standardul IEEE 802-2001, este utilizat ca un 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 tipuri variate(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 modifica, de asemenea, în timp, ceea ce o face diferită de o adresă statică. 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ă capabilităț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

Flag-urile modului de detectare sunt biți mascați, diferitele lor semnificații sunt prezentate în Tabelul 3. Dacă nu sunt setate flag-uri de biți, flag-ul tipului de date poate fi omis. De exemplu, nu este necesar pentru un pachet publicitar neconectabil (ADV_NONCONN_IND).

Date specifice producătorului

Atunci când sunt specificate date specifice producătorului (adică sunt definite și formatate numai în conformitate cu propriile reguli 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 este protejat conform Licență MFiși interacț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, ceea ce asigură că balizele pot lucra împreună, chiar dacă au început să transmită în același timp.

Intervalul de reclamă este ales pe baza unui compromis între consumul de energie și latența. Un interval mai mare permite să petreceți mai mult timp în modul inactiv, dar crește și timpul pe care observatorul așteaptă să primească un pachet de difuzare.

Observatorul scanează de obicei la mai puțin de 100% timpi de ciclu pentru a reduce consumul de energie sau pentru a da timp altor protocoale wireless să funcționeze. Bun exemplu- smartphone-uri, 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 în intervale scurte de funcționare. 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 baliza îl acceptă, atunci este trimisă comanda „Scan Request”, la care baliza ar trebui să emită un răspuns de scanare. O Cerere este un pachet gol (fără date), în timp ce un Răspuns este de obicei informații statice, cum ar fi numele sau modelul dispozitivului. Răspunsul este determinat în întregime de dispozitivul în sine. Astfel, acestea ar putea fi date de la unii senzori sau orice alte informații 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, bateriile sunt selectate mai întâi care au o durată de viață suficientă pentru majoritatea aplicațiilor și pot fi produse în mici și produse la buget. Bateriile reîncărcabile pot fi, de asemenea, folosite, iar în unele aplicații, împreună cu încărcare 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 prelucrare 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 realizează comunicații radio folosind protocoale Bluetooth Low Energy.

Dacă dispozitivul este alimentat de la o sursă curent continuu, 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 pt proiecte wireless cu un consum redus de energie, iar farul poate fi echipat cu o sursă de colectare a energiei. Presiune mecanică iar energia solară sunt 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 iesire 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. Difuzarea anunţurilor are loc secvenţial pe trei diverse canale(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 menționat că î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, se aplică cerințe de compatibilitate. cerințe diferite. 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 general, mai mult de mare putere 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ă

La fel ca în orice dezvoltare, 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 variază de la plăci mici alimentate cu disc (CC254XDK-MINI, CC2541DK-SENSOR) până la platforme bogate în funcții ideale pentru simularea dispozitivelor de orice complexitate ( CC2540DK) . informatii detaliate despre aceste instrumente de dezvoltare se află la ti.com/ble.

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

Stiva BLE furnizată de Texas Instruments pentru MCU-urile wireless CC254x oferă o implementare simplă și fiabilă a balizelor 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 publicitar
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 publicitate 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ă anunțurile sunt detectate, există regula generala: Intervalul de anunț + 10 trebuie să fie mai mic decât fereastra de scanare a observatorului. Aceasta înseamnă că baliza trebuie să fie proiectată ținând cont de capacitățile dispozitivului partener, altfel va dura mult timp pentru a primi pachetele transmise. Implicația este că un interval de publicitate mai scurt 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 obtinerea Informații suplimentare Pentru arhitectura aplicației și descrierile API-ului, consultați Ghidul de dezvoltare software.

Folosind un 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 program de aplicare așa 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 publicitare ( dimensiune maximă= 31 de octeți, deși este mai bine să le mențineț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 atinge extreme curent slab consum î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 analogic 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. Placă de circuit imprimat vă permite să utilizați nu numai cipul CC2650, care include suport pentru diverse protocoale wireless, dar și cipuri CC2640 (numai Bluetooth Smart) sau CC2630 (numai ZigBee), care sunt compatibile cu pin-uri cu CC2650.

Despre Texas Instruments

Obiceiul de a fi cu ochii pe telefonul tău devine încet un reflex inconștient. Și dacă cu Căutare iPhone serviciul încorporat poate ajuta cel puțin parțial Găsește-mi iphone-ul, 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, acesta este un mic senzor din plastic care comunică cu lumea exterioară prin intermediul protocol 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 dimensiunea cutiei. Cutia contine Două senzori, doi elemente de fixare din plastic pentru carabine și deținători de chei, precum și o instrucțiune destul de suspectă. Este decorat cu moderație și Limba 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 claritate varianta neagra. 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. Filmul ăsta este, fără exagerare, criminal, și dacă l-ai prezentat cu prostie panoul din spate 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 initia configurare 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 sa) atribuie nume unic. De exemplu, „Chei” pentru senzorul pe care l-ați atârnat pe suportul de cheie. 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 aplicatie mobila interacționează în mai multe alte moduri interesante. De exemplu, puteți configura funcția „Leash”: de îndată ce vă îndepărtați prea mult de senzor, o notificare Push corespunzătoare va fi trimisă către iPhone, iar „eticheta” în sine va începe să redă 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 Pentru fiecare. 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 și învață.


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. Ele pot fi găsite în gări, aeroporturi, muzee și centre de cumparaturi. Î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; )


Medierea și calcularea diferenței

public double getAvg() ( if (needRecalc) ( for (int idx = 0; idx)< 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; }


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ă.


private void updateLevelDiff(duble levelDiff)

private void updateLevelDiff(double levelDiff) ( long deltaTime = System.currentTimeMillis() - lastUpdateTime; int progres = (int) Math.floor(100.0 * levelDiff); // Scalare pentru afișarea plăcută a ecranului // Salvați direcția dacă (deltaTime > TIME_PERIOD ) ( // Nu dorim să salvăm rulmenții prea des dacă (progres< mThreshold) { // Если разница в уровнях больше порога, то мы как раз направлены на источник сигнала addBearing(); numUpdates++; } lastUpdateTime = System.currentTimeMillis(); } //Далее идёт обновление GUI }


Acum haideți să INVERȚIM!


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.


Standard Versiune Bluetooth 5 a anunțat chiar și o metodă similară pentru poziționarea 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: o singura dataȘ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 se transformă într-un fakap, și anume că acesta funcționează pe smartphone-ul 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, există, 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. În caz contrar, va fi imposibil să le corelezi între ele.



Există unele speranțe că situația poate fi mai bună pe iOS. De macar mai uniform pe întregul spectru al dispozitivelor 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ă.

Chei, telefon, rucsac, husă pentru ochelari, portofel, suport pentru cărți de vizită - în viața noastră există multe lucruri mărunte care ne ușurează viața și se rătăcesc în cele mai nepotrivite. 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 caută chei (balize, etichete), cumpără dispozitive în miniatură și ușurează viața pentru tine și pentru cei dragi.

Cu ajutorul balizelor minuscule, 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.

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

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

În setările aplicației kit-ului de căutare, puteți seta valori critice gamă. 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 indicații 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 ei 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ă. Cel mai mult, această tehnologie amintește de jocul „cald și rece” al copiilor. 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 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 cele mai recente coordonate cunoscute pe hartă. Pentru a căuta, pot fi folosite chiar și semnalizatoare de căutare mai avansate smartphone-uri terțe, chiar și fără știrea proprietarilor lor. Principiul de funcționare se bazează pe activarea unui semnal de alarmă atunci când eticheta este îndepărtată 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 altele motoare de căutare, dar nivelul de securitate al unor astfel de truse 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 unități flash.

RuuviTag – Senzor far Bluetooth cu deschis cod sursa pentru producători, dezvoltatori, companii IoT, studenți și utilizatori obișnuiți.

Bluetooth beacon și Physical Web sunt subiecte care sunt discutate în mod activ astăzi în comunitatea IT globală. În viitorul apropiat, vom fi înconjurați de mici rețele inteligente de semnalizatoare Bluetooth care analizează mediu inconjuratorși oferă informații despre vânzări, program transport public sau afișe publicitare. Pe piața occidentală, balizele Bluetooth sunt deja folosite de giganți precum McDonald's și rețeaua de vânzare cu amănuntul Tesco.

Pentru a profita de capacitățile pe care le oferă balizele Bluetooth, trebuie doar să activați Bluetooth pe dispozitivul dvs. mobil. Nu este nevoie să instalați program special. Baliza va detecta un dispozitiv mobil în raza de acțiune și va trimite un mesaj. Poate conține informații despre o vânzare la un magazin pe lângă care treceți. Sau farul poate avea un buton, iar pentru a obține informații despre programul de la o stație de autobuz, trebuie doar să apăsați butonul și un mesaj cu programul va fi trimis pe dispozitivul dvs. mobil.

RuuviTag diferă de Apple iBeacon și Google Eddystone prin codul său open source și prezența senzorilor - temperatură, umiditate relativă, presiune atmosferică, altitudine și accelerație.

Nu este necesară nicio programare pentru a utiliza baliza RuuviTag în majoritatea scenariilor. Toate setările sunt ușor de realizat într-o aplicație specială pentru mobil.

Baliza Bluetooth RuuviTag este alimentată de o baterie pentru tabletă, care poate funcționa până la 10 ani, în funcție de condițiile de funcționare. Trackerul este compatibil cu dispozitivele mobile care rulează Android (4.3.2 sau o versiune ulterioară) și iOS (8.0 și o versiune ulterioară). RuuviTag este gata să lucreze cu noul Standard Bluetooth 5 și este compatibil cu platforma hardware Arduino.

O campanie de crowdfunding pe platforma de crowdfunding Kickstarter a strâns peste 200% din suma țintă în 10 ore. La momentul publicării, proiectul era susținut de peste 1.000 de oameni cu peste 61.000 USD. Suma țintă 10.000 USD.

Prețul farului Bluetooth RuuviTag cu toți senzorii este de la 25 USD (1 bucată) la 15,98 USD (50 bucăți). Data de livrare planificată este octombrie 2016.

Dacă găsiți o eroare, evidențiați o bucată de text și faceți clic Ctrl+Enter.