20
« : 06.12.2021, 22:41:59 pm »
1. Не совсем пойму выгоду от использования JSON. Ну завели вы один топик, в который сбрасываете JSON пакеты. Логика от этого не поменялась. Вы всё равно оперируете парами {"параметр": значение}, а это значит всё равно где то надо хранить название параметра, для того, что бы определить, какие данные поступили в JSON пакете. Плюс нужен парсер JSON пакетов. Каким образом это обходится при использовании JSON?
2. Да, действительно, можно оперировать отдельными парами. В этом случае, конечно, придётся отбросить QOS и Retain функционал, либо он будет неполноценным. Но если это не критично, то почему бы и нет. Вы правы, надо будет это дело реализовать.
Я понимаю, работать со строкой и JSON пакетом удобно, наглядно, много готового ПО, опирающегося на это. Но почему то никто не вспоминает, что сам по себе MQTT протокол способен передавать данные в любом виде. Что бы передать к примеру число 4 294 967 295 не надо передавать 10 байт, в виде строки, достаточно 4 байт. А контроллеру потом не надо будет парсить JSON и преобразовывать строку в число. Да и в оперативе, не надо хранить название параметра, можно HASH сумму посчитать и по ней искать, всё одно будет быстрее чем разбор JSON пакета и приведение параметров к нужному типу.
Но, это уже не каждому пионеру под силу).
Айрат