Я работаю над устройством, которое распознает и собирает информацию из окружающей среды, такую как температура, влажность и т. Д.
Устройство не подключено к какому-либо источнику питания, но имеет аккумулятор и солнечную батарею для зарядки.
Большую часть времени он почти находится в состоянии глубокого сна, и он просыпается только тогда, когда ему нужно почувствовать и передать данные. Эта операция занимает около 1-2 минут, а затем снова ложится спать.
Я не эксперт в этой области, но я думаю, что MQTT должен быть хорошим вариантом, если устройство должно быть доступно для получения сообщений от темы все время, но в моем сценарии оно только считывает датчики и отправляет данные на сервер периодически.
В настоящее время я отправляю данные через HTTP, но мне интересно, имеет ли смысл внедрять MQTT? Должен ли я получить какое-либо преимущество перед HTTP для этого сценария?
Ответы:
Если вы храните данные, просто придерживайтесь HTTP. HTTP это просто односторонний сигнал.
Если ваш сервер или любая другая «вещь» должна реагировать на определенный сигнал (низкая температура, ...), тогда используйте MQTT. Таким образом, многие устройства могут подписаться на ваш температурный сигнал и немедленно реагировать, не используя ваш сервер.
источник
Вы упоминаете солнечную панель и батарею как часть устройства, поэтому вы, вероятно, хотите минимизировать энергопотребление во время передачи, чтобы убедиться, что ваше устройство полностью не разряжается.
Таким образом, вы можете рассмотреть вопрос о COAP , то Co nstrained A РИМЕНЕНИЕ P rotocol, который разработан специально для устройств с ограниченными в Интернете вещей.
В статье « Сравнение экономической эффективности CoAP и HTTP в приложениях Web of Things» вы можете найти довольно убедительные доказательства того, что CoAP может дать вам некоторую экономию энергии здесь. В Приложении A (стр. 38) вы можете посмотреть ожидаемое время автономной работы устройств в таблице A.4. Для временного интервала 120 секунд, как вы ожидаете в вашем случае использования:
Эти расчеты проводились на паре углеродно-цинковых батарей типа АА, но вы можете ясно видеть, что CoAP потребляет намного меньше энергии, поэтому стоит подумать. Его «push-режим», как описано в статье, кажется именно тем, что вы планируете делать.
Хотя вы конкретно не спрашивали о CoAP, я думаю, что стоит упомянуть, поскольку Goufalite уже рассмотрел существенные различия между MQTT и HTTP. Хорошее практическое правило: планируете ли вы общаться один на один или один ко многим ? Если это первое, HTTP и CoAP кажутся более подходящими. Если это последнее, MQTT, вероятно, более удобно.
источник