1 คะแนน โดย GN⁺ 2024-10-15 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • โปรเจกต์นี้มีเป้าหมายเพื่ออ่านข้อมูลสุขภาพและกิจกรรมจาก สมาร์ตริง Colmi R02 ราคาประหยัดแบบโลคัล โดยไม่พึ่งแอปคลาวด์ และมุ่งสู่การใช้งานแบบ ออฟไลน์ 100%
  • รองรับ Colmi R02·R06·R10 และมีข้อสังเกตจากประสบการณ์ว่าหากในคำอธิบายสินค้าระบุว่าใช้แอป QRing ก็มีโอกาสเข้ากันได้
  • ตอนนี้มีการทำ reverse engineering ได้แล้วสำหรับอัตราการเต้นหัวใจแบบเรียลไทม์·SPO2, บันทึกก้าวเดิน·หัวใจ·การนอน, การตั้งเวลา, ไปจนถึงการวัด “ความเครียด” แต่การตีความบันทึกก้าวเดินยังมีบางส่วนที่ค้างอยู่
  • CLI สามารถติดตั้งผ่าน pipx แล้วใช้สแกน BLE, วัดค่าแบบเรียลไทม์, ซิงก์ SQLite, ดูข้อมูลอุปกรณ์, ส่งคำสั่งดิบ, รีบูต, และตั้งเวลาอุปกรณ์ได้
  • การสื่อสารใช้ BLE GATT และโครงสร้างแพ็กเก็ต 16 ไบต์ โดยเข้าถึงได้โดยไม่ต้อง bind หรือใช้ security key ซึ่งสะดวก แต่เรื่องความเป็นส่วนตัวผู้ใช้ต้องตัดสินใจเอง

ไคลเอนต์ออฟไลน์สำหรับสมาร์ตริงตระกูล Colmi R02

  • colmi_r02_client คือไคลเอนต์ Python แบบโอเพนซอร์สสำหรับอ่านข้อมูลจากสมาร์ตริงตระกูล Colmi R02
  • โปรเจกต์นี้เน้นการใช้งานแบบ โอเพนซอร์ส 100% และ ออฟไลน์ 100%
  • Colmi R02 เป็นสมาร์ตริงหรืออุปกรณ์สวมใส่ด้านฟิตเนสราคาราว $20 และมีเซ็นเซอร์ต่อไปนี้
    • accelerometer
    • ติดตามก้าวเดิน
    • ติดตามการนอน
    • gesture
    • อัตราการเต้นหัวใจ (HR)
    • ความอิ่มตัวของออกซิเจนในเลือด (SPO2)
  • ผู้พัฒนาเล่าว่ารู้จักแหวนนี้ผ่านงาน ATC_RF03 ของ atc1441 และ บทความใน Hackaday

อุปกรณ์ที่รองรับและช่องทางซื้อ

  • อุปกรณ์ที่ยืนยันว่ารองรับเต็มรูปแบบมีดังนี้
    • Colmi R02
    • Colmi R06
    • Colmi R10
  • มีข้อสังเกตจากประสบการณ์ว่าหากหน้าสินค้าระบุให้ใช้แอป QRing ก็มีโอกาสเข้ากันได้กับไคลเอนต์นี้
  • มีลิงก์ซื้อผ่าน AliExpress และถ้าลิงก์ใช้ไม่ได้ก็ให้ค้นหา “COLMI R02”
  • มีตัวอย่างการซื้อจาก “Colmi official store” ในราคา CAD 22 รวมค่าส่ง

ฟีเจอร์ที่ reverse engineering ได้แล้วและงานที่ยังเหลือ

  • ฟีเจอร์ที่ใช้งานได้หรือวิเคราะห์แล้วในตอนนี้มีดังนี้
    • อัตราการเต้นหัวใจแบบเรียลไทม์ และ SPO2
    • บันทึกก้าวเดิน
    • บันทึกอัตราการเต้นหัวใจแบบเป็นช่วงเวลา
    • ตั้งเวลาของแหวน
    • ตั้งค่าความถี่ของบันทึก HR
    • บันทึก SPO2
    • ติดตามการนอน
    • การวัด “ความเครียด”
  • สำหรับบันทึกก้าวเดินนั้น ยังเข้าใจไม่ครบถ้วนว่า 1 วันถูกแบ่งอย่างไร
  • ฟีเจอร์ที่วางแผนไว้มีดังนี้
    • เพิ่ม ความสามารถของ CLI ให้มากขึ้น
    • แสดงผลข้อมูลอัตราการเต้นหัวใจและก้าวเดินให้อ่านง่ายขึ้น
    • เว็บอินเทอร์เฟซแบบเรียบง่าย

