GoogleFindMyTools : ตามหาอุปกรณ์ติดตาม Bluetooth ที่ใช้ ESP32 ผ่านเครือข่าย Google Find My Device

GoogleFindMyTools ของ Leon Böttger เป็นการนำเครือข่าย Google Find My Device กลับมาสร้างใหม่ โดยสามารถทำงานร่วมกับอุปกรณ์ Android และตัวติดตามเชิงพาณิชย์ นอกจากนี้ยังมีการรองรับอุปกรณ์ติดตาม Bluetooth ที่ใช้ ESP32 ในรูปแบบทดลอง

การใช้งานมีสององค์ประกอบหลักได้แก่ สคริปต์ Python main.py ซึ่งใช้สำหรับแสดงรายการและค้นหาตำแหน่งอุปกรณ์, และเฟิร์มแวร์ของ ESP32 โดยใช้ภาษา C พร้อมกับ ESP-IDF นอกจากนี้คอมพิวเตอร์โฮสต์จะต้องติดตั้งไลบรารี Python หลายตัวผ่านคำสั่ง “pip install -r requirements.txt” และต้องใช้เว็บเบราว์เซอร์ Google Chrome

Google Find My Device ESP32

นี่คือผลลัพธ์ของสคริปต์ Python บนแล็ปท็อป Ubuntu ของฉัน:


หลังจากลงชื่อเข้าใช้บัญชี Google ของฉัน สคริปต์สามารถค้นหาสมาร์ทโฟนของฉันได้ จากนั้นฉันสามารถเลือกตัวเลือก 1 เพื่อรับพิกัด GPS ของสมาร์ทโฟน หรือ ลงทะเบียนตัวติดตาม Bluetooth ที่ใช้ ESP32 ฉันยังไม่มีตัวติดตามดังกล่าว แต่ลองทดสอบดู:


ฉันต้องลงชื่อเข้าใช้ Google อีกครั้งเพื่อให้สคริปต์ดึง คีย์ที่ใช้ร่วมกัน (shared key) มาใช้งาน จากนั้นฉันได้รับ คีย์โฆษณา (advertisement key) (ซึ่งฉันได้แก้ไขสำหรับโพสต์นี้)คีย์นี้ต้องคัดลอกและวางลงใน บรรทัดที่ 15 ของไฟล์ main.c แทนที่ “INSERT_YOUR_ADVERTISEMENT_KEY_HERE”:


กระบวนการนี้ควรทำใน Visual Studio โดยต้องติดตั้ง ESP-IDF framework ไว้ก่อนจากนั้นสามารถคอมไพล์เฟิร์มแวร์ และแฟลชลงบนตัวติดตาม ESP32 ที่เชื่อมต่อกับคอมพิวเตอร์โฮสต์ผ่าน USB ได้

จากนั้นเราสามารถ รัน main.py อีกครั้ง และสคริปต์จะสามารถค้นหาทั้งสมาร์ทโฟน และตัวติดตาม ESP32 ที่ลงทะเบียนใหม่:


เนื่องจากฉันไม่มีตัวติดตาม ESP32 ฉันจึงทดสอบกับสมาร์ทโฟนของฉันแทน แต่ผลลัพธ์ควรจะคล้ายกันหากใช้กับตัวติดตาม ESP32 ที่ทำงานได้จริง ซึ่งอาศัยสมาร์ทโฟนในเครือข่าย Google Find My Device เพื่อระบุตำแหน่ง ไม่ต้องกังวล ฉันได้แก้ไขค่าด้านบนเพื่อความเป็นส่วนตัวแล้ว

สามารถทำได้ดี แต่มีปัญหาที่ทราบกันดีเกี่ยวกับการใช้งานบน ESP32 ได้แก่:

  • ขณะนี้ อาจต้องลงทะเบียน ESP32 ใหม่ทุก 3 วัน แต่ Leon กำลังหาทางแก้ไข
  • ผู้ใช้บัญชีใหม่ ควรใช้แอป Find My Device บน Android ก่อนลงทะเบียนตัวติดตาม ESP32 (แต่ฉันไม่ต้องทำ)
  • ตำแหน่งของตัวติดตาม ESP32 สามารถดูได้เฉพาะผ่าน สคริปต์ Python เท่านั้น ไม่สามารถดูได้ในแอปหรือเว็บไซต์ Google Find My Device
  • คุณสมบัติด้านความเป็นส่วนตัว เช่น การหมุนที่อยู่ MAC ยังไม่ได้ถูกนำมาใช้
  • เฟิร์มแวร์ของ ESP32 ถูกออกแบบมาให้ค้นหารายงานเครือข่ายให้ได้มากที่สุด ไม่ได้เน้นประหยัดพลังงาน

คุณสามารถดูคำแนะนำฉบับเต็มและซอร์สโค้ดได้บน GitHub หากคุณสนใจโซลูชันโอเพ่นซอร์สสำหรับตัวติดตาม สามารถดูโครงการ AirGuard ใช้กับสมาร์ทโฟน Android หรือ iOS เพื่อตรวจจับ Samsung Trackers (SmartTags), Google Find My Network Trackers และ Apple AirTags

แปลจากบทความภาษาอังกฤษ : GoogleFindMyTools locates ESP32-based Bluetooth trackers using Google Find My Device network

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
โฆษณา