- Ano ang BLE at Bluetooth Beacon?
- Paano gumagana ang BLE Technology at ginagamit sa mga Beacon?
- Ano ang Eddystone Beacon?
- Mga Kinakailangan
- I-setup ang Raspberry Pi para sa Eddystone Beacon
- I-optimize ang Transmitting Signal Power sa pamamagitan ng Pag-calibrate ng Tx Power
- Mga aplikasyon ng Eddystone Bluetooth Beacon
Ang Bluetooth ay isa sa rebolusyonaryong teknolohiya upang ilipat nang wireless ang data, kontrolin ang iba pang mga aparato, bumuo ng mga system ng automation ng bahay atbp. Ngunit naisip mo ba na ang Bluetooth ay maaari ding magamit para sa pag-broadcast ng anumang impormasyon sa mga kalapit na aparato upang maipakita ang mahahalagang impormasyon, madali, madali. pag-checkout atbp. Mayroong isang protokol na binuo ng Google upang maisagawa ang gawain na maaaring madaling mai-deploy sa Raspberry Pi upang gawin itong broadcaster ng Bluetooth Beacon.
Sa tutorial na ito malalaman namin ang tungkol sa BLE (Bluetooth Low Energy) at Bluetooth beacon at mai-install ang Eddystone Bluetooth Beacon sa Raspberry Pi upang mag-broadcast ng isang URL. Napakadaling i-convert ang Raspberry Pi sa isang Bluetooth Beacon dahil mayroon itong built in Bluetooth.
Ano ang BLE at Bluetooth Beacon?
Ang Bluetooth Mababang Enerhiya, tulad ng ipinapahiwatig ng pangalan ay gumagamit ng mas kaunting lakas kaysa sa klasikong Bluetooth. Nakamit ito sa pamamagitan ng pagpapadala ng data kung kinakailangan sa paunang natukoy na pana-panahong pag-update. Ngunit hindi katulad ng klasikong Bluetooth hindi ito ginagamit upang ilipat ang Mga File o Musika. Ang isang aparato na BLE ay gumagana sa Bluetooth V4.0 at maaaring gumana nang may mababang lakas bilang isang server o bilang isang kliyente na ginagawang perpektong pagpipilian para sa mga beacon, matalinong relo, fitness band atbp. Ang klasikong Bluetooth sa kabilang banda ay simpleng payak na Ang Bluetooth protocol na ginagamit namin upang maglipat ng mga file at iba pang data. Halos lahat ng mga aparatong BLE ay may pag-andar ng Klasikong Bluetooth na nauugnay dito. Nauna naming ipinaliwanag ang BLE nang detalyado sa ESP32.
Mga Bluetooth Beacon:
Ang mga beacon ay ang mga aparato sa hardware na nagsasahimpapaw ng ilang mga mensahe sa kalapit na mga elektronikong aparato at kumilos bilang isang Broadcaster. Pinapayagan ng teknolohiyang ito ang mga portable na aparato upang magsagawa ng ilang mga pagkilos kapag malapit sila sa beacon device. Ngayon, ang mga beacon ay maaaring ipatupad gamit ang BLE at klasikong Bluetooth. Dahil, ang karamihan sa mga smartphone at iba pang mga elektronikong aparato ay katugma sa BLE at maaaring magamit bilang tatanggap ng Beacon kaya't ang pagpapatupad ng BLE beacon ay mas mahusay kaysa ihambing sa klasikong Bluetooth beacon upang mabawasan ang pagkonsumo ng kuryente.
Sa isang average, ang isang Bluetooth Low Energy beacon ay maaaring magpadala ng mga signal ng BLE sa 80 metro.
Paano gumagana ang BLE Technology at ginagamit sa mga Beacon?
Ang BLE ay mababang teknolohiya ng pagkonsumo ng kuryente na idinisenyo para sa maikling komunikasyon at mas gusto ito kung saan ang buhay ng baterya ay mas mahalagang kadahilanan kaysa sa mataas na rate ng data. Ang paglilipat ng data sa komunikasyon na ito ay one-way lamang. Naghahatid ang BLE beacon ng maliliit na mga packet ng data sa regular na agwat ng oras. Ang mga data packet na ito ay natanggap at na-decode ng beacon scanner app na naka-install sa mga smartphone. Ang natanggap na data na ito ay nagpapalitaw ng mga pagkilos tulad ng paglulunsad ng isang produkto o pagtulak ng isang mensahe.
Sa beacon ng Bluetooth ang isang numero ng ID ay naihahatid nang 10 beses bawat segundo ng ito sa pamamagitan ng mga BLE channel. Pagkatapos ang numero ng ID na ito ay natanggap ng aparatong pinagana ng Bluetooth at kinikilala ng beacon scanner app, nai-link ito sa isang pagkilos, tulad ng pag-download ng isang app o piraso ng nilalaman na nakaimbak sa cloud, at ipinapakita ito sa smartphone.
Ano ang Eddystone Beacon?
Ang Eddystone ay isang protokol na binuo ng Google na nagbibigay-daan sa pag-broadcast ng isang mensahe sa mga BLE device. Ang frame ng Eddystone-URL ay bumubuo ng gulugod ng Physical Web, na tumutulong sa pagtuklas ng nilalaman ng web sa mga nakapaligid. Maaaring mag-broadcast ang Beacon ng apat na uri ng data gamit ang Eddystone protocol. Ang mga ito ay ang mga sumusunod:
- Eddystone-URL para sa pag-broadcast ng mga address ng URL
- Eddystone-UID para sa pag-broadcast ng mga beacon ID
- Eddystone-TLM para sa pag-broadcast ng telemetry ng beacon tulad ng temperatura ng aparato, lakas ng baterya, atbp.
- Eddystone-EID para sa seguridad.
Mayroon ding iba pang mga uri ng mga beacon tulad ng iBeacon na para sa mga sinusuportahang aparato ng iOS, ngunit ang Eddystone ay para lamang sa mga Android device. Tandaan din na hininto ng Google ang Mga Kalapit na Abiso, ngayon ang gumagamit ay kailangang mag-install ng dalubhasang beacon scanner app na magpapakita ng nai-broadcast na nilalaman.
Sa tutorial na ito, gagamitin namin ang Raspberry Pi bilang Eddystone Beacon at ituon ang pansin sa pag-broadcast ng URL address gamit ang Eddystone URL upang ang sinuman ay madaling ma-access ang nai-broadcast na impormasyon sa tulong ng kanilang mga Android device.
Mga Kinakailangan
Dito lamang ang Raspberry Pi ang kinakailangan upang mabuo ang Bluetooth Beacon na ito. Dapat itong maging Raspberry Pi 2 o mas bago kasama ang Raspbian Jessie o isang mas bagong OD na naka-install dito.
Dito, gagamitin namin ang SSH upang ma-access ang Raspberry Pi sa laptop. Maaari mong gamitin ang koneksyon ng VNC o Remote Desktop sa laptop, o maaaring ikonekta ang iyong Raspberry pi sa isang monitor. Matuto nang higit pa tungkol sa pag-set up ng Raspberry Pi nang walang ulo dito nang walang monitor.
I-setup ang Raspberry Pi para sa Eddystone Beacon
Napakadali i-set up ang Eddystone broadcaster sa Raspberry Pi. Nagsasangkot lamang ito ng 3 mga utos.
Maaari itong magawa sa pamamagitan ng pag-configure ng HCI (Host controller Interface) na maaaring ma-access gamit ang hciconfig commad. Upang suriin kung ano ang maaaring gawin gamit ang utos na ito, ipasok ang utos sa ibaba sa terminal.
hciconfig -h
1. Una, kailangan naming Paganahin ang aparato ng Bluetooth sa aming Raspberry Pi gamit ang utos sa ibaba.
sudo hciconfig hci0 pataas
2. Ngayon, kailangan naming Itakda ang Bluetooth upang "mag-advertise at hindi makakonekta" na aparato gamit ang ibaba ng utos.
sudo hciconfig hci0 leadv 3
3. Sa itaas ng mga utos gawin ang aparato upang magpatakbo ng serbisyo sa pag-broadcast, ngayon ipasok lamang ang data ng beacon sa susunod na utos na naglalaman ng iba't ibang impormasyon ng mga frame at URL sa hexadecimal format. Patakbuhin ang utos sa ibaba upang simulan ang pag-broadcast ng beacon.
sudo hcitool -i hci0 cmd 0x08 0x0008 1c 02 01 06 03 03 aa fe 14 16 aa fe 10 00 02 63 69 72 63 75 69 74 64 69 67 65 73 74 07 00 00 00
Ii-broadcast ng utos na ito ang URL na
Upang suriin ang nai-broadcast na mensahe sa iyong smart phone, i-download ang Physical Web App o Beacon scanner sa iyong Android smartphone at simulan ang pag-scan. Makikita mo ang nai-broadcast na link sa app tulad ng ipinakita sa ibaba. Mag-click sa link upang bisitahin at buksan ang website sa browser.
Hinahayaan ngayong maunawaan ang hexadecimal coding ng mensahe. Sa talahanayan sa ibaba binigyan namin ng paliwanag ang bawat halaga na naroroon sa code:
Halaga |
Paglalarawan |
---|---|
0x08 |
#OGF = Operation Group Field = Bluetooth Command Group = 0x08 |
0x0008 |
#OCF = Operation Command Field = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Haba Ang hexadecimal 1c ay nagko-convert sa 23 decimal na kung saan ay ang bilang ng mga sumusunod na byte. |
02 |
Haba |
01 |
Halaga ng uri ng data ng mga flag |
06 |
Data ng mga flag |
03 |
Haba |
03 |
Kumpletuhin ang listahan ng 16-bit na halaga ng uri ng data ng Mga Serbisyo UUIDs |
aa |
16-bit Eddystone UUID |
fe |
16-bit Eddystone UUID |
14 |
Haba Ang hexadecimal 14 ay nagko-convert sa 15 decimal na kung saan ay ang bilang ng mga sumusunod na byte |
16 |
Halaga ng uri ng data ng Data ng Serbisyo |
aa |
16-bit Eddystone UUID |
fe |
16-bit Eddystone UUID |
10 |
Uri ng Frame = URL |
00 |
TX Power (dapat itong i-calibrate) |
02 |
Scheme ng URL (http: // = 0x02) |
63 |
'c' sa hexadecimal |
69 |
'i' sa hexadecimal |
72 |
'r' sa hexadecimal |
63 |
'c' sa hexadecimal |
75 |
'u' sa hexadecimal |
69 |
'i' sa hexadecimal |
74 |
't' sa hexadecimal |
64 |
'd' sa hexadecimal |
69 |
'i' sa hexadecimal |
67 |
'g' sa hexadecimal |
65 |
'e' sa hexadecimal |
73 |
nasa hexadecimal |
74 |
't' sa hexadecimal |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Upang mai- broadcast ang anumang pasadyang URL gamit ang Raspberry Pi Bluetooth Beacon, i-convert lamang ang mga character ng URL sa hexadecimal gamit ang anumang online na tool at ilagay ito sa utos sa itaas. Ang maximum na mga character na maaaring mailipat ay 16, kung ang URL ay masyadong mahaba pagkatapos ay paikliin ito gamit ang anumang mga serbisyo ng mga URL shortners tulad ng bitly.com at pagkatapos ay magkasya ang data sa talahanayan sa itaas.
Napakahirap at matagal na oras upang mai-convert ang bawat character sa Hexadecimal na katumbas. Kaya't upang gawing madali ang iyong trabaho ay mayroong isang calculator ng utos ng Eddystone URL kung saan kailangan mo lamang ipasok ang URL na nais mong mai-broadcast at ihahanda mo ang iyong utos tulad nito.
Ang Bluetooth beacon ay nag-broadcast ngayon ng URL at gumagana nang maayos ngunit may isa pang bagay na dapat i-calibrate na ang Tx power na isa sa halaga sa utos sa itaas upang makuha ang tumpak na distansya mula sa Bluetooth beacon.
I-optimize ang Transmitting Signal Power sa pamamagitan ng Pag-calibrate ng Tx Power
Sa frame ng Eddystone mayroong ilang mga bahagi na naipadala at ang lakas na Tx ay isa sa mga ito na nagsasabi sa lakas ng signal. Sa pamamagitan ng pag-decode ng lakas ng signal, nahahanap ng tatanggap ang distansya mula sa Beacon broadcaster. Ang halaga ng lakas na Tx ay maaaring saklaw mula -12 hanggang 10. Kailangan nating hanapin ang halaga sa pamamagitan ng hit at pagsubok na pamamaraan upang makuha ang tumpak na distansya. Para dito, ayusin ang halaga ng lakas na Tx sa utos ng mensahe ng Eddystone at ilagay ang iyong smartphone sa layo na 1 m na binuksan ang Beacon scanner app. Simulan ngayon ang paglalagay ng mga halaga ng lakas na Tx sa utos mula 0 hanggang sa mga negatibong halaga. Tandaang i-convert ang mga decimal na halaga sa hexa decimal format, para sa paggamit na ito ng mga tool sa converter ng online na halaga para sa madaling pag-decode at kunin ang huling dalawang digit ng na-convert na halaga. Sa aking kaso ang halaga ng hexa ay f4. Suriin ang distansya sa scanner app, ayusin ang mga halaga hanggang sa magpakita ito ng humigit-kumulang na 1m at pagkatapos nito ay gagamitin mo ang Eddystone URL broadcaster na may tumpak na distansya.
Mga aplikasyon ng Eddystone Bluetooth Beacon
Narito ang ilan sa mga kaso ng paggamit para sa BLE beacon:
- Pinapagana ng tingi ang tingi: Ang teknolohiyang ito ay maaaring magamit upang maakit ang mga customer sa paligid ng mga tindahan sa pamamagitan ng pag-a-advertise ng mga nakagaganyak na alok at benta.
- Mga kaganapan na pinagana ng beacon: Maaari itong magamit upang madaling magparehistro sa mga kaganapan at sa mga istadyum na may madaling pag-checkout sa pagbabayad.
- BLE beacon sa Real Estate: Maaari mong makuha ang lahat ng mga detalye ng mga pag-aari na magagamit na malapit sa iyo at maaaring mag-book ng isang ugnayan.
Maraming iba pang mga application na maaari mong maiisip at ipatupad alinsunod sa mga kinakailangan.
Kaya't paano ito magagamit ng Raspberry Pi upang mag-broadcast ng anumang mensahe o URL sa pamamagitan ng pag-convert nito sa isang Bluetooth Beacon gamit ang Eddystone. Suriin ang demonstrasyon ng Video sa ibaba.
/>