วิธีใช้งานบรรทัดคำสั่ง

  • แนะนำอย่างยิ่งให้ติดตั้ง pipx เพื่อจัดการแพ็กเกจ Python ให้ใช้งานเหมือนโปรแกรมแยกได้
  • คำสั่งติดตั้งมีดังนี้
pipx install git+https://github.com/tahnok/colmi_r02_client
  • การค้นหาแหวนที่อยู่ใกล้เคียงใช้ colmi_r02_util scan
colmi_r02_util scan
Found device(s)
Name | Address
--------------------------------------------
R02_341C | 70:CB:0D:D0:34:1C
  • เมื่อได้ BLE address แล้ว ก็สามารถอ่านอัตราการเต้นหัวใจแบบเรียลไทม์ได้
colmi_r02_client --address=70:CB:0D:D0:34:1C get-real-time heart-rate
Starting reading, please wait.
[81, 81, 79, 79, 79, 79]
  • ข้อมูลจากแหวนสามารถซิงก์ไปยัง SQLite ได้
colmi_r02_client --address=3A:08:6A:6F:EB:EC sync
Writing to /home/wes/src/colmi_r02_client/ring_data.sqlite
Syncing from 2024-12-01 01:43:04.723232+00:00 to 2024-12-01 02:03:20.150315+00:00
Done
  • สคีมาฐานข้อมูลอยู่ที่ database_schema.sql
  • ดูคู่มือ CLI ล่าสุดได้ด้วย colmi_r02_client --help
  • คำสั่งต่าง ๆ มีความสามารถดังนี้
    • ดูบันทึกอัตราการเต้นหัวใจ
    • ดูและตั้งค่าการตั้งค่าบันทึกอัตราการเต้นหัวใจ
    • ดูอัตราการเต้นหัวใจแบบเรียลไทม์
    • ดูข้อมูลก้าวเดิน
    • ดูข้อมูลอุปกรณ์และระดับแบตเตอรี่
    • ส่งคำสั่งดิบ
    • รีบูตแหวน
    • ตั้งเวลาของแหวน
    • ซิงก์ข้อมูลแหวนไปยัง SQLite

ไลบรารีและเอกสาร

  • สามารถนำเข้าไปใช้เป็นไลบรารี Python เพื่อสร้างเครื่องมือของตัวเองได้
  • เอกสารที่อิงจาก docstring ดูได้ที่ colmi_r02_client.client และ เว็บไซต์เอกสาร

โปรโตคอลการสื่อสาร BLE

  • บันทึกโน้ตการวิเคราะห์แบบดิบถูกรวบรวมไว้ที่ notes.tahnok.ca โดยจุดเริ่มต้นคือ 2024-07-07 Smart Ring Hacking
  • แหวนสามารถอ่านและเขียนผ่าน BLE ได้
  • ไม่ต้อง bind หรือใช้ security key เพื่อเริ่มต้นใช้งาน
    • ในมุมความปลอดภัย สิ่งนี้อาจไม่ดีนัก แต่ก็มีคำอธิบายว่าแหวนมีระยะทำการสั้นมาก และไม่ได้กังวลมากนักเรื่องการเปิดเผยจำนวนก้าวหรือข้อมูลหัวใจ
    • การตัดสินใจสุดท้ายขึ้นอยู่กับผู้ใช้
  • แหวนมี บริการ BLE GATT ตาม UUID ต่อไปนี้
6E40FFF0-B5A3-F393-E0A9-E50E24DCCA9E
  • มี characteristic สำคัญ 2 ตัว
    • RX 6E400002-B5A3-F393-E0A9-E50E24DCCA9E: ใช้สำหรับเขียน
    • TX 6E400003-B5A3-F393-E0A9-E50E24DCCA9E: ใช้สำหรับ subscribe และเป็นจุดรับแพ็กเก็ตตอบกลับที่แหวนส่งมา
  • โครงสร้างนี้คล้ายกับ Nordic UART Service และการสื่อสารแบบ UART/Serial ทั่วไปมาก

โครงสร้างแพ็กเก็ต 16 ไบต์

  • แหวนสื่อสารทั้งขาเข้าและขาออกด้วย แพ็กเก็ต 16 ไบต์
  • ไบต์แรกทำหน้าที่เป็นคำสั่ง แท็ก หรือชนิดข้อมูลเสมอ
    • ตัวอย่างเช่น แพ็กเก็ตขอระดับแบตเตอรี่จะขึ้นต้นด้วย 0x03
    • แพ็กเก็ตตอบกลับก็ขึ้นต้นด้วย 0x03 เช่นกัน
  • ไบต์สุดท้ายเป็น checksum/crc เสมอ
    • คำนวณโดยนำอีก 15 ไบต์มาบวกกันทั้งหมด แล้วหาเศษจากการหารผลลัพธ์ด้วย 255
    • มีการ implement ไว้ที่ colmi_r02_client.packet.checksum
  • 14 ไบต์ตรงกลางคือ subdata หรือข้อมูลเพย์โหลด
    • คำขอบางรายการมีข้อมูลเพิ่มเติมรวมอยู่ด้วย
    • คำตอบเกือบทั้งหมดจะส่งข้อมูลที่ร้องขอกลับมาในรูป subdata
    • ตัวอย่างแพ็กเก็ตตั้งเวลาอยู่ที่ colmi_r02_client.set_time.set_time_packet
  • คำขอบางรายการต้องตีความคำตอบหลายชุดร่วมกันจึงจะได้ข้อมูล
  • โครงสร้างแพ็กเก็ตคำขอและคำตอบของฟีเจอร์เฉพาะสามารถดูได้จากซอร์สโค้ดของฟีเจอร์นั้น ๆ
  • คู่คำขอ·คำตอบที่ยืนยันแล้ว รวมถึงการตีความข้อมูลในแบบที่มนุษย์อ่านได้ สามารถอ้างอิงจากชุดทดสอบได้เช่นกัน

ลิงก์ที่เกี่ยวข้อง

  • colmi-docs
  • PR เกี่ยวกับการรองรับ Colmi ใน Gadgetbridge

1 ความคิดเห็น

 
GN⁺ 2024-10-15
ความคิดเห็นใน Hacker News
  • ตื่นเต้นที่จะได้ลองเล่นสิ่งนี้ เพิ่งสั่งไปอันหนึ่ง พอดีเคยใช้แหวน Oura มาสองวงแล้วและไม่แนะนำ
    ไม่รู้ว่ามันจะเชื่อถือได้แค่ไหน แต่ราคา $14 ไม่ใช่ $300 และไม่ได้บังคับให้จ่ายรายเดือนเพื่อเข้าถึง API กำกวมอะไรสักอย่าง

    • โดยส่วนตัวคิดว่าควรมีกฎหมายห้ามบริษัท “ขาย” อุปกรณ์ที่ใช้งานไม่ได้หากไม่มีค่าสมาชิก นั่นคือ โมเดลเช่า โดยเฉพาะเมื่อมีผู้ให้บริการอยู่เจ้าเดียว
      จะขายแหวนแล้วแถมสมาชิกตลอดชีพฟรีแบบ Garmin https://connect.garmin.com/ หรือไม่ก็ทำสัญญาเช่า/ให้ยืมอุปกรณ์แล้วเก็บค่าบริการรายเดือน อย่างใดอย่างหนึ่ง ไม่ใช่ทั้งสองแบบ
      Oura เริ่มที่ 469 CAD https://ouraring.com/product/rings/oura-ring-4/silver และยังมีรายเดือน 7.99 CAD https://support.ouraring.com/hc/en-us/articles/360052018753-...
    • ดูเหมือนว่าแหวน Oura จะติดตามได้แม่นยำดี ต่างจากสมาร์ตวอตช์ส่วนใหญ่ แต่ข้อมูลที่เก็บกับ โมเดลสมาชิก ดูแย่มาก
      กำลังรออย่างใจจดใจจ่อให้มี แหวนติดตามการนอน แบบคล้ายกันที่ใช้งานออฟไลน์ได้ด้วยอะไรอย่าง Gadgetbridge
  • มีแหวนคล้ายกันที่มี NFC ไหม?
    ฟีเจอร์สุขภาพอัจฉริยะพวกนี้ไม่ได้มีประโยชน์กับผมเลย ดูเหมือนของเล่นสุขภาพที่ขับเคลื่อนด้วยข้อมูลมากกว่า ในทางกลับกัน NFC เอาไปใช้ได้เป็นร้อยอย่าง ตั้งแต่จ่ายเงิน การเข้าออกอาคาร ไปจนถึงบัตรโดยสาร

    • มี ผมมี Z1 Ring
      ใส่โทเค็นความปลอดภัยสำหรับจ่ายเงินหรือเปิดประตูได้เหมือนกัน แต่ค่อนข้างซับซ้อน แหวนมีพื้นที่รับสัญญาณเล็ก เวลาจะเอาไปแตะกับโทรศัพท์บางทีก็หาตำแหน่งรับได้ยาก
      แล้วซอฟต์แวร์ก็ระดับต่ำและจุกจิกมาก ผมเผลอทำแหวนของตัวเองให้กลายเป็น โหมดอ่านอย่างเดียว แบบถาวรไปแล้ว
      รีวิวอยู่ที่ https://shkspr.mobi/blog/2024/02/giving-the-finger-to-mfa-a-...
    • ปัญหาของไอเดียนี้คือ การทำ RFID ที่ปลอดภัยจริงจะกันผู้ใช้ออกหมด นั่นหมายความว่าคุณซื้อแหวน/พวงกุญแจ/อิมแพลนต์ NFC มาแล้วก็ไม่สามารถคัดลอกบัตรธนาคารหรือบัตรโดยสารของตัวเองลงไปได้เฉยๆ
      ระบบที่ปล่อยให้ผู้ใช้ทำแบบนั้นได้จะมี ความปลอดภัยอ่อนแอมาก ซึ่งแม้ยังพบใช้อยู่บ่อย แต่ก็กำลังถูกเลิกใช้ไปเรื่อยๆ ดังนั้นถ้าไม่ใช่ระบบที่คุณดูแลเอง หรือสนิทกับฝ่ายไอทีมากจริงๆ ก็ไม่มีทาง
    • Dangerous Things เป็นผู้ผลิตอิมแพลนต์ RFID/NFC ที่ค่อนข้างดัง และขายแหวนโคลนความถี่คู่ 125kHz+13.56MHz ได้ แต่แพงเกินไป ($130)
      ตอนก่อนหน้านี้เคยซื้อ “V1” ตอนราคา $60 และถ้าคุณรู้วิธีจัดการ มันก็ใช้งานได้จริง ผมก็เห็นแหวนใน AliExpress ที่อ้างว่ารองรับฟังก์ชันเดียวกันเหมือนกัน แต่ยังไม่เคยลองเอง
    • เท่าที่รู้มีนะ ตอนผมหาไลเตอร์เพื่อจะโคลนแท็กเข้าอพาร์ตเมนต์แบบ RFID ก็เห็นใน AliExpress เยอะเลย
      ดูเหมือนจะมี แหวนคู่ NFC/RFID ที่ใช้เป็น NFC ทั่วไปก็ได้ และใช้กับระบบเข้าอาคารอพาร์ตเมนต์ 125kHz ก็ได้ด้วย
    • ฟีเจอร์สุขภาพอัจฉริยะผมก็ไม่ได้ใช้เหมือนกัน แต่แทนที่จะเป็น NFC ผมอยากได้ไว้เป็น คอนโทรลเลอร์กับจอแสดงผล มากกว่า
      มีแหวนที่มีระบบสัมผัสหรือปุ่มจริงไหม? ถ้ามีล้อหมุนที่ให้ฟีลคลิกด้วยจะยิ่งดี สำหรับจอแสดงผล ผมนึกถึง LED RGB แยกหลายดวง แต่แบบอื่นก็โอเค
  • อุปกรณ์ราคาถูกแบบนี้ปลอดภัยแค่ไหน? ต้องกังวลเรื่อง แบตเตอรี่ระเบิด ไหม? ผมหาเจอโพสต์ว่ามีเรื่องแบบนั้นเกิดกับแหวน Oura: https://www.reddit.com/r/ouraring/comments/s1fave/ring_batte...

    • ผมว่าไม่ต้องกังวลมาก แบตเตอรี่มันเล็กมาก และน่าจะ หุ้มเรซินแบบพอตติ้ง ไว้ด้วย เลยดูมีโอกาสเสียหายน้อย
  • ฮาร์ดแวร์ถูกลงจริงๆ! แต่ซอฟต์แวร์นี่สิ…
    ผมซื้อโคมไฟข้างเตียงราคา $20 ที่มีทั้งไฟ LED, ตัวรับบลูทูธ, นาฬิกาและนาฬิกาปลุก, ที่ชาร์จไร้สาย iPhone แถมยังมีไมโครโฟนที่น่าจะสตรีมทุกบทสนทนาของผมไปที่ไหนสักแห่งได้ โดยจุดประสงค์ที่ประกาศไว้คือฟังผมร้องเพลงแล้วทำให้ไฟกะพริบตามระดับเสียง
    มันมีแอปสะดวกๆ สำหรับตั้งนาฬิกาและไฟด้วย แต่เพราะบั๊กซอฟต์แวร์ มันดังปลุกทุกคืนตอน 01:00 AM ผมปิดจากแอปทางการไม่ได้เลย และของชิ้นนี้ดูไม่เหมือนสิ่งที่โปรแกรมเมอร์ตัวจริงเป็นคนทำ ถึงอย่างนั้นก็น่าจะมีบั๊กอยู่ตรงไหนสักแห่งใน Bluetooth stack ที่ทำให้ผมได้สิทธิ์ root บนโคมไฟแล้วแก้เองได้… ถ้ามีเวลา
    อยากให้ผู้ผลิตฮาร์ดแวร์โนเนมพวกนี้ใส่ ชุดแฮ็กขั้นต่ำ มาในกล่องผลิตภัณฑ์ด้วย

    • สิ่งที่น่าแปลกใจคือมีลูกค้าที่ คุมคีย์เสียง ได้ดีพอจนกรณีใช้งานแบบ “ฟังการร้องเพลงแล้วกะพริบไฟตามระดับเสียง” มีศักยภาพทางการตลาด
    • คุณอาจลองเปิดมันอย่างระมัดระวังได้ อาจพังโคมไฟสุดรักของคุณก็ได้ และต้องถอดปลั๊กไฟก่อนล่วงหน้าเสมอ
      อุปกรณ์อัจฉริยะแบบนี้มักปล่อย พอร์ตดีบัก ทิ้งไว้บนบอร์ด ซึ่งเข้าถึงได้ง่ายด้วยแคลมป์
  • จาก pull request ของ GadgetBridge[0] ที่ dingensundso พูดถึง ดูเหมือนจะมีเว็บดีๆ ที่เอกสาร BLE API ไว้ค่อนข้างเยอะ รวมถึงคำสั่งด้วย: https://colmi.puxtril.com/
    [0]: https://news.ycombinator.com/item?id=41834048

  • ดูน่าสนใจ มีแหวนคล้ายกันที่มีเซ็นเซอร์วัดอุณหภูมิด้วยไหม? ถ้ามีแอปโอเพนซอร์สแบบเดียวกับ Vitals แอปใหม่ของ Oura Ring หรือ Apple Watch ที่ตรวจได้ว่ากำลังจะป่วยล่วงหน้าสักหนึ่งหรือสองวันก็น่าสนุกดี
    หรือมีใครรู้ไหมว่าใช้แค่เซ็นเซอร์ที่อยู่ในแหวนนี้ก็ทำได้หรือเปล่า?

    • จากประสบการณ์ของฉัน อัตราการเต้นหัวใจขณะพัก, อัตราการเต้นหัวใจระหว่างนอน และความแปรปรวนของอัตราการเต้นหัวใจ เป็นตัวบ่งชี้ที่ดีว่ากำลังจะป่วย
    • ฉันก็อยากหาอันที่มีเซ็นเซอร์วัดอุณหภูมิอยู่เหมือนกัน ดูเหมือนว่าตอนนี้ยังไม่มีเลยในช่วงราคาใกล้เคียงนี้ใช่ไหม?
  • แค่สแกนอุปกรณ์แล้วอ่านข้อมูลได้เลยเหรอ? ไม่มีการยืนยันตัวตนเลย และเป็นโครงสร้างที่กระจายค่าที่วัดได้ผ่านไร้สายให้ใครก็ตามที่สนใจงั้นหรือ?

    • ที่จริงแล้ว การตั้งค่าที่แทบไม่มีการยืนยันตัวตนนั้นค่อนข้างพบได้บ่อยในอุปกรณ์ Bluetooth สมัยนี้
      มันเป็นปัญหากับของอย่างคีย์บอร์ดที่ใช้พิมพ์รหัสผ่าน แต่ถ้าเป็นระดับที่เพื่อนบ้านแอบดูเทอร์โมมิเตอร์ในห้องนั่งเล่นของฉัน หรือมีใครสักคนแอบดูสายคาดวัดชีพจรของฉันตอนวิ่งผ่านไป ก็ดูไม่ใช่ปัญหาใหญ่ในทางปฏิบัติ
      ในยุคเก่าๆ ที่ Bluetooth แย่กว่านี้ อุปกรณ์ที่ไม่มีหน้าจอมักฮาร์ดโค้ดรหัสจับคู่เป็น 000000 กันเลยด้วยซ้ำ ยังไงมันก็ไม่ได้เพิ่มความปลอดภัยขึ้นมากอยู่ดี ต่างจากอุปกรณ์ที่เชื่อมต่ออินเทอร์เน็ต มันไม่ได้เปิดให้โทรลล์นับพันล้านทั่วโลกเข้าถึงได้ตลอดเวลา
    • อินเทอร์เฟซของแหวนนี้มีน้อยมาก เซ็นเซอร์ที่มีคือมาตรวัดความเร่งสำหรับนับก้าว, LED สองดวงกับโฟโตไดโอดสำหรับวัดอัตราการเต้นหัวใจและออกซิเจนในเลือด, และภายในก็มีแค่ไฟสถานะ LED สำหรับบอกสถานะการชาร์จเท่านั้น
      สรุปคือมันเป็นแค่อุปกรณ์เก็บข้อมูลล้วนๆ ที่แทบโต้ตอบอะไรไม่ได้เลยหากไม่มีแอป แม้จะทำให้เคาะที่ผิวเพื่อเข้าโหมดจับคู่ได้ก็ได้ แต่ตอนนี้มันจับคู่กับอุปกรณ์อะไรก็ได้ที่ร้องขอ
      หวังว่าจะมีใครทำเฟิร์มแวร์แบบกำหนดเองสำหรับแหวนนี้ขึ้นมา มีงานบางส่วนอยู่ในโปรเจกต์ ATC_RF03 ที่ลิงก์ไว้ แต่ยังไม่แน่ใจว่าตอนนี้ยังมีใครทำต่ออยู่หรือเปล่า
  • เจ๋งดี ฉันใส่ Apple Watch อยู่แล้ว แต่ก็สั่งอันราคา $18 จาก Temu ไปแล้ว
    ฉันชอบแนวคิดของอุปกรณ์ที่เชื่อมต่อโดยตรงและดึงข้อมูลแบบเรียลไทม์ได้ โดยไม่ต้องติดตั้งแอปบนมือถือมาคั่นกลาง

    • ฉันก็สั่งเหมือนกันเลย อยากลองเอาข้อมูลติดตามการนอนหลับจากแหวนนี้ไปเสริมกับข้อมูลติดตามการนอนจาก Apple Watch
      เมื่อไม่กี่เดือนก่อน ฉันได้รู้จากวิดีโอ YouTube นี้[1] ว่าอุปกรณ์ติดตามการนอนทั้งหมดค่อนข้างไม่แม่นเมื่อเทียบกับการตรวจการนอนหลับแบบ polysomnography ที่เหมาะสม เพียงแต่แต่ละอันคลาดเคลื่อนไม่เหมือนกัน
      [1]: https://www.youtube.com/watch?v=mjOYhxLJP90
  • มีใครรู้ไหมว่ามาตรวัดความเร่งของแหวนพวกนี้แม่นพอจะตรวจจับการหกล้มได้หรือเปล่า? ฉันกำลังนึกถึงผู้ป่วยสูงอายุที่ไม่ยอมใส่สมาร์ตวอทช์หรืออุปกรณ์ที่ “ดูเหมือนของคนแก่”

  • มีข้อมูลแฮ็กเพิ่มเติมดีๆ เยอะมากใน https://github.com/atc1441/ATC_RF03_Ring/issues/13
    เผื่อ @tahnok ฉันทำงานวิศวกรรมย้อนกลับ BLE ของอุปกรณ์เกรดการแพทย์เป็นอาชีพหลักอยู่แล้ว เลยอยากลองมาแฮ็กอันนี้ด้วยกัน