2 คะแนน โดย GN⁺ 2023-11-14 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

พัฒนาโซลูชันซอฟต์แวร์สำหรับเก็บข้อมูลการตรวจจับจำนวนคนในมหาวิทยาลัย

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

แนวคิดการติดตามเมตริกการตรวจจับจำนวนคนด้วยบลูทูธบีคอน

  • พิจารณาความแม่นยำของการใช้จำนวน BLE beacon เป็นจำนวนคน
  • พิจารณาความแม่นยำของการใช้ช่วงเวลาที่ BLE beacon ปรากฏอยู่เป็นระยะเวลาการอยู่ในพื้นที่
  • พิจารณาผลกระทบของการสุ่ม MAC address จากผู้ผลิตหลายรายต่อการเก็บข้อมูล
  • คิดหาวิธีส่งผลลัพธ์ไปยังเซิร์ฟเวอร์กลาง รวมถึงวิธีเก็บและวิเคราะห์ข้อมูล

พัฒนาอุปกรณ์ขนาดเล็กสำหรับการติดตั้งระยะยาว

  • ความพยายามช่วงแรกด้วย Raspberry Pi Zero W และปัญหาที่พบ
  • ความซับซ้อนของการจัดการ Bluetooth บน Linux และปัญหาการเชื่อมต่อ Wi-Fi

ทางเลือกที่ประหยัดและมีประสิทธิภาพด้วย ESP32

  • เลือกใช้ ESP32 เพราะมี Wi-Fi และ Bluetooth, ใช้พลังงานต่ำ, ราคาถูก และมีขนาดเล็ก
  • เขียนโค้ดเก็บข้อมูลใหม่ด้วย C++ และเก็บข้อมูลผ่าน Cloudflare Functions กับฐานข้อมูล D1

การติดตั้งอุปกรณ์เก็บข้อมูลและการฝ่าอุปสรรค

  • แก้ปัญหาหน่วยความจำและการแครชของอุปกรณ์ ESP32 ด้วยการทำ hash set
  • เลือกใช้อุปกรณ์ XIAO ESP32C3/S3 เพื่อให้ทำงานได้เสถียรในระยะยาว

การเก็บข้อมูลขั้นสุดท้ายและการพยากรณ์อนุกรมเวลา

  • จากการเก็บข้อมูลตลอดหนึ่งวัน พบแนวโน้มการเคลื่อนย้ายของผู้คนตามการเปลี่ยนคาบเรียน
  • ใช้ NeuralProphet สำหรับการพยากรณ์อนุกรมเวลา

ประเด็นเพิ่มเติมและงานในอนาคต

  • สำรวจวิธีปรับปรุงความแม่นยำของการใช้จำนวน BLE beacon เป็นจำนวนประชากร
  • พิจารณาความเป็นไปได้ในการขยายไปสู่กรณีใช้งานของคณะกรรมการมหาวิทยาลัยหรืองานวิจัยเชิงวิชาการในอนาคต

ความเห็นของ GN⁺

ประเด็นสำคัญที่สุดของบทความนี้คือการแบ่งปันประสบการณ์ในการพัฒนาโซลูชันซอฟต์แวร์เพื่อเก็บและวิเคราะห์ข้อมูลการตรวจจับจำนวนคนในมหาวิทยาลัย โดยใช้อุปกรณ์ ESP32 ราคาประหยัดและฐานข้อมูลแบบเซิร์ฟเวอร์เลส บทความนี้น่าสนใจสำหรับผู้ที่สนใจวิศวกรรมซอฟต์แวร์ โดยเฉพาะวิศวกรซอฟต์แวร์ระดับเริ่มต้นที่สนใจระบบฝังตัวและการวิเคราะห์ข้อมูล

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

 
GN⁺ 2023-11-14
ความคิดเห็นจาก Hacker News
    • แชร์ประสบการณ์การสร้างธุรกิจ
    • ในฐานะผู้ที่เคยสร้างธุรกิจ (occuspace.io) บนพื้นฐานเทคโนโลยี BLE beacon ได้ให้คำตอบต่อคำถามที่ถูกหยิบยกขึ้นมา
    • ความแม่นยำของการวัดอัตราการใช้งานพื้นที่ผ่านจำนวน BLE beacon แสดงความสัมพันธ์ที่สูงมาก แต่ค่าสหสัมพันธ์แตกต่างกันไปตามสถานที่
    • มองว่าความแม่นยำของการวัดระยะเวลาการอยู่ผ่านช่วงเวลาที่ BLE beacon พร้อมใช้งานนั้นไม่แม่นยำ เนื่องจากที่อยู่ BT MAC จะเปลี่ยนทุก 8-20 นาทีขึ้นอยู่กับผู้ผลิต
    • กล่าวถึงว่าแนวคิดการเพิ่มความแม่นยำด้วยการตั้งค่าค่า RSSI ขั้นต่ำเพื่อให้นับเฉพาะอุปกรณ์ที่อยู่ใกล้จริงนั้นเป็นไอเดียที่ดี
    • ประสบการณ์เกี่ยวกับระบบ IT ของมหาวิทยาลัย
    • เล่าถึงอดีตที่การลงทะเบียน MAC address เข้า whitelist ของมหาวิทยาลัยเป็นกระบวนการยุ่งยาก ต้องผ่านหลายรัฐและหลายแบบฟอร์ม แต่หวังว่าตอนนี้สถานการณ์น่าจะดีขึ้นแล้ว
    • แชร์ผลการทดสอบฮาร์ดแวร์
    • จากการทดสอบฮาร์ดแวร์หลายแบบ (Seeed Studio XIAO ESP32S3/C3, WaveShare ESP32S3 Zero เป็นต้น) พบว่าเฉพาะ XIAO ESP32C3/S3 เท่านั้นที่ทำงานได้เสถียรเกินหนึ่งเดือน
    • สำหรับ ESP32 แนะนำให้เพิ่มคาปาซิเตอร์ความจุสูงบน power rail ซึ่งช่วยเพิ่มเสถียรภาพของฮาร์ดแวร์ที่ไวต่อแหล่งจ่ายไฟ
    • ความสำคัญของการรักษาความหลงใหล
    • คอมเมนต์เชิงขำขันว่าการไม่สูญเสียความหลงใหลในสถานการณ์แบบ 'nerd snipe' เป็นเรื่องสำคัญ
    • แชร์ประสบการณ์โปรเจกต์ส่วนตัว
    • แชร์ประสบการณ์การทำนาฬิกาปลุกด้วย ESP32 โดยมี LED array, buzzer และ PIR sensor
    • ยังค้นพบเพิ่มเติมว่าการทำ RSSI logging ทำให้รู้ได้ว่าตัวเองอยู่บนเตียงหรือไม่ และมีการพลิกตัวตอนกลางคืนหรือไม่
    • คำถามเกี่ยวกับการ 'ทำให้เป็นผลิตภัณฑ์' ของโปรเจกต์ ESP32
    • ถามถึงวิธีทำให้โปรเจกต์ ESP32 ดูเหมือนผลิตภัณฑ์จริง พร้อมกล่าวถึงแนวโน้มในฐานะนักพัฒนาซอฟต์แวร์ที่ชอบรูปแบบที่เสร็จสมบูรณ์
    • ข้อควรพิจารณาเมื่อทำโปรเจกต์ในมหาวิทยาลัย
    • หากทำโปรเจกต์ติดตามผู้คนในมหาวิทยาลัย นี่เป็นโอกาสที่จะขอคำแนะนำเกี่ยวกับ protocol การวิจัยในมนุษย์ และควรสอบถามอาจารย์
    • กล่าวถึงนโยบายด้านความเป็นส่วนตัวและความปลอดภัยของ IT ของมหาวิทยาลัย
    • ข้อเสนอวิธีแก้ปัญหาการจัดการหน่วยความจำข้อมูล
    • เสนอให้ใช้อัลกอริทึมประมาณค่าคาร์ดินาลิตี ซึ่งสามารถประมาณจำนวน beacon ID ที่ไม่ซ้ำกันได้โดยใช้พื้นที่คงที่ เพื่อแก้ปัญหาการเก็บข้อมูลไว้ในหน่วยความจำ
    • แชร์ประสบการณ์กับโปรเจกต์คล้ายกัน
    • แชร์ประสบการณ์ส่วนตัวว่าเคยทำโปรเจกต์คล้ายกันเมื่อหลายปีก่อน
    • เคล็ดลับการเขียนบล็อกโพสต์
    • แนะนำว่าการใส่บรรณานุกรมหรือเอกสารอ้างอิงในบล็อกโพสต์มีประโยชน์ต่อการช่วยให้ผู้อ่านเข้าใจมากขึ้น