- BLE และ Bluetooth Beacon คืออะไร?
- BLE Technology ทำงานและใช้กับ Beacons อย่างไร?
- Eddystone Beacon คืออะไร?
- ข้อกำหนด
- ตั้งค่า Raspberry Pi สำหรับ Eddystone Beacon
- ปรับกำลังส่งสัญญาณให้เหมาะสมโดยการปรับเทียบกำลัง Tx
- การใช้งาน Eddystone Bluetooth Beacon
บลูทู ธ เป็นหนึ่งในเทคโนโลยีการปฏิวัติในการถ่ายโอนข้อมูลแบบไร้สายควบคุมอุปกรณ์อื่น ๆ สร้างระบบอัตโนมัติภายในบ้านเป็นต้น แต่คุณเคยสงสัยหรือไม่ว่าบลูทู ธ ยังสามารถใช้ในการกระจายข้อมูลไปยังอุปกรณ์ใกล้เคียงเพื่อแสดงข้อมูลที่สำคัญได้ง่าย การชำระเงินเป็นต้นมีโปรโตคอลที่ Google พัฒนาขึ้นเพื่อทำงานซึ่งสามารถใช้งานได้อย่างง่ายดายในRaspberry Pi เพื่อให้เป็นผู้ออกอากาศ Bluetooth Beacon
ในบทช่วยสอนนี้เราจะมาทำความรู้จักกับBLE (Bluetooth Low Energy) และ Bluetooth beacon และติดตั้ง Eddystone Bluetooth Beacon ใน Raspberry Piเพื่อออกอากาศ URL ง่ายมากที่จะแปลง Raspberry Pi เป็น Bluetooth Beacon เนื่องจากมี Bluetooth ในตัว
BLE และ Bluetooth Beacon คืออะไร?
บลูทู ธ พลังงานต่ำเป็นชื่อที่บ่งบอกถึงสิ้นเปลืองพลังงานน้อยกว่าคลาสสิกบลูทู ธ ทำได้โดยการส่งข้อมูลเมื่อจำเป็นด้วยการอัพเดตเป็นระยะที่กำหนดไว้ล่วงหน้า แต่แตกต่างจากบลูทู ธ แบบคลาสสิกที่ไม่ได้ใช้เพื่อถ่ายโอนไฟล์หรือเพลง อุปกรณ์ BLE ทำงานร่วมกับ Bluetooth V4.0 และสามารถทำงานโดยใช้พลังงานต่ำในฐานะเซิร์ฟเวอร์หรือในฐานะไคลเอนต์ซึ่งทำให้ BLE เป็นตัวเลือกที่เหมาะสำหรับบีคอนนาฬิกาอัจฉริยะวงดนตรีออกกำลังกาย ฯลฯ ในทางกลับกันบลูทู ธ คลาสสิกเป็นเพียงเครื่องเก่าธรรมดา โปรโตคอลบลูทู ธ ที่เราใช้ในการถ่ายโอนไฟล์และข้อมูลอื่น ๆ อุปกรณ์ BLE เกือบทั้งหมดมีฟังก์ชัน Bluetooth แบบคลาสสิกที่เกี่ยวข้อง ก่อนหน้านี้เราได้อธิบายรายละเอียด BLE ด้วย ESP32
บีคอนบลูทู ธ:
บีคอนเป็นอุปกรณ์ฮาร์ดแวร์ที่ถ่ายทอดข้อความบางส่วนไปยังอุปกรณ์อิเล็กทรอนิกส์ที่ใกล้เคียงและประพฤติเป็นโฆษกเทคโนโลยีนี้ช่วยให้อุปกรณ์พกพาสามารถดำเนินการบางอย่างเมื่ออยู่ใกล้กับอุปกรณ์บีคอน ตอนนี้บีคอนสามารถใช้งานได้โดยใช้ BLE และบลูทู ธ แบบคลาสสิก เนื่องจากสมาร์ทโฟนและอุปกรณ์อิเล็กทรอนิกส์อื่น ๆ ส่วนใหญ่เข้ากันได้กับ BLE และสามารถใช้เป็นตัวรับสัญญาณ Beacon ได้ดังนั้นการใช้บีคอน BLE จึงมีประสิทธิภาพมากกว่าเมื่อเปรียบเทียบกับสัญญาณบลูทู ธ แบบคลาสสิกเพื่อลดการใช้พลังงาน
โดยเฉลี่ยแล้วสัญญาณบลูทู ธ พลังงานต่ำสามารถส่งสัญญาณ BLE ได้ถึง80 เมตร
BLE Technology ทำงานและใช้กับ Beacons อย่างไร?
BLE เป็นเทคโนโลยีที่ใช้พลังงานต่ำซึ่งออกแบบมาสำหรับการสื่อสารระยะสั้นและเป็นที่ต้องการซึ่งอายุการใช้งานแบตเตอรี่เป็นปัจจัยที่สำคัญมากกว่าอัตราข้อมูลสูง การถ่ายโอนข้อมูลในการสื่อสารนี้เป็นแบบทางเดียวเท่านั้น สัญญาณ BLE ส่งแพ็กเก็ตข้อมูลขนาดเล็กในช่วงเวลาปกติ แพ็กเก็ตข้อมูลเหล่านี้ได้รับและถอดรหัสโดยแอพสแกนเนอร์บีคอนที่ติดตั้งในสมาร์ทโฟน ข้อมูลที่ได้รับนี้ทำให้เกิดการดำเนินการต่างๆเช่นการโปรโมตผลิตภัณฑ์หรือการผลักดันข้อความ
ในบีคอนบลูทู ธ หมายเลข ID จะถูกส่ง 10 ครั้งทุกวินาทีผ่านช่อง BLE จากนั้นอุปกรณ์ที่เปิดใช้งานบลูทู ธ จะได้รับหมายเลข ID นี้และแอปสแกนเนอร์บีคอนได้รับการยอมรับจากนั้นจะเชื่อมโยงกับการดำเนินการเช่นดาวน์โหลดแอปหรือเนื้อหาที่เก็บไว้ในระบบคลาวด์และแสดงบนสมาร์ทโฟน
Eddystone Beacon คืออะไร?
Eddystone เป็นโปรโตคอลที่พัฒนาโดย Googleซึ่งอนุญาตให้เผยแพร่ข้อความทางเดียวไปยังอุปกรณ์ BLE เฟรม Eddystone-URL เป็นกระดูกสันหลังของ Physical Web ซึ่งช่วยในการค้นพบเนื้อหาเว็บโดยรอบ Beacon สามารถถ่ายทอดข้อมูลสี่ประเภทโดยใช้โปรโตคอล Eddystone มีดังต่อไปนี้:
- Eddystone-URL สำหรับการแพร่ภาพที่อยู่ URL
- Eddystone-UID สำหรับการออกอากาศรหัสบีคอน
- Eddystone-TLM สำหรับการส่งสัญญาณทางไกลของสัญญาณเช่นอุณหภูมิของอุปกรณ์ความแรงของแบตเตอรี่เป็นต้น
- Eddystone-EID เพื่อความปลอดภัย
นอกจากนี้ยังมีบีคอนประเภทอื่น ๆ เช่น iBeacon ซึ่งมีไว้สำหรับอุปกรณ์ที่รองรับ iOS แต่Eddystone ใช้สำหรับอุปกรณ์ Android เท่านั้น โปรดทราบว่า Google ได้ยกเลิกการแจ้งเตือน Nearby แล้วตอนนี้ผู้ใช้จะต้องติดตั้งแอพสแกนเนอร์บีคอนพิเศษที่จะแสดงเนื้อหาที่ออกอากาศ
ในบทช่วยสอนนี้เราจะใช้Raspberry Pi เป็น Eddystone Beaconและมุ่งเน้นไปที่ที่อยู่ URL ที่ออกอากาศโดยใช้ Eddystone URL เพื่อให้ทุกคนสามารถเข้าถึงข้อมูลที่ออกอากาศได้อย่างง่ายดายด้วยความช่วยเหลือของอุปกรณ์ Android ของตน
ข้อกำหนด
ที่นี่จำเป็นต้องใช้ Raspberry Pi เท่านั้นในการสร้าง Bluetooth Beacon นี้ ควรเป็น Raspberry Pi 2 หรือใหม่กว่าโดยมี Raspbian Jessie หรือ OD ที่ใหม่กว่าติดตั้งอยู่
ที่นี่เราจะใช้ SSH เพื่อเข้าถึง Raspberry Pi บนแล็ปท็อป คุณสามารถใช้การเชื่อมต่อ VNC หรือเดสก์ท็อประยะไกลบนแล็ปท็อปหรือสามารถเชื่อมต่อ Raspberry pi กับจอภาพ เรียนรู้เพิ่มเติมเกี่ยวกับการตั้งค่า Raspberry Pi โดยไม่ต้องใช้จอภาพ
ตั้งค่า Raspberry Pi สำหรับ Eddystone Beacon
มันง่ายมากในการตั้งค่าตัวกระจายสัญญาณ Eddystoneบน Raspberry Pi มันเกี่ยวข้องกับ 3 คำสั่งเท่านั้น
สามารถทำได้โดยการกำหนดค่า HCI (Host controller Interface) ซึ่งสามารถเข้าถึงได้โดยใช้hciconfig commad หากต้องการตรวจสอบสิ่งที่สามารถทำได้โดยใช้คำสั่งนี้ให้ป้อนคำสั่งด้านล่างในเทอร์มินัล
hciconfig -h
1. ก่อนอื่นเราต้องเปิดใช้งานอุปกรณ์ Bluetooth บน Raspberry Pi ของเราโดยใช้คำสั่งด้านล่าง
sudo hciconfig hci0 ขึ้น
2. ตอนนี้เราต้องตั้งค่าบลูทู ธ เป็นอุปกรณ์ "โฆษณาและเชื่อมต่อไม่ได้"โดยใช้คำสั่งด้านล่าง
sudo hciconfig hci0 leadv 3
3. คำสั่งด้านบนทำให้อุปกรณ์เรียกใช้บริการกระจายเสียงตอนนี้เพียงแค่ป้อนข้อมูลบีคอนในคำสั่งถัดไปซึ่งมีข้อมูลเฟรมที่แตกต่างกันและ URL ในรูปแบบเลขฐานสิบหก เรียกใช้คำสั่งด้านล่างเพื่อเริ่มการกระจายสัญญาณบีคอน
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
คำสั่งนี้จะเผยแพร่ URL
ในการตรวจสอบข้อความที่ออกอากาศบนสมาร์ทโฟนของคุณให้ดาวน์โหลด Physical Web App หรือเครื่องสแกน Beacon บนสมาร์ทโฟน Android ของคุณและเริ่มการสแกน คุณจะเห็นลิงค์ที่ออกอากาศในแอพดังที่แสดงด้านล่าง คลิกที่ลิงค์เพื่อเยี่ยมชมและเปิดเว็บไซต์ในเบราว์เซอร์
ตอนนี้ให้เข้าใจเลขฐานสิบหกเข้ารหัสของข้อความในตารางด้านล่างเราได้ให้คำอธิบายของแต่ละค่าที่มีอยู่ในรหัส:
มูลค่า |
คำอธิบาย |
---|---|
0x08 |
#OGF = ฟิลด์กลุ่มปฏิบัติการ = กลุ่มคำสั่งบลูทู ธ = 0x08 |
0x0008 |
#OCF = ฟิลด์คำสั่งการดำเนินการ = HCI_LE_Set_Advertising_Data = 0x0008 |
1 ค |
ความยาว. เลขฐานสิบหก 1c แปลงเป็นฐานสิบ 23 ซึ่งเป็นจำนวนไบต์ที่ตามมา |
02 |
ความยาว |
01 |
แฟล็กค่าชนิดข้อมูล |
06 |
แฟล็กข้อมูล |
03 |
ความยาว |
03 |
รายการค่าชนิดข้อมูล UUIDs บริการ 16 บิตทั้งหมด |
aa |
UUID Eddystone 16 บิต |
fe |
UUID Eddystone 16 บิต |
14 |
ความยาว. เลขฐานสิบหก 14 แปลงเป็นทศนิยม 15 ตำแหน่งซึ่งเป็นจำนวนไบต์ที่ตามมา |
16 |
ค่าชนิดข้อมูลบริการ |
aa |
UUID Eddystone 16 บิต |
fe |
UUID Eddystone 16 บิต |
10 |
ประเภทเฟรม = URL |
00 |
TX Power (ควรปรับเทียบ) |
02 |
โครงร่าง URL (http: // = 0x02) |
63 |
'c' เป็นเลขฐานสิบหก |
69 |
'i' เป็นเลขฐานสิบหก |
72 |
'r' เป็นเลขฐานสิบหก |
63 |
'c' เป็นเลขฐานสิบหก |
75 |
"u" เป็นเลขฐานสิบหก |
69 |
'i' เป็นเลขฐานสิบหก |
74 |
't' เป็นเลขฐานสิบหก |
64 |
'd' เป็นเลขฐานสิบหก |
69 |
'i' เป็นเลขฐานสิบหก |
67 |
'g' เป็นเลขฐานสิบหก |
65 |
'e' เป็นเลขฐานสิบหก |
73 |
's' เป็นเลขฐานสิบหก |
74 |
't' เป็นเลขฐานสิบหก |
07 |
. com (.com = 0x07) |
00 |
|
00 |
|
00 |
หากต้องการเผยแพร่ URL ที่กำหนดเองโดยใช้ Raspberry Pi Bluetooth Beaconเพียงแค่แปลงอักขระ URL เป็นเลขฐานสิบหกโดยใช้เครื่องมือออนไลน์ใด ๆ และใส่ไว้ในคำสั่งด้านบน อักขระสูงสุดที่สามารถส่งได้คือ 16 ตัวหาก URL ยาวเกินไปให้ย่อโดยใช้บริการย่อ URL เช่น bitly.com จากนั้นให้พอดีกับข้อมูลในตารางด้านบน
การแปลงอักขระแต่ละตัวให้เป็นเลขฐานสิบหกนั้นยุ่งยากและใช้เวลานานมาก ดังนั้นเพื่อให้งานของคุณง่ายขึ้นมีเครื่องคำนวณคำสั่ง Eddystone URL ที่คุณเพียงแค่ป้อน URL ที่คุณต้องการออกอากาศและคุณจะได้รับคำสั่งของคุณพร้อมเช่นนี้
บีคอนบลูทู ธ กำลังออกอากาศ URL และทำงานได้ดี แต่มีอีกสิ่งหนึ่งที่ต้องปรับเทียบนั่นคือพลังงาน Tx ซึ่งเป็นค่าหนึ่งในคำสั่งด้านบนเพื่อให้ได้ระยะทางที่แม่นยำจากสัญญาณบลูทู ธ
ปรับกำลังส่งสัญญาณให้เหมาะสมโดยการปรับเทียบกำลัง Tx
ในเฟรม Eddystone มีส่วนประกอบไม่กี่ชิ้นที่ส่งผ่านและกำลัง Tx เป็นหนึ่งในนั้นที่บอกความแรงของสัญญาณ ด้วยการถอดรหัสความแรงของสัญญาณเครื่องรับจะหาระยะทางจากเครื่องกระจายสัญญาณ Beacon ค่าของพลังงาน Tx สามารถอยู่ในช่วง -12 ถึง 10 เราต้องหาค่าโดยการตีและวิธีการทดลองเพื่อให้ได้ระยะที่แม่นยำ สำหรับสิ่งนี้ให้ปรับค่าของพลังงาน Tx ในคำสั่ง Eddystone message และวางสมาร์ทโฟนของคุณไว้ที่ระยะ 1 เมตรโดยเปิดแอปเครื่องสแกน Beacon ตอนนี้เริ่มใส่ค่าของกำลัง Tx ในคำสั่งจาก 0 ถึงค่าลบ อย่าลืมแปลงค่าทศนิยมในรูปแบบฐานสิบหกสำหรับวิธีนี้ใช้เครื่องมือแปลงค่าออนไลน์เพื่อการถอดรหัสที่ง่ายและใช้ตัวเลขสองหลักสุดท้ายของค่าที่แปลงแล้ว ในกรณีของฉันค่าเฮกซ่าคือf4. ตรวจสอบระยะทางในแอพสแกนเนอร์ปรับค่าจนกว่าจะแสดงประมาณ 1 ม. และหลังจากนั้นคุณจะต้องใช้ตัวกระจายสัญญาณ URL ของ Eddystone ด้วยระยะทางที่แม่นยำ
การใช้งาน Eddystone Bluetooth Beacon
นี่คือบางส่วนของกรณีการใช้งานสำหรับบีคอน BLE:
- การค้าปลีกที่เปิดใช้งาน BLE:เทคโนโลยีนี้สามารถใช้เพื่อดึงดูดลูกค้าในบริเวณใกล้เคียงกับร้านค้าโดยการโฆษณาข้อเสนอและการขายที่น่าตื่นเต้น
- เหตุการณ์ที่เปิดใช้งาน BLE beacon: สามารถใช้เพื่อลงทะเบียนได้ง่ายในงานและในสนามกีฬาด้วยการชำระเงินที่ง่ายดาย
- บีคอน BLE ในอสังหาริมทรัพย์: คุณสามารถรับรายละเอียดทั้งหมดของคุณสมบัติที่มีอยู่ใกล้คุณและสามารถจองได้ในสัมผัสเดียว
มีแอปพลิเคชั่นอื่น ๆ อีกมากมายที่คุณสามารถคิดและใช้งานได้ตามข้อกำหนด
ดังนั้นวิธีการที่ราสเบอร์รี่ Pi สามารถใช้ในการเผยแพร่ข้อความใด ๆ หรือ URL โดยการแปลงมันกลายเป็นบลูทู ธ Beacon ใช้ Eddystone ตรวจสอบวิดีโอสาธิตด้านล่าง
/>