ข้ามไปยังเนื้อหาหลัก
ผลงานทั้งหมด

งานลูกค้า·2026·เว็บแอป · วิทยาศาสตร์ข้อมูล · 3D

AstroTrack3D

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

AstroTrack3D
บทบาท
นักพัฒนา 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) ทั้งหมดเป็นระบบอ่านอย่างเดียว ไม่เพิ่มความเสี่ยงให้ตัวกล้อง

โจทย์และปัญหา

  1. 01ผู้ปฏิบัติงาน นักดาราศาสตร์ และวิศวกรต้องการคำตอบเดียวกันว่า ตอนนี้กล้องชี้ไปที่ไหน ระบบย่อยปกติไหม และข้อมูลที่บันทึกไว้ใช้ได้หรือเปล่า
  2. 02ข้อมูลมาจากหลายแหล่งที่หน้าตาต่างกัน ทั้ง telemetry สดจาก ACU ไฟล์ MBFITS ที่บันทึกแล้ว และสถานะของช่องทาง EDD/TCS
  3. 03การวางแผนสังเกตการณ์ต้องคิดถึงความสูงเหนือขอบฟ้า ดวงอาทิตย์ และดาวเทียมพร้อมกัน
  4. 04ระหว่าง session ไม่มีใครรู้ทันทีว่าไฟล์ที่เพิ่งบันทึกใช้ได้ไหม กล้องชี้แม่นแค่ไหน หรือ backend ค้างอยู่หรือเปล่า จนกว่าจะเอาไฟล์ไปเปิดดูทีหลัง

วิธีแก้

  1. 01รับ telemetry ผ่าน ZeroMQ แล้วถอดรหัสตามเอกสาร ICD เป็นหน้าจอ 11 ระบบย่อย ตั้งแต่การชี้และติดตาม แกนและไดรฟ์ เส้นทางแสง M1 hexapod ไปจนถึง safety และ calibration
  2. 02ฉาก 3 มิติด้วย Three.js แสดงกล้อง ลำแสง ท้องฟ้า ทางช้างเผือก และระบบสุริยะ ให้เห็นบริบทของการชี้ทันที
  3. 03Operations dashboard จอเดียวสำหรับห้องปฏิบัติการ: ลำแสงในฉาก 3 มิติ สถานะไดรฟ์ทั้ง 8 ตัว เส้นทางแสง แบบจำลองการชี้ สภาพอากาศ และบันทึกเหตุการณ์
  4. 04ตรวจจับรูปแบบการสแกน (RASTER, CROSS, ON_SOURCE) อัตโนมัติจาก telemetry อย่างเดียว พร้อมค่าความมั่นใจและไทม์ไลน์การเคลื่อนที่
  5. 05หน้า Backend Services ติดตาม EDD และ TCS: state machine ของรอบสแกน เส้นทางสัญญาณจาก digitizer ถึงไฟล์ pipeline ทั้งหมด และแจ้งเตือนเมื่อค้างนานผิดปกติ
  6. 06Realtime File Monitor: ไฟล์ MBFITS ที่บันทึกเสร็จถูกพล็อตทันทีผ่าน WebSocket พร้อม Sky Geometry (กล้องชี้ไปไหนตลอด session) Pointing Quality Skyline survey และรายงาน PDF ในคลิกเดียว
  7. 07ชุดเครื่องมือ MBFITS สำหรับ CROSS, RASTER และ ON_SOURCE: ตรวจคุณภาพสแกน fit ลำแสง แผนที่ลำแสง สเปกตรัม raw stream RFI flagging และ 4D explorer
  8. 08ตัววางแผนปี/เดือน/สัปดาห์/วัน ที่คำนวณช่วงสังเกตได้ พร้อมการเตือนดวงอาทิตย์และ avoidance catalogue
  9. 09ระบบมอนิเตอร์ครบชุด Prometheus, Grafana, Loki และ Alertmanager พร้อม runbook และ Mock Lab สำหรับทดลองโดยไม่แตะกล้องจริง

ผลลัพธ์

  1. 01รวมสถานะสด การตรวจข้อมูล และการวางแผน ไว้ในเว็บเดียว แทนการสลับหลายเครื่องมือ
  2. 02ทุกค่าที่แสดงมาพร้อมที่มาและเวลา ค่าที่คำนวณไม่ได้แสดงว่า “ไม่ทราบ” ไม่เดา
  3. 03ระหว่าง session ทีมเห็นผลของแต่ละสแกนทันทีที่ไฟล์บันทึกเสร็จ แทนการรอเปิดไฟล์ทีหลัง
  4. 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 หน้า

ทบทวนโปรเจกต์

ความท้าทาย

  • ความปลอดภัยของกล้อง: ออกแบบเป็นอ่านอย่างเดียว ไม่มีเส้นทางสั่งงาน ACU/TCS และแยก Mock Lab ออกจากระบบจริง
  • ข้อมูลจริงไม่สมบูรณ์เสมอ จึงต้องแสดงความไม่แน่นอนและที่มาของตัวเลขอย่างตรงไปตรงมา
  • งานโตเร็ว (1,700+ commits ใน 4 เดือน) ต้องรักษาคุณภาพด้วย test, CI gate และเอกสารที่ตรวจเทียบกับโค้ด

สิ่งที่เรียนรู้

  • เรียนรู้โดเมนวิทยุดาราศาสตร์ (ระบบพิกัด, beam, MBFITS) ให้เร็วพอจะสร้างเครื่องมือที่นักดาราศาสตร์ใช้ได้จริง
  • ออกแบบให้มองเห็นสถานะระบบได้ตั้งแต่แรก: metrics, logs, audit และ runbooks
  • เขียนเอกสารที่ตรวจเทียบกับโค้ดได้ ไม่ปล่อยให้เอกสารล้าหลัง

สนใจงานแนวนี้?

เล่าโจทย์ของคุณให้ผมฟัง ตอบกลับภายใน 24 ชั่วโมง

คุยเรื่องงาน