Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Technologie de l'Internet des objets

Technologie de serveur Web efficace pour les microcontrôleurs à ressources limitées

Il y a quelque temps, nous avons publié un article intitulé Un nouveau regard sur l'intégration d'un serveur Web, dans lequel nous suggérions d'utiliser WebSockets au lieu de HTTP avec ses commandes GET et POST traditionnelles. Un commentateur a critiqué l'article pour ne pas être adapté à une large catégorie de petits systèmes embarqués basés sur des microcontrôleurs.

Le protocole WebSocket, lorsqu'il est utilisé correctement, utilise moins de ressources qu'un serveur Web traditionnel. En fait, nous pensons que WebSockets est la seule option viable si jamais vous prévoyez d'activer TLS pour le serveur Web intégré. Vous utilisez peut-être déjà un serveur Web intégré dans votre appareil, mais l'activation de TLS sur un serveur Web standard pour un appareil aux ressources limitées se termine généralement par un désastre. Pour comprendre pourquoi TLS crée un tel problème pour la technologie de serveur Web standard, consultez notre didacticiel Quand ne pas intégrer un serveur Web dans un appareil.

Conception de référence d'applications Web modernes pour les microcontrôleurs

Nous avons récemment validé nos serveurs HTTP et WebSocket intégrés dans GitHub. Le serveur HTTP et WebSocket intégré, appelé Minnow Server, a été spécialement conçu pour les microcontrôleurs minuscules avec des ressources limitées.

Plus important encore, nous avons également inclus un exemple de référence qui montre comment créer une interface utilisateur Web moderne en temps réel pour la gestion des appareils. L'application Web est ce qu'on appelle une application à page unique (SPA) qui utilise exclusivement le protocole WebSocket pour la gestion des appareils. Le protocole HTTP est utilisé uniquement pour le chargement du SPA. En d'autres termes, HTTP est initialement utilisé par le navigateur lors du chargement de l'application à la demande depuis l'appareil.

L'exemple de référence comprend des mises à jour en temps réel des LED et d'une jauge de thermostat, et il montre comment télécharger le micrologiciel sur WebSockets. Le SPA complet ne nécessite que 41 Ko d'espace de stockage en mémoire flash. De plus, le serveur WebSocket nécessite très peu de RAM pour la communication.

La capture d'écran suivante montre la page de téléchargement du micrologiciel SPA. La page est l'un des exemples de pages qui montrent comment tirer parti du nouveau protocole WebSocket. La page de téléchargement du firmware montre comment créer une logique de téléchargement JavaScript par glisser-déposer et comment envoyer le fichier téléchargé au serveur via la connexion WebSocket. Tous les messages envoyés via la connexion WebSocket sont envoyés sous forme de messages texte JSON, à l'exception du téléchargement, qui est envoyé sous forme de données binaires. JavaScript moderne peut facilement gérer les données binaires et le protocole WebSocket prend en charge à la fois les cadres binaires et les cadres de texte.

Premiers pas avec le serveur Minnow

Rendez-vous sur GitHub, téléchargez le serveur Minnow et commencez à écrire votre propre SPA pour votre propre conception de microcontrôleur. L'exemple de référence a été conçu de manière à pouvoir être facilement réutilisé pour votre propre application de gestion de périphériques embarqués. Les blocs de construction CSS et HTML5 de cette application ont été conçus pour être réutilisés. De plus, la bibliothèque JavaScript de communication WebSocket incluse dans l'exemple est conçue pour être générique et peut facilement être réutilisée dans d'autres applications.

Remarque :

Le Minnow Server est conçu pour les petits microcontrôleurs, mais comme l'exemple de référence est principalement conçu à des fins éducatives, nous avons limité l'environnement de construction prêt à l'emploi à Windows et Linux. Vous pouvez porter l'application sur un système embarqué, mais il est plus logique d'utiliser simplement les idées de conception de l'exemple de référence. Vous pouvez bien entendu utiliser les pièces génériques « telles quelles ».

Bien que Minnow Server puisse être configuré pour gérer plusieurs connexions, l'exemple de référence est configuré pour gérer une connexion à la fois. Tenter de connecter une nouvelle fenêtre de navigateur alors qu'une autre fenêtre de navigateur utilise la seule et unique connexion WebSocket ne fonctionnera pas.

Si vous ne possédez pas l'expérience HTML/CSS/JavaScript requise, envisagez de faire équipe avec un développeur Web frontal. La meilleure façon de réfléchir à la création d'un SPA est de comparer le processus de développement à la création d'une application de bureau ou d'une application téléphonique conçue pour communiquer avec un périphérique via TCP. En règle générale, différents développeurs sont en charge de l'application de bureau et du micrologiciel de l'appareil et c'est également le meilleur moyen de concevoir un SPA. Les développeurs du firmware et du front-end devraient se mettre d'accord sur l'API de communication entre le navigateur et le serveur et vice versa. En d'autres termes, ils devraient spécifier le type de messages envoyés via la connexion WebSocket.


Wilfred Nilsen , fondateur et directeur technique de Real Time Logic, a 28 ans d'expérience dans la conception de logiciels embarqués. Propulsé par une vision des systèmes embarqués connectés, il a conçu le serveur d'applications Barracuda, en l'adaptant aux besoins en temps réel et à faible encombrement des microprocesseurs embarqués.


Technologie de l'Internet des objets

  1. E-textile respirant pour applications portables RF
  2. Tendances de la fabrication pour 2021
  3. Mémoire à changement de phase intégrée à échantillonnage ST pour microcontrôleurs automobiles
  4. Trois étapes vers l'adoption de l'IoT pour les assureurs-maladie
  5. Le lieu de travail offre l'ajustement parfait pour les appareils portables
  6. LoRaWAN remplacera temporairement les réseaux 5G pour l'IoT
  7. technologie SQL ; référence pour une raison
  8. 5 industries vouées à la rupture technologique
  9. 3 meilleures raisons d'utiliser la technologie IoT pour la gestion des actifs