Протокол-парсер
Хороший инструмент должен позволять пользователю настраивать его по своему усмотрению.
Версия — QT5.15.2-MinGW64.
Интерфейс
Изображение интерфейса.
Использование
Изображение проверки JSON.
Проверка формата JSON перед добавлением протокола:
Изображение дерева JSON.
Базовое использование
Формат протокола:
Заголовок сообщения | Длина | Область данных |
---|---|---|
7 | 2 | 8 |
HEADER1 | 08 | 12345678 |
Соответствующий файл конфигурации:
{
"HEADER_LENGTH" : 7,
"HEADER1" :
{
".SECTION":
[
["HEADER1", "Заголовок сообщения", 7],
["LENGTH", "Длина", 2],
["DATA", "Область данных", 8]
]
}
}
Пример теста протокола: — HEADER10212345678.
Расширенное использование Если протокол имеет один и тот же заголовок сообщения, но разные функциональные коды для более детальной информации о функциях:
Функциональный код = 01, длина данных = 8:
Заголовок сообщения | Функциональный код | Область данных |
---|---|---|
7 | 2 | 8 |
HEADER1 | 01 | 12345678 |
Функциональный код = 02, длина данных = 4:
Заголовок сообщения | Функциональный код | Область данных |
---|---|---|
7 | 2 | 4 |
HEADER1 | 02 | 1234 |
Соответствующий файл конфигурации:
{
"HEADER_LENGTH" : 7,
"HEADER1" :
{
".SECTION" :
[
["HEADER1", "Заголовок сообщения", 7],
["CODE", "Функциональный код", 2],
["DATA", "Область данных", "CODE"]
],
".REALATION":
{
"DATA": {"01":8, "02":4}
}
}
}
Примеры тестов протокола: — HEADER10112345678; — HEADER1021234.
Продвинутое использование Можно разделить на несколько файлов конфигурации и добавить их в список конфигураций, чтобы избежать создания слишком больших файлов. При наличии достаточного количества файлов конфигурации можно анализировать любые сообщения.
Добавление примечаний (.NOTE):
Для некоторых полей определённые значения имеют особое значение, поэтому мы можем добавить примечания для пояснения. Пример добавления примечаний показан ниже.
{
"HEADER_LENGTH" : 4,
"AA19" :
{
".SECTION":
[
["HEAD", "Заголовок сообщения", 4],
["MACHINECODE", "Код машины", 13],
["M_SEQ", "Последовательность машины", 8],
["TIME", "Время", 14],
["COMM", "Команда", 4],
["USE_STATUS", "Статус использования пользователем", 2],
["DEV_STATUS", "Состояние устройства", 2],
["DOOR_STATUS", "Состояние двери", 2],
["SIM_SIGNAL", "Интенсивность сигнала", 2],
["RUN_TIME", "Время работы (часы)", 5],
["LOST_CONNECTTIME", "Время без соединения (минуты)", 3],
["LOCAL_DATA_NUM", "Количество локальных данных", 3],
["FOOTER", "Конец сообщения", 4]
],
".NOTE":
{
"USE_STATUS":{"00":"Свободно", "01":"Приложение используется", "02":"Засыпка", "03":"В процессе"},
"DEV_STATUS":{"00":"Нормальное", "01":"Неисправность двигателя"},
"DOOR_STATUS":{"00":"Дверь закрыта", "01":"Дверь открыта"}
}
}
}
Изображение функции примечаний.
Примечания
Программа не обеспечивает строгую обработку безопасности данных.
Задачи
— Добавить примечания к особым числовым значениям полей (выполнено). — Реализовать сетевые функции, включая сетевую версию POST-MAN.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )