Comment sélectionner un serveur IoT léger et léger pour le développement?

13

Nous explorons les différents cas d'utilisation et solutions IoT. Afin de faciliter l'exploration, l'expérimentation, la conception, le développement et les tests d'une solution possible, j'étudie la possibilité de mettre en place localement un simple serveur IoT.

Par conséquent, je voudrais comprendre l'architecture sous-jacente des serveurs qui desservent les appareils IoT. De manière générale, les appareils IoT connectent un service qui fournit des données et rend les informations disponibles pour une utilisation par d'autres appareils. C'est assez simple.

Pour le moment, les éventuels périphériques IoT utiliseront le Wi-Fi, mais envisagez de migrer vers un faible débit de données, un protocole à faible puissance tel que ZigBee, BLE, ou pourrait être Z-Wave, auquel cas j'aurai besoin d'un certain type de concentrateur . La charge utile des données sera d'environ 100 octets, au pic la transmission pourrait atteindre une transaction par minute. Les appareils IoT edge téléchargeront principalement des données, avec un téléchargement occasionnel sur les appareils.

Il a été suggéré que j'examine MQTT et RabbitMQ comme options possibles. J'ai également été dirigé vers « Affichage des messages MQTT dans un navigateur en temps réel », sur lequel je me penche au moment de la rédaction.

Voici quelques questions que je crois liées:

  • Qu'est-ce qui différencie un serveur IoT d'un serveur Web, d'un serveur de messagerie ou d'un serveur FTP?
  • Quelle est l'architecture sous-jacente d'un serveur IoT de base?
  • Quelles caractéristiques sont importantes lorsque l'on considère un serveur IoT simple et léger?
Mahendra Gunawardena
la source

Réponses:

6

Je vais répondre à votre première question. Je pense qu'il serait préférable de poser une seule question par ... question :)

Qu'est-ce qui différencie un serveur IoT d'un serveur Web, d'un serveur de messagerie ou d'un serveur FTP?

  • Un serveur Web parle HTTP pour fournir des pages Web.
  • Un serveur de messagerie parle POP / IMAP / SMTP pour échanger des e-mails.
  • Un serveur FTP parle du protocole FTP pour le transfert de fichiers.

En gros, ce ne sont que toutes les façons de transférer des informations entre un client et un serveur. Un serveur IoT n'est pas différent, il parle simplement d'un protocole 'IoT' pour communiquer entre le client et le serveur. Les informations transmises ne sont pas des pages Web, des e-mails ou des fichiers, ce sont des messages tels que "la température actuelle est de 20 ° C". Des exemples de protocoles IoT sont MQTTet CoAP.

ralight
la source
Par exemple, votre serveur "IoT" pourrait être le "MQTT Broker" et cela en ferait un serveur IoT si vous utilisez MQTT pour transmettre des données autour des appareils de votre infrastructure IoT.
m4l490n
5

Qu'est-ce qui différencie un serveur IoT d'un serveur Web, d'un serveur de messagerie ou d'un serveur FTP?

Comme l'a souligné @ralight, le serveur IoT fonctionne avec la pile de protocoles IoT. Cela ne se limite pas à une couche OSI, chaque étape est ou peut être optimisée pour l'utilisation de l'IoT et de nouveaux protocoles sont bien sûr nécessaires.

Il est également possible que le matériel soit atypique: dans peu de périphériques de collecte de données comme Raspberry PI peut contenir les tâches du serveur en tout ou en partie.

Signifie en partie le brouillard informatique, où les données sont traitées là où elles sont collectées et seuls les résultats finaux sont transmis au serveur principal.

Quelle est l'architecture sous-jacente d'un serveur IoT de base?

Sur ce site, quelques spécifications matérielles:

Dans l'hypothèse hypothétique de votre cas, disons que 300 clients sont maintenus ouverts simultanément sur le serveur et que chaque client envoie 10 msgs / seconde, soit 3000 messages par seconde. Croyez-moi, même un courtier hébergé sur dual core avec 2 Go de RAM n'aura pas de consommation importante.

Donc, matériel serveur de base.

Quelles caractéristiques sont importantes lorsque l'on considère un serveur IoT simple et léger?

Je n'ai pas beaucoup d'informations à ce sujet, mais je serais personnellement intéressé de savoir si Raspberry PI est suffisant comme une sorte de serveur MQTT. J'ai lu quelque part à Quora que Esp8266 ne l'est pas, mais j'ai vu un Linux de bureau normal travailler sur RPI, alors pourquoi ne pourrait-il pas servir de serveur également.

Ce qu'il faut considérer avant d'essayer Raspberry est la configuration matérielle requise pour la pile de services sélectionnée. Avec un matériel de serveur normal, les quantités de mémoire actuelles sont si élevées qu'il n'y aura pas de problème.

Le nombre de 3000 msg / s mentionné est relativement élevé par rapport aux cas de test IoT, et le RPI3 a 1 Go de RAM. C'est la moitié, donc cela dépend si les messages remplissent la mémoire dans ce cas ou combien le MQTT nu a besoin. Cela affecte son adéquation.

mico
la source
1
Semble qu'il n'y a aucun problème avec RPI en tant que serveur: iot.stackexchange.com/questions/1858/…
mico