1. ที่มาและความตั้งใจ
ข้อจำกัดพื้นฐานของโมดูลสื่อสารวิทยุความถี่ต่ำ (RF433) เช่น AS32 หรือ HC-12 คือความเปราะบางต่อสัญญาณรบกวนและอัตราการส่งข้อมูลที่ต่ำ ระบบนี้จึงถูกพัฒนาขึ้นเพื่อแก้ปัญหาการสูญหายของข้อมูล (Packet Loss) ระหว่างการส่งไฟล์ โดยการสร้างเลเยอร์การสื่อสารที่มีความน่าเชื่อถือสูง (Reliable Data Transfer) บนสถาปัตยกรรมแบบ Windowed ARQ เพื่อให้สามารถใช้งานในเชิงเทคนิคได้อย่างมีประสิทธิภาพ
การส่งไฟล์

การรับไฟล์

2. สถาปัตยกรรมโปรโตคอล (Protocol Architecture)
การทำงานถูกแบ่งออกเป็นสองส่วนหลักคือ Control Plane ที่ใช้รูปแบบ JSON ในการแลกเปลี่ยนสถานะระหว่างเครื่องส่งและเครื่องรับ (เช่น SYNC, BURST, REPORT) และ Data Plane ที่จัดการข้อมูลดิบในรูปแบบ Binary Frames การแยกส่วนเช่นนี้ช่วยให้การจัดการสถานะของระบบ มีความชัดเจนและลดโอกาสเกิดความผิดพลาดในการถอดรหัสคำสั่ง
3. กลไก Windowed Selective-Repeat ARQ
หัวใจสำคัญของระบบคือโปรโตคอล Selective-Repeat ARQ ที่ทำงานแบบเป็นชุด (Window) โดยเครื่องส่งจะส่งข้อมูลออกไปเป็น Burst (เช่น 12 แพ็กเก็ตต่อครั้ง) จากนั้นเครื่องรับจะตรวจสอบและส่งรายงานกลับเพียงฉบับเดียวเพื่อแจ้งหมายเลขลำดับ (Sequence Number) ที่สูญหาย วิธีการนี้ช่วยลดจำนวน Acknowledgment (ACK) ที่ไม่จำเป็น และเพิ่มอัตราการไหลของข้อมูล (Throughput) ให้สูงกว่าการส่งแบบ Stop-and-Wait ทั่วไปอย่างมีนัยสำคัญ
4. โครงสร้างเฟรมและการตรวจสอบความถูกต้อง (Data Integrity)
ข้อมูลทุกชุดจะถูกบรรจุลงในเฟรมขนาดคงที่ (MTU) ซึ่งประกอบด้วยส่วนหัว (Header) ที่ระบุ Magic Number, Run ID และหมายเลขลำดับ ความถูกต้องของข้อมูลในระดับบิตจะถูกตรวจสอบด้วยอัลกอริทึม CRC32 และมีการยืนยันความสมบูรณ์ของไฟล์ในขั้นตอนสุดท้ายด้วย SHA1 Hash เพื่อป้องกันการรวมไฟล์ที่ผิดพลาดจากการรบกวนในชั้นบรรยากาศ
5. เครื่องมือวิเคราะห์ประสิทธิภาพ (Benchmark Suite)
นอกจากการถ่ายโอนไฟล์ ระบบยังมาพร้อมกับชุดเครื่องมือ Benchmark ที่รองรับการทดสอบแบบ Sweep เพื่อค้นหาค่า MTU และ Gap Delay ที่เหมาะสมที่สุดสำหรับระยะทางและสภาพแวดล้อมที่แตกต่างกัน ข้อมูลที่ได้จะถูกนำมาประมวลผลเพื่อสร้างคำแนะนำในการตั้งค่าระบบให้มีประสิทธิภาพสูงสุด

6. ความปลอดภัยและความน่าเชื่อถือ
ระบบมีการป้องกันการปะปนของข้อมูลผ่านการใช้ Run ID แบบสุ่มขนาด 16 บิต ทำให้เครื่องรับสามารถแยกแยะได้ว่าข้อมูลที่ได้รับเป็นส่วนหนึ่งของเซสชันปัจจุบันหรือไม่ แม้จะมีการส่งข้อมูลซ้ำจากรอบก่อนหน้า นอกจากนี้ยังมีการจัดการระบบ Timeout และ Max Retransmission Rounds เพื่อป้องกันไม่ให้ระบบค้างในกรณีที่การเชื่อมต่อขาดหายอย่างถาวร
