Bỏ qua để đến nội dung

Tìm packet khởi tạo

Sau khi tạo packet RGB đúng, thiết bị của chúng ta vẫn không hoạt động hoặc không hoạt động đúng cách. Điều đó có nghĩa là chúng ta đang thiếu một số packet khởi tạo.

  • Nếu thiết bị của bạn đã hoạt động như mong muốn, bạn có thể bỏ qua trang này.

Các packet khởi tạo là tất cả các packet phải được gửi đến thiết bị trước khi SignalRGB có thể điều khiển nó đúng cách.

Để tìm các packet khởi tạo, chúng ta cần quay lại bản ghi Wireshark.

Trước tiên chúng ta sẽ xác định các packet khởi tạo bằng phương pháp brute force. Điều đó có nghĩa là chúng ta sẽ thử từng packet mà thiết bị nhận được trước dữ liệu RGB cho đến khi hoạt động.

Để bắt đầu, chúng ta sẽ đơn giản thử packet đầu tiên mà Scimitar nhận được và xem điều đó có dừng nhấp nháy ánh sáng RGB của chúng ta không.

Trước tiên chúng ta tạo một hàm mới và điền vào packet với dữ liệu ở trên.

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

Sau đó chúng ta gọi hàm này bên trong hàm Initialize, để nó được gọi mỗi khi plugin khởi động hoặc tải lại.

export function Initialize() {
initpacket1();
}

Bây giờ chúng ta có thể lưu plugin và xem có sự thay đổi nào trong ánh sáng của thiết bị không.

Sau khi lưu plugin, thiết bị hiện hoạt động như mong muốn.

Trong hầu hết các trường hợp, điều đó sẽ không xảy ra như vậy, và đôi khi cần nhiều packet hơn để khởi tạo thiết bị. Tiếp tục thử các packet cho đến khi thiết bị bắt đầu hoạt động như mong muốn.

Khi thiết bị hoạt động như mong muốn, hãy thử xóa bất kỳ packet bổ sung nào không cần thiết. Điều này được thực hiện bằng phương pháp thử và sai.

Bây giờ chuột của chúng ta đã đồng bộ hóa với SignalRGB, nhưng các LED chưa được đặt tên và chưa được ánh xạ đúng sang vị trí vật lý của chúng. Chúng ta sẽ giải quyết điều đó tiếp theo.