Как выбрать простой легкий IoT сервер для разработки?

13

Мы изучаем различные варианты использования IoT и решения. Чтобы облегчить исследование, эксперименты, проектирование, разработку и тестирование возможного решения, я изучаю возможность локальной настройки простого IoT-сервера.

Поэтому я хотел бы понять базовую архитектуру серверов, которые обслуживают устройства IoT. Вообще говоря, устройства IoT связывают службу, которая обслуживает данные и делает информацию доступной для использования другими устройствами. Это довольно просто.

На данный момент возможные периферийные устройства IoT будут использовать Wi-Fi, но планируют перейти на протокол с низкой скоростью передачи данных, протоколом с низким энергопотреблением, таким как ZigBee, BLE или Z-Wave, и в этот момент мне потребуется какой-то тип концентратора. , Полезная нагрузка данных будет составлять около 100 байтов, в пиковом случае передача может достигать одной транзакции в минуту. Краевые устройства IoT будут в основном загружать данные с периодической загрузкой на устройства.

Было предложено изучить MQTT и RabbitMQ в качестве возможных вариантов. Также я был направлен на « Отображение MQTT-сообщений в браузере в режиме реального времени », на который я обращаю внимание во время написания.

Вот несколько вопросов, которые, я считаю, связаны между собой:

  • Что отличает IoT-сервер от веб-сервера, почтового сервера или FTP-сервера?
  • Какова базовая архитектура базового IoT-сервера?
  • Какие характеристики важны при рассмотрении простого и легкого IoT-сервера?
Махендра Гунавардена
источник

Ответы:

6

Я собираюсь ответить на ваш первый вопрос. Я думаю, что было бы лучше задать только один вопрос на ... вопрос :)

Что отличает IoT-сервер от веб-сервера, почтового сервера или FTP-сервера?

  • Веб-сервер сообщает HTTP для предоставления веб-страниц.
  • Почтовый сервер говорит POP / IMAP / SMTP для обмена электронной почтой.
  • FTP-сервер передает протокол FTP для передачи файлов.

По сути, это просто все способы передачи информации между клиентом и сервером. IoT-сервер ничем не отличается, он просто передает протокол IoT для связи между клиентом и сервером. Передаваемая информация - это не веб-страницы, электронная почта или файлы, это такие сообщения, как «текущая температура 20C». Примером IoT-протоколов являются MQTTи CoAP.

ralight
источник
Например, ваш сервер «IoT» может быть «брокером MQTT», и это сделает его сервером IoT, если вы используете MQTT для передачи данных по устройствам в вашей инфраструктуре IoT.
m4l490n
5

Что отличает IoT-сервер от веб-сервера, почтового сервера или FTP-сервера?

Как указал @ralight, сервер IoT работает со стеком протоколов IoT. Это не ограничивается одним уровнем OSI, фактически каждый этап оптимизируется или может быть оптимизирован для использования IoT, и, конечно, необходимы новые протоколы.

Также возможно, что аппаратное обеспечение является нетипичным: в небольшом устройстве настройки устройства сбора данных, таком как Raspberry PI, можно полностью или частично выполнять задачи сервера.

Частично означает туманные вычисления, когда данные обрабатываются там, где они собираются, и только конечные результаты отправляются на главный сервер.

Какова базовая архитектура базового IoT-сервера?

С этого сайта некоторые аппаратные характеристики:

В гипотетическом предположении вашего случая, скажем, 300 клиентов остаются открытыми одновременно на сервере, и каждый клиент отправляет 10 сообщений в секунду, что составляет 3000 сообщений в секунду. Поверьте, даже у брокера, размещенного на двухъядерном компьютере с 2 ГБ оперативной памяти, не будет значительного потребления.

Итак, основное серверное оборудование.

Какие характеристики важны при рассмотрении простого и легкого IoT-сервера?

Я не очень разбираюсь в этом, но мне лично было бы интересно узнать, достаточно ли Raspberry PI как своего рода MQTT-сервер. Где-то в Quora я читал, что Esp8266 нет, но я видел нормальный настольный Linux, работающий на RPI, так почему бы и не выступить в роли сервера.

Что следует учесть перед тем, как попробовать Raspberry, хотя это требования к оборудованию выбранного стека сервисов. На обычном серверном оборудовании в настоящее время объем памяти настолько велик, что проблем не будет.

Упомянутая скорость 3000 мс / сек относительно высока по сравнению с тестами IoT, а RPI3 имеет 1 ГБ ОЗУ. Это половина, так что зависит, будут ли сообщения заполнять память в этом случае или сколько нужно голому MQTT. Это влияет на то, насколько он будет подходящим.

Мико
источник
1
Кажется , что нет никаких проблем с RPI в качестве сервера: iot.stackexchange.com/questions/1858/...
Мико