niimbot-proto
Some checks failed
Build and deploy mmote.ru / Build-And-Deploy (push) Has been cancelled

This commit is contained in:
MultiMote 2024-07-28 23:10:28 +03:00
parent 832ac3ae0c
commit 8e798a4832

View File

@ -16,7 +16,7 @@ tags:
categories: categories:
- reverse-engineering - reverse-engineering
featured_image: miniature.jpg featured_image: miniature.jpg
lastmod: 2024-07-28T19:45:42+03:00 lastmod: 2024-07-28T23:10:05+03:00
telegram_entry_id: "" telegram_entry_id: ""
type: default type: default
--- ---
@ -52,38 +52,59 @@ type: default
На данный момент мне удалось идентифицировать следующие типы пакетов: На данный момент мне удалось идентифицировать следующие типы пакетов:
| ID команды | Наименование | Описание | ID ответа | | ID команды | Наименование | ID ответа |
| ---------- | --------------------------- | -------- | ---------------------------------------------------------------------------------- | | ---------- | --------------------------- | ---------------------------------------------------------------------------------- |
| 0x01 | PrintStart | | 0x02 | | 0x01 | PrintStart | 0x02 |
| 0x03 | PageStart | | 0x04 | | 0x03 | PageStart | 0x04 |
| 0x05 | PrinterLog | | 0x06 | | 0x05 | PrinterLog | 0x06 |
| 0x0b | AntiFake | | 0x0c | | 0x0b | AntiFake | 0x0c |
| 0x13 | SetPageSize | | 0x14 | | 0x13 | SetPageSize | 0x14 |
| 0x15 | PrintQuantity | | 0x16 | | 0x15 | PrintQuantity | 0x16 |
| 0x1a | RfidInfo | | 0x1b | | 0x1a | RfidInfo | 0x1b |
| 0x1c | RfidInfo2 | | 0x1d | | 0x1c | RfidInfo2 | 0x1d |
| 0x20 | PrintClear | | 0x30 | | 0x20 | PrintClear | 0x30 |
| 0x21 | SetDensity | | 0x31 | | 0x21 | SetDensity | 0x31 |
| 0x23 | SetLabelType | | 0x33 | | 0x23 | SetLabelType | 0x33 |
| 0x27 | SetAutoShutdownTime | | 0x37 | | 0x27 | SetAutoShutdownTime | 0x37 |
| 0x28 | PrinterReset | | 0x38 | | 0x28 | PrinterReset | 0x38 |
| 0x40 | PrinterInfo | | 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e | | 0x40 | PrinterInfo | 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e |
| 0x54 | RfidSuccessTimes | | 0x64 | | 0x54 | RfidSuccessTimes | 0x64 |
| 0x58 | SoundSettings | | 0x68 | | 0x58 | SoundSettings | 0x68 |
| 0x70 | GetVolumeLevel / WriteRFID | | 0x71 | | 0x70 | GetVolumeLevel / WriteRFID | 0x71 |
| 0x83 | PrintBitmapRowIndexed | | ⚠ Без ответа | | 0x83 | PrintBitmapRowIndexed | ⚠ Без ответа |
| 0x84 | PrintEmptyRow | | ⚠ Без ответа | | 0x84 | PrintEmptyRow | ⚠ Без ответа |
| 0x85 | PrintBitmapRow | | ⚠ Без ответа | | 0x85 | PrintBitmapRow | ⚠ Без ответа |
| 0x8e | LabelPositioningCalibration | | 0x8f | | 0x8e | LabelPositioningCalibration | 0x8f |
| 0xa3 | PrintStatus | | 0xb3 | | 0xa3 | PrintStatus | 0xb3 |
| 0xa5 | PrinterStatusData | | 0xb5 | | 0xa5 | PrinterStatusData | 0xb5 |
| 0xaf | PrinterConfig | | 0xbf | | 0xaf | PrinterConfig | 0xbf |
| 0xc1 | Connect | | 0xc2 | | 0xc1 | Connect | 0xc2 |
| 0xda | CancelPrint | | 0xd0 | | 0xda | CancelPrint | 0xd0 |
| 0xdc | Heartbeat (GetPrinterInfo) | | 0xde | | 0xdc | Heartbeat | 0xdd, 0xdf, 0xde, 0xd9 |
| 0xe3 | PageEnd | | 0xe4 | | 0xe3 | PageEnd | 0xe4 |
| 0xf3 | PrintEnd | | 0xf4 | | 0xf3 | PrintEnd | 0xf4 |
Далее рассмотрим основные пакеты подобнее.
### 0x01 PrintStart
Начало последовательности пакетов для печати. Формат данного пакета отличается в разных версиях протоколов. Варианты:
* V1. 1 байт данных. Пример: `0x01`.
* V3. 2 байта данных. Итоговое количество страниц. Пример: `0x00 0x02` (2 страницы)
* V4. 7 байта данных. Пример: `0x00 0x02 0x00 0x00 0x00 0x00 0x00` (2 страницы)
- 2 байта - итоговое количество страниц.
- 4 байта - всегда нули.
- 1 байт - цвет страницы (назначение неизвестно).
* V5. 8 байт данных. Пример: `0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x00` (2 страницы)
- 2 байта - итоговое количество страниц.
- 4 байта - всегда нули.
- 1 байт - цвет страницы (назначение неизвестно).
- 1 байт - вероятнее всего, плотность.
Возвращается ответ с ID 0x02. Данные ответа (1 байт):
* 0x01 - успех
* 0x00 - ошибка
## Важно знать ## Важно знать