ข้ามไปยังเนื้อหา

การค้นหาแพ็กเก็ตการเริ่มต้น

หลังจากสร้างแพ็กเก็ต RGB ที่ถูกต้องแล้ว อุปกรณ์ของเรายังคงไม่ทำงานหรือทำงานไม่ถูกต้อง ซึ่งหมายความว่าเรายังขาดแพ็กเก็ตการเริ่มต้นบางส่วน

  • หากอุปกรณ์ของคุณทำงานตามที่ต้องการแล้ว คุณสามารถข้ามหน้านี้ได้

แพ็กเก็ตการเริ่มต้นคือแพ็กเก็ตใด ๆ ที่อุปกรณ์ต้องได้รับก่อนที่ SignalRGB จะควบคุมอุปกรณ์ได้อย่างถูกต้อง

ในการค้นหาแพ็กเก็ตการเริ่มต้น เราต้องกลับไปที่ข้อมูลที่ดักจับไว้ใน Wireshark

เราจะเริ่มต้นด้วยการลองแพ็กเก็ตการเริ่มต้นแบบไล่ทุกตัว (brute force) ซึ่งหมายความว่าเราจะลองทุกแพ็กเก็ตที่ถูกส่งไปยังอุปกรณ์ก่อนข้อมูล RGB จนกว่าจะใช้งานได้

ในการเริ่มต้น เราจะลองแพ็กเก็ตแรกที่ส่งไปยัง Scimitar และดูว่าจะทำให้ RGB หยุดกะพริบหรือไม่

ขั้นแรก เราจะสร้างฟังก์ชันใหม่และกรอกข้อมูลแพ็กเก็ตโดยใช้ข้อมูลด้านบน

function initpacket1()
{
let packet = [];
packet[0] = 0x00;
packet[1] = 0x07;
packet[2] = 0x04;
packet[3] = 0x02;
device.write(packet,65)
}

จากนั้นเราจะเรียกฟังก์ชันนั้นภายในฟังก์ชันการเริ่มต้น เพื่อให้ถูกเรียกทุกครั้งที่ปลั๊กอินเริ่มทำงานหรือถูกโหลดใหม่

export function Initialize() {
initpacket1();
}

ตอนนี้เราสามารถบันทึกปลั๊กอิน แล้วดูว่ามีการเปลี่ยนแปลงใด ๆ กับไฟของอุปกรณ์หรือไม่

หลังจากบันทึกปลั๊กอินแล้ว อุปกรณ์ก็ทำงานได้ตามที่ต้องการ

ส่วนใหญ่แล้วจะไม่เป็นเช่นนี้ และบางครั้งอาจต้องใช้หลายแพ็กเก็ตในการเริ่มต้นอุปกรณ์ ให้ลองแพ็กเก็ตต่อไปจนกว่าอุปกรณ์จะเริ่มทำงานตามที่ต้องการ

เมื่ออุปกรณ์ทำงานตามที่ต้องการแล้ว ให้ลองตัดแพ็กเก็ตส่วนเกินที่ไม่จำเป็นออก ซึ่งทำได้ด้วยการลองผิดลองถูก

ตอนนี้เมาส์ของเราซิงค์กับ SignalRGB แล้ว แต่ LED ยังไม่มีชื่อและยังไม่ได้แมปตรงกับตำแหน่งจริง เราจึงจะแก้ไขส่วนนั้นต่อไป