- Bluetooth Low Energy (BLE) คืออะไร?
- เทคโนโลยี iBeacon ใช้ BLE อย่างไร
- iBeacon มีความสำคัญอย่างไร?
- ส่วนประกอบที่จำเป็น
- การตั้งค่าโมดูล HM10 BLE ในโหมด iBeacon
- ใช้ BLE Scanner Android App สำหรับ iBeacon
คำศัพท์เทคโนโลยี Beacon และ iBeacon มักใช้แทนกันได้ iBeacon ได้รับการแนะนำโดย Apple และเป็นการนำเทคโนโลยีไร้สาย Bluetooth พลังงานต่ำ (BLE) ของ Apple มาใช้เพื่อให้ข้อมูลและบริการตามสถานที่ต่างๆแก่ iPhone ของ Apple และอุปกรณ์ iOS อื่น ๆ มาตรฐานเทคโนโลยีช่วยให้แอพมือถือ (ทำงานบนอุปกรณ์ iOS และ Android) รวบรวมข้อมูลจากบีคอนในโลกจริงและแสดงข้อมูลบนโทรศัพท์
Bluetooth Low Energy (BLE) คืออะไร?
BLE คล้ายกับโปรโตคอลบลูทู ธ ที่มีความแตกต่างของการใช้พลังงาน BLE เป็นเทคโนโลยีเครือข่ายในพื้นที่ส่วนบุคคลแบบไร้สายซึ่งใช้ในการส่งข้อมูลในระยะทางสั้น ๆ และออกแบบมาเพื่อการใช้พลังงานต่ำ BLE ได้รับการออกแบบให้ทำงานเป็นเวลานานแม้จะใช้แบตเตอรี่แบบเหรียญ CR2032 BLE รักษาช่วงการสื่อสารให้ใกล้เคียงกับ Classic Bluetooth รุ่นก่อนหน้า
เทคโนโลยี iBeacon ใช้ BLE อย่างไร
ด้วยเทคโนโลยี iBeacon Apple ได้สร้างมาตรฐานรูปแบบสำหรับการโฆษณา BLE รูปแบบมาตรฐานประกอบด้วยสี่ชิ้นหลักที่มีUUID เมเจอร์ไมเนอร์พลังงาน หากต้องการทำความเข้าใจข้อกำหนดแต่ละข้อให้ชัดเจนยิ่งขึ้นโปรดดูตัวอย่างของ Apple Electronics ที่จำนวนร้านค้าต้องได้รับการตั้งค่าในประเทศต่างๆ คำอธิบายของแต่ละรายการมีดังนี้:
UUID: UUID เป็นสตริง 16 ไบต์ซึ่งใช้เพื่อระบุจำนวนบีคอนจากกลุ่มบีคอนขนาดใหญ่ สิ่งนี้ระบุ Beacons สำหรับแอปพลิเคชันเฉพาะ ตัวอย่างเช่นหาก Apple ดูแลร้านค้าอิเล็กทรอนิกส์แบบออฟไลน์ Beacon ทั้งหมดจะแชร์ UUID เดียวกันโดยบอกว่าสัญญาณเตือนเป็นของ Apple
Major: นี่คือสตริง 2 ไบต์ที่ใช้เพื่อระบุกลุ่ม Beacon ที่เล็กกว่าจาก Beacon กลุ่มใหญ่ ดังนั้นหาก Beacon เป็นของ Apple และ Apple ได้ตั้งค่าบีคอน 10 แห่งในเมืองสำหรับ 10 ร้านค้า Apple จะได้ทราบว่าบีคอนใดเป็นของร้านใดในเมืองเดียวกัน
Minor: นี่คือสตริง 2 ไบต์ซึ่งใช้เพื่อระบุ Beacon แต่ละรายการจากกลุ่ม Beacons สมมติว่า Apple ติดตั้ง 50 Beacons ในร้านค้าดังนั้นเมื่อใช้ Minor Apple จะสามารถค้นหาว่าลูกค้าอยู่ในร้านไหน
Tx Power: Tx Power ใช้เพื่อกำหนดความใกล้ชิดหรือระยะห่างจากสัญญาณไฟ ต้องเลือกความใกล้เคียงก่อนปรับเทียบและควรเข้ารหัสไว้ล่วงหน้า ความใกล้เคียงที่เลือกจะให้ระยะทางโดยประมาณที่จะถ่ายโดยอุปกรณ์
ตัวอย่างเช่นการตั้งค่าและการออกอากาศ Beacon แล้วจะมีลักษณะดังนี้:
UUID: 36BFDA543784CAD5
สาขาวิชา: 45
ผู้เยาว์: 7
เราจะตั้งค่าพารามิเตอร์เหล่านี้ทั้งหมดในการกวดวิชานี้โดยใช้ชุด BLE โมดูลในโหมด
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับเทคโนโลยี BLE โปรดดูบทความก่อนหน้าของเราเกี่ยวกับ BLE กับ ESP32
iBeacon มีความสำคัญอย่างไร?
ด้วยความนิยมที่เพิ่มขึ้นของ Target Margeting iBeacon สามารถมีบทบาทสำคัญ ด้วยการสร้างเครือข่าย iBeacon แบรนด์ร้านค้าปลีกหรือร้านค้าใด ๆ จะสามารถค้นหากิจกรรมและข้อมูลพฤติกรรมลูกค้าที่สำคัญอื่น ๆ ซึ่งสามารถใช้ในการส่งข้อมูลที่มีความหมายตามบริบทและไฮเปอร์โลคัลบนสมาร์ทโฟนของลูกค้า จากตัวอย่างของ Apple ข้างต้นสมมติว่าลูกค้าที่มีสมาร์ทโฟนกำลังเดินผ่าน Apple Electronic Store อยู่ใกล้ ๆ
เมื่อแอปที่ติดตั้งบนสมาร์ทโฟนของลูกค้าได้ยิน iBeacon ที่ติดตั้งในร้านค้าแอปจะสามารถส่งข้อมูลผ่าน iBeacon พร้อมข้อเสนอทั้งหมดและจัดเก็บรายละเอียด หากลูกค้าพบข้อเสนอที่น่าสนใจและต้องการซื้อเขาก็สามารถเข้าไปซื้อจากร้านค้าได้ นอกเหนือจากนี้ iBeacon ยังมีแอปพลิเคชันอื่น ๆ เช่นการชำระเงินการวิเคราะห์ผู้ซื้อ / ลูกค้าและแอปพลิเคชันที่สนามบินสวนสนุกสถานที่จัดคอนเสิร์ตและพื้นที่อื่น ๆ อีกมากมาย ศักยภาพของเทคโนโลยี iBeacon นั้นไร้ขีด จำกัด และยังไม่มีใครค้นพบ
ในการกวดวิชานี้เราจะแสดงให้เห็นถึงiBeacon ใช้บลูทู ธ 4.0 ตามโมดูล แต่ก่อนที่จะเริ่มต้นสิ่งสำคัญคือต้องดูวิธีการเปลี่ยนหรือแฟลชเฟิร์มแวร์ของโมดูล Clone HM-10หากคุณใช้โมดูล Cloned HM10 เนื่องจากโมดูล HM10 ส่วนใหญ่ที่มีอยู่ในตลาดเป็นโมดูลที่ถูกโคลน เรายังใช้โมดูลบลูทู ธ HM10 กับ Arduino เพื่อควบคุม LED
การสอน HM10 BLE iBeaconนี้จะสาธิตวิธีการตั้งค่าโมดูล HM10 เป็น iBeacon และการค้นหารายละเอียดเช่น RSSI (Proximity, Distance) บนแอป Android
ส่วนประกอบที่จำเป็น
ฮาร์ดแวร์:
- HM10 BLE โมดูล
- ตัวแปลง USB เป็น TTL
- จัมเปอร์
ซอฟต์แวร์:
- Arduino IDE
- แอพ Android (BLE Scanner)
BLE HM10 ที่ใช้ในบทช่วยสอนนี้ใช้เฟิร์มแวร์ HM10 v540 ที่เว็บไซต์ทางการของ jnhuamao
การตั้งค่าโมดูล HM10 BLE ในโหมด iBeacon
ตอนแรกตั้ง BLE HM10 โมดูลในโหมด ในการตั้งค่า HM10 ในโหมด iBeacon เพียงทำตามขั้นตอนด้านล่าง
- เชื่อมต่อโมดูล HM10 และตัวแปลง USB / TTL ด้วยการเชื่อมต่อดังต่อไปนี้
หมุดโมดูล HM10 |
ตัวแปลง USB / TTL |
Rx |
Tx |
Tx |
Rx |
Vcc |
5V |
Gnd |
Gnd |
- เปิด Arduino IDE และเลือกพอร์ต COM ของตัวแปลง USB / TTL
- ตอนนี้เปิด Serial Monitor ของ Arduino IDE แล้วเลือก Baud Rate เป็น '9600' และเลือก 'No Line Ending' บน Serial Monitor
- พิมพ์คำสั่ง ATต่อไปนี้ในโหมดลำดับทีละรายการหลังจากได้รับคำตอบตกลงจาก HM10
ที่ + ต่ออายุ
ที่ + รีเซ็ต
ที่
ที่ + MARJ0x1000
ที่ + MINO0x0007
ที่ + ADVI 5
ที่ + NAMEiBeacon
ที่ + ADTY3
ที่ + IBEA1
ที่ + DELO2
ที่ + PWRM0
ที่ + รีเซ็ต
หมายเหตุ:ค่าที่ทำเครื่องหมายสีแดงในคำสั่ง AT นั้นผู้ใช้สามารถกำหนดค่าได้ ผู้ใช้สามารถเปลี่ยนแปลงได้ตามตัวอย่าง
คำอธิบายของคำสั่ง AT ทั้งหมดที่ใช้ข้างต้นมีดังต่อไปนี้:
- AT + RENEW (คืนค่าเริ่มต้นจากโรงงาน)
- AT + RESET (รีบูต HM10)
- ที่ (ที่ทดสอบ)
- AT + MARJ0x1000 (ตั้งค่า iBeacon Major Number เป็น 0x1000 HEX แปลงเป็น 4096 ใน DEC)
- AT + MINO0x0007 (ตั้งค่า iBeacon Minor Number เป็น 0x1000 HEX แปลงเป็น 4096 ใน DEC)
- AT + ADVI5 (ตั้งค่าช่วงเวลาโฆษณาเป็น 5 เช่น 546.25 มิลลิวินาที)
- AT + NAMEiBeacon (ตั้งชื่อโมดูล HM-10 เป็น iBeacon เปลี่ยนได้ตามการใช้งาน)
- AT + ADTY3 (ตั้งค่า HM10 ที่ไม่สามารถเชื่อมต่อได้เพื่อประหยัดพลังงานและไม่มีไคลเอนต์ที่สามารถเชื่อมต่อกับโมดูลช่วยในการประหยัดพลังงานมากขึ้น)
- AT + IBEA1 (เปิดใช้งานโหมด iBeacon บน HM10)
- AT + DELO2 (ตั้งค่า iBeacon ในโหมด Broadcast เท่านั้นเพื่อประหยัดพลังงาน HM10 สามารถถ่ายทอดการมีอยู่และสแกนหาอุปกรณ์อื่น ๆ เนื่องจากเป็นตัวรับส่งสัญญาณบลูทู ธ)
- AT + PWRM0 (ช่วยให้ HM10 เข้าสู่โหมดสลีปอัตโนมัติและลดการใช้พลังงานจาก 8 เป็น 0.18 mA iBeacon จะส่งสัญญาณเสมอ)
หลังจากเรียกใช้ AT Commands Serial Monitor ทั้งหมดแล้วจะมีลักษณะดังนี้:
การตอบกลับคำสั่ง AT จะถูกพิมพ์ตามลำดับโดยไม่มีบรรทัดใหม่ คุณสามารถสร้างความแตกต่างระหว่างการตอบกลับของคำสั่ง AT สองคำได้อย่างง่ายดายเนื่องจากหลังจากทุกคำสั่ง AT HM10 ตอบตกลง ดังนั้นหากคำสั่งคือAT + RENEW HM10 จะตอบตกลง + RENEW และในทำนองเดียวกันสำหรับคำสั่ง AT อื่น ๆ
. ตอนนี้สามารถออกอากาศ UUID, Major, Minor และรายละเอียดอื่น ๆ หากต้องการดูรายละเอียดการออกอากาศมีแอพ iBeacon สำหรับ Android ให้ดาวน์โหลด iBeacon Android App จาก Play Store หรือ Apple store แล้วคุณจะพบโมดูล HM10 ที่ตั้งไว้ในโหมด iBeacon ในบทช่วยสอนนี้เรากำลังใช้แอพ Android “ BLE Scanner ”
ปิดการใช้งานโหมด iBeaconเพียงแค่ใช้คำสั่งAT + IBEA0 และจากนั้นทำการสแกนโฆษณาการตอบสนองโดยการส่ง Connectable ที่ + ADTY0 แล้วก็ตั้งค่า HM10 โดยการส่งAT RESET +
ใช้ BLE Scanner Android App สำหรับ iBeacon
- ดาวน์โหลดแอป BLE Scanner จาก Play Store แล้วเปิดขึ้นมา
- หน้าจอมีลักษณะดังนี้
- แท็บ 'Near By' จะใช้เพื่อดู iBeacons ที่มีอยู่ทั้งหมด ในการเริ่มค้นหา iBeacon ให้ดึงหน้าจอลงหรือไปที่ไอคอนค้นหาที่มุมขวาบนของหน้าจอ เพื่อเริ่มค้นหา iBeacons
- หลังจากค้นหา iBeacon แล้วคุณจะเห็น RSSI, UUID, Major และ Minor ของ iBeacon RSSI จะเปลี่ยนไปหากคุณนำมือถือหรือ iBeacon ออกจากกัน ในหน้าจอนี้ RSSI คือ (-50) สามารถดูได้ในวิดีโอสาธิตที่ระบุไว้ในตอนท้ายของบทความนี้
- หลังจากนำสมาร์ทโฟนออกจาก iBeacon HM10 ค่า RSSI จะเปลี่ยนจาก -50 เป็น -81 ค่าเหล่านี้จะเปลี่ยนแปลงไปเรื่อย ๆ หากคุณย้ายอุปกรณ์เครื่องใดเครื่องหนึ่ง
ค่าที่ยอมรับสัญญาณ RSSI มีดังต่อไปนี้:
ความแรงของสัญญาณ |
TL; ดร |
จำเป็นสำหรับ |
|
---|---|---|---|
-30 เดซิเบล |
น่าอัศจรรย์ |
ความแรงของสัญญาณสูงสุดที่ทำได้ ไคลเอนต์สามารถอยู่ห่างจาก AP เพียงไม่กี่ฟุตเพื่อบรรลุเป้าหมายนี้ ไม่ปกติหรือเป็นที่ต้องการในโลกแห่งความเป็นจริง |
ไม่มี |
-67 dBm |
ดีมาก |
ความแรงของสัญญาณขั้นต่ำสำหรับแอปพลิเคชันที่ต้องการการจัดส่งแพ็กเก็ตข้อมูลที่เชื่อถือได้และทันเวลา |
VoIP / VoWiFi สตรีมมิ่งวิดีโอ |
-70 เดซิเบล |
ตกลง |
ความแรงของสัญญาณขั้นต่ำสำหรับการจัดส่งแพ็คเก็ตที่เชื่อถือได้ |
อีเมลเว็บ |
-80 เดซิเบล |
ไม่ดี |
ความแรงของสัญญาณขั้นต่ำสำหรับการเชื่อมต่อพื้นฐาน การจัดส่งแพ็คเก็ตอาจไม่น่าเชื่อถือ |
ไม่มี |
-90 dBm |
ไม่สามารถใช้งานได้ |
ใกล้หรือจมน้ำในพื้นเสียง ฟังก์ชันใด ๆ ไม่น่าเป็นไปได้สูง |
ไม่มี |
- หากต้องการค้นหา iBeacon ในมุมมองความใกล้ชิดเพียงไปที่ไอคอนความใกล้ชิดที่มุมบนขวาข้างไอคอนค้นหา หน้าจอจะแสดง iBeacon ที่มีอยู่ทั้งหมดพร้อมสัญญาณ RSSI
นี้เสร็จสิ้นการกวดวิชาในการตั้งค่า HM10 BLE โมดูลเป็น iBeacon หากคุณมีข้อสงสัยหรือข้อเสนอแนะโปรดเขียนในฟอรัมหรือแสดงความคิดเห็นด้านล่าง