งานลูกค้า·2026·เว็บแอป · วิทยาศาสตร์ข้อมูล · 3D
AstroTrack3D
เว็บแอปติดตามสถานะกล้องโทรทรรศน์วิทยุแห่งชาติ 40 เมตร ตรวจข้อมูลการสังเกตการณ์ และวางแผนการสังเกต ในที่เดียว

- บทบาท
- นักพัฒนา Full-stack (ระหว่างฝึกงาน)
- ลูกค้า
- NARIT — สถาบันวิจัยดาราศาสตร์แห่งชาติ (TNRT)
- ทีม
- ทำงานร่วมกับทีม TNRT/TNRO
- ระยะเวลา
- มิ.ย. – ต.ค. 2026 (พัฒนาต่อเนื่อง)
- ปี
- 2026
ตัวเลขสำคัญ
- 1,700+
- commits ใน 4 เดือน (มิ.ย.–ต.ค. 2026)
- 2,500+
- test cases (Python + TypeScript)
- 189
- API endpoints (HTTP + WebSocket)
- 11
- ระบบย่อยของกล้องที่ติดตามสถานะ
- 57
- หน้าจอในเว็บแอป
- 88 · 12
- กฎแจ้งเตือน · Grafana dashboards
AstroTrack3D คือเว็บแอปที่ผมพัฒนาให้ NARIT สำหรับกล้องโทรทรรศน์วิทยุแห่งชาติ (TNRT) ขนาด 40 เมตร รวมสถานะสดจากหน่วยควบคุมกล้อง (ACU) ไฟล์การสังเกตการณ์ MBFITS ช่องทางข้อมูล EDD/TCS และเครื่องมือวางแผน ไว้ในหน้าเดียวบนฉาก 3 มิติของตัวกล้อง ให้ผู้ปฏิบัติงาน นักดาราศาสตร์ และวิศวกรเห็นภาพเดียวกัน ตั้งแต่ก่อนสังเกตการณ์ (วางแผนว่าจะดูอะไร เมื่อไร) ระหว่างสังเกตการณ์ (กล้องชี้ไหน สแกนแบบไหน backend พร้อมไหม ไฟล์ที่เพิ่งบันทึกใช้ได้หรือเปล่า) จนถึงหลังสังเกตการณ์ (วิเคราะห์ไฟล์และออกรายงาน PDF) ทั้งหมดเป็นระบบอ่านอย่างเดียว ไม่เพิ่มความเสี่ยงให้ตัวกล้อง
โจทย์และปัญหา
- 01ผู้ปฏิบัติงาน นักดาราศาสตร์ และวิศวกรต้องการคำตอบเดียวกันว่า ตอนนี้กล้องชี้ไปที่ไหน ระบบย่อยปกติไหม และข้อมูลที่บันทึกไว้ใช้ได้หรือเปล่า
- 02ข้อมูลมาจากหลายแหล่งที่หน้าตาต่างกัน ทั้ง telemetry สดจาก ACU ไฟล์ MBFITS ที่บันทึกแล้ว และสถานะของช่องทาง EDD/TCS
- 03การวางแผนสังเกตการณ์ต้องคิดถึงความสูงเหนือขอบฟ้า ดวงอาทิตย์ และดาวเทียมพร้อมกัน
- 04ระหว่าง session ไม่มีใครรู้ทันทีว่าไฟล์ที่เพิ่งบันทึกใช้ได้ไหม กล้องชี้แม่นแค่ไหน หรือ backend ค้างอยู่หรือเปล่า จนกว่าจะเอาไฟล์ไปเปิดดูทีหลัง
วิธีแก้
- 01รับ telemetry ผ่าน ZeroMQ แล้วถอดรหัสตามเอกสาร ICD เป็นหน้าจอ 11 ระบบย่อย ตั้งแต่การชี้และติดตาม แกนและไดรฟ์ เส้นทางแสง M1 hexapod ไปจนถึง safety และ calibration
- 02ฉาก 3 มิติด้วย Three.js แสดงกล้อง ลำแสง ท้องฟ้า ทางช้างเผือก และระบบสุริยะ ให้เห็นบริบทของการชี้ทันที
- 03Operations dashboard จอเดียวสำหรับห้องปฏิบัติการ: ลำแสงในฉาก 3 มิติ สถานะไดรฟ์ทั้ง 8 ตัว เส้นทางแสง แบบจำลองการชี้ สภาพอากาศ และบันทึกเหตุการณ์
- 04ตรวจจับรูปแบบการสแกน (RASTER, CROSS, ON_SOURCE) อัตโนมัติจาก telemetry อย่างเดียว พร้อมค่าความมั่นใจและไทม์ไลน์การเคลื่อนที่
- 05หน้า Backend Services ติดตาม EDD และ TCS: state machine ของรอบสแกน เส้นทางสัญญาณจาก digitizer ถึงไฟล์ pipeline ทั้งหมด และแจ้งเตือนเมื่อค้างนานผิดปกติ
- 06Realtime File Monitor: ไฟล์ MBFITS ที่บันทึกเสร็จถูกพล็อตทันทีผ่าน WebSocket พร้อม Sky Geometry (กล้องชี้ไปไหนตลอด session) Pointing Quality Skyline survey และรายงาน PDF ในคลิกเดียว
- 07ชุดเครื่องมือ MBFITS สำหรับ CROSS, RASTER และ ON_SOURCE: ตรวจคุณภาพสแกน fit ลำแสง แผนที่ลำแสง สเปกตรัม raw stream RFI flagging และ 4D explorer
- 08ตัววางแผนปี/เดือน/สัปดาห์/วัน ที่คำนวณช่วงสังเกตได้ พร้อมการเตือนดวงอาทิตย์และ avoidance catalogue
- 09ระบบมอนิเตอร์ครบชุด Prometheus, Grafana, Loki และ Alertmanager พร้อม runbook และ Mock Lab สำหรับทดลองโดยไม่แตะกล้องจริง
ผลลัพธ์
- 01รวมสถานะสด การตรวจข้อมูล และการวางแผน ไว้ในเว็บเดียว แทนการสลับหลายเครื่องมือ
- 02ทุกค่าที่แสดงมาพร้อมที่มาและเวลา ค่าที่คำนวณไม่ได้แสดงว่า “ไม่ทราบ” ไม่เดา
- 03ระหว่าง session ทีมเห็นผลของแต่ละสแกนทันทีที่ไฟล์บันทึกเสร็จ แทนการรอเปิดไฟล์ทีหลัง
- 04มีเอกสารภาษาไทย 50 หน้า runbook 11 ฉบับ และชุดทดสอบกว่า 2,500 กรณี ให้ทีมดูแลต่อได้
สิ่งที่ส่งมอบ
- เว็บแอป 3D monitoring (React + Three.js) 57 หน้าจอ
- Operations dashboard และหน้าสถานะระบบย่อยของกล้อง
- หน้า Backend Services สำหรับ EDD/TCS
- Realtime File Monitor พร้อม Sky Geometry, Skyline และรายงาน PDF
- ระบบตรวจจับรูปแบบการสแกนอัตโนมัติ
- เครื่องมือวิเคราะห์ไฟล์ MBFITS
- ตัววางแผนสังเกตการณ์และแค็ตตาล็อกแหล่งกำเนิด
- Mock Lab สำหรับทดลองโดยไม่แตะกล้อง
- ระบบ monitoring, alerting และ runbooks
- คู่มือและ wiki ภาษาไทย 50 หน้า
แกลเลอรี
หน้าปฏิบัติการ จักรวาล และเส้นทางแสง
16:9 / LG
Operations dashboard: กล้องกำลังติดตาม W49N ลำแสงในฉาก 3 มิติชี้ผ่านแหล่งกำเนิดในระนาบกาแล็กซี รอบด้วยสถานะไดรฟ์ทั้ง 8 ตัว เส้นทางแสง แบบจำลองการชี้ สภาพอากาศ และบันทึกเหตุการณ์ (ข้อมูลจากชุดจำลอง Mock Lab)

ทางช้างเผือกแบบ schematic 3 มิติ (มาตราส่วน log) พร้อมแหล่งกำเนิดคลื่นวิทยุจากแค็ตตาล็อก เช่น Orion KL และ VY Canis Majoris

หมุนมุมมองได้อิสระ เพื่อดูตำแหน่งของแหล่งกำเนิดเทียบกับระนาบกาแล็กซี

เส้นทางแสงจาก M1 ถึงหัวรับสัญญาณ: THU, vertex iris, กระจก M4A/M4B และตัวรับ L/K/CXKu-band (ข้อมูลจากชุดจำลอง Mock Lab)

Day Planner: ลำแสงของกล้องในฉาก 3 มิติ แผนที่ท้องฟ้า กราฟ elevation ตามเวลา และรายการแหล่งที่สังเกตได้ตอนนี้ (ข้อมูลจากชุดจำลอง Mock Lab)
ทบทวนโปรเจกต์
ความท้าทาย
- ความปลอดภัยของกล้อง: ออกแบบเป็นอ่านอย่างเดียว ไม่มีเส้นทางสั่งงาน ACU/TCS และแยก Mock Lab ออกจากระบบจริง
- ข้อมูลจริงไม่สมบูรณ์เสมอ จึงต้องแสดงความไม่แน่นอนและที่มาของตัวเลขอย่างตรงไปตรงมา
- งานโตเร็ว (1,700+ commits ใน 4 เดือน) ต้องรักษาคุณภาพด้วย test, CI gate และเอกสารที่ตรวจเทียบกับโค้ด
สิ่งที่เรียนรู้
- เรียนรู้โดเมนวิทยุดาราศาสตร์ (ระบบพิกัด, beam, MBFITS) ให้เร็วพอจะสร้างเครื่องมือที่นักดาราศาสตร์ใช้ได้จริง
- ออกแบบให้มองเห็นสถานะระบบได้ตั้งแต่แรก: metrics, logs, audit และ runbooks
- เขียนเอกสารที่ตรวจเทียบกับโค้ดได้ ไม่ปล่อยให้เอกสารล้าหลัง
สนใจงานแนวนี้?
เล่าโจทย์ของคุณให้ผมฟัง ตอบกลับภายใน 24 ชั่วโมง