-
- Использование JSON в полезной нагрузке пакетов - исключительно "application specific", это ваш личный выбор/не-выбор. Можете не использовать, ничто вас не обязывает. MQTT стандарт ничего не знает о JSON. Отвечая на вопрос, почему все-таки многие стремятся к тому чтобы в качестве полезной нагрузки использовать JSON? Потому что эти люди при разработке применяют на "уровне приложения" языки Python, JavaScript и другие со встроенной библиотечной поддержкой Web (Go, Ruby, RxTx(380 знак., 27.12.2021 01:47)
- JSON в MQTT просто удобен для обработки всякими готовыми приложениями и для группировки данных. Никто не мешает передавать по MQTT все что соответствует стандарту, если вы сами все это будете обрабатывать. A.L.(88 знак., 26.12.2021 21:46)
- Интерпретирует сообщение, как правило, код на JS (или хорошо, чтобы
он умел это делать для целей отладки). Или в websocket должно быть
хорошо транслироваться. Или ещё чего. lloyd(81 знак., 26.12.2021 18:18)
- Есть понимание что делает бесплатный MQTT в случае бинарного сообщения ? В ответе на PUBLISH не предусмотрен код результата - он рвёт соединение или игнорирует текущее сообщение ? А как определяет бинарник - по недопустимым комбинациям для UTF-8 ? - Юpий_CB(26.12.2021 21:33)
- Офигенно! Говнокод, значит, бесплатно, а хочешь клиента на 8051 -
плати. Класс! - Evgeny_CD(26.12.2021 19:56)
- офигенно рожать клиента на 8051+ сетевой интерфейс, когда ESP8266
по цене песка - Vit(26.12.2021 22:01)
- Модульность и только модульность. Канал связи - сотик, WiFi, еще
что - отдельный модуль. Устройство связи с объектом - другой
модуль. Пусть задачи сокета с TLS решает модуль связи. Я не против.
Тогда УСО может быть очень простой, откуда и взялось упоминание
8051 (я нифига на фанат 51). Но если код УСО влазит в 4К ОЗУ и 64К
FLASH - 51 в принципе возможна, а нужна она или нет - решать творцу
проекта. Но как только мы начинаем юзать JSON и прочая - 51 уже
мимо почти наверняка. - Evgeny_CD(26.12.2021 22:13)
- начинается с денег. тот же 8051 как декодер пульта RF-ДУ в WiFi-реле SonOff работает не хуже м/с декодера от Princeton Technology, и при этом на копейку дешевле. но это не повод поставить МК жирнее, а держать ESP как модем. что-то промышленное нужно строить иначе, но зависит от условий - иногда такого же рода гуано можно снабдить внешним сторожем с выключателем питания и всё становится веселее. как пример - туча сборщиков (от разных производителей) данных со всяких счетчиков Vit(113 знак., 26.12.2021 22:37)
- Модульность и только модульность. Канал связи - сотик, WiFi, еще
что - отдельный модуль. Устройство связи с объектом - другой
модуль. Пусть задачи сокета с TLS решает модуль связи. Я не против.
Тогда УСО может быть очень простой, откуда и взялось упоминание
8051 (я нифига на фанат 51). Но если код УСО влазит в 4К ОЗУ и 64К
FLASH - 51 в принципе возможна, а нужна она или нет - решать творцу
проекта. Но как только мы начинаем юзать JSON и прочая - 51 уже
мимо почти наверняка. - Evgeny_CD(26.12.2021 22:13)
- офигенно рожать клиента на 8051+ сетевой интерфейс, когда ESP8266
по цене песка - Vit(26.12.2021 22:01)
- ничего страшного. только на каждый недосервер ваш код для
распаковки-интерпретации не забудьте уговорить положить и
договориться о сопровождении, а то даже с CBOR (rfc8949) не всё
просто - Vit(26.12.2021 14:08)
- Не очень понял... Зачем серверу как-то интерпретировать полезную
нагрузку ? Принял - передал. Ему должен быть понятен только
заголовок. Интерпретировать должны клиенты. Ведь сервер в MQTT
только посредник в передаче сообщений. - Юpий_CB(26.12.2021 14:37)
- кому и кобыла невеста. пока нельзя было в браузере посмотреть, что выдаёт
датчик уровня говна в септикелюбимая самолепная метеостанция, этот MQTT никому нафиг не нужен был. теперь можно и простыми даш-клиентами с ведротрубы поглядеть на буквы прямо сброкерасервера. ЗЫ а структуры передаввать как дампы памяти - говнокод ещё тот обычно (имеется опыт). - Vit(26.12.2021 21:59)- Мне не очень нравится идея разбирать текстовые потоки JSON в
реальном времени на STM32. Особенно учитывая, что заказчик не может
определиться сколько клиентов будет. Пишет "5000 с возможностью
масштабировать". Насколько рационально оно будет разбито по
темам(топикам) тоже не ясно. Поэтому платить за JSON 100 кратным
увеличением времени обработки и 20 кратным увеличением требований к
ОЗУ и к каналу.... Какой из вариантов является говнокодом - совсем
не факт. Почему именно вы Юpий_CB(50 знак., 26.12.2021 22:21)
- а вы не спрашивали. протоколы не для того рожают, чтобы просто бумажками пошелестеть. начинается с порядка байт в данных и упакованности данных в рамках протокола. часто люди с опытом программирования на 8-и-битниках путают структуру данных в протоколе и структуру хранения/использования в программе. а ещё часто пытаются подгонять порядок полей и прочая под протокол, или наоборот, если у них есть такая возможность. когда же начинается портирование кода ...нажитого непосильным Vit(1143 знак., 26.12.2021 23:05)
- Мне не очень нравится идея разбирать текстовые потоки JSON в
реальном времени на STM32. Особенно учитывая, что заказчик не может
определиться сколько клиентов будет. Пишет "5000 с возможностью
масштабировать". Насколько рационально оно будет разбито по
темам(топикам) тоже не ясно. Поэтому платить за JSON 100 кратным
увеличением времени обработки и 20 кратным увеличением требований к
ОЗУ и к каналу.... Какой из вариантов является говнокодом - совсем
не факт. Почему именно вы Юpий_CB(50 знак., 26.12.2021 22:21)
- кому и кобыла невеста. пока нельзя было в браузере посмотреть, что выдаёт
- Не очень понял... Зачем серверу как-то интерпретировать полезную
нагрузку ? Принял - передал. Ему должен быть понятен только
заголовок. Интерпретировать должны клиенты. Ведь сервер в MQTT
только посредник в передаче сообщений. - Юpий_CB(26.12.2021 14:37)