Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Internet der Dinge-Technologie

Effiziente Webserver-Technologie für Mikrocontroller mit eingeschränkten Ressourcen

Vor einiger Zeit haben wir einen Artikel mit dem Titel Ein neuer Blick auf die Einbettung eines Webservers veröffentlicht, in dem wir vorgeschlagen haben, WebSockets anstelle von HTTP mit seinen traditionellen GET- und POST-Befehlen zu verwenden. Ein Kommentator kritisierte, dass der Artikel nicht für eine breite Kategorie von kleinen eingebetteten Mikrocontroller-basierten Systemen geeignet ist.

Das WebSocket-Protokoll verwendet bei korrekter Verwendung weniger Ressourcen als ein herkömmlicher Webserver. Tatsächlich glauben wir, dass WebSockets die einzige praktikable Option ist, wenn Sie jemals planen, den eingebetteten Webserver durch TLS zu aktivieren. Möglicherweise verwenden Sie bereits einen eingebetteten Webserver in Ihrem Gerät, aber die Aktivierung von TLS auf einem Standardwebserver für ein Gerät mit eingeschränkten Ressourcen endet normalerweise in einer Katastrophe. Um zu verstehen, warum TLS ein solches Problem für die Standard-Webservertechnologie verursacht, lesen Sie unser Tutorial, wenn kein Webserver in ein Gerät eingebettet werden sollte.

Modernes Webanwendungs-Referenzdesign für Mikrocontroller

Wir haben vor Kurzem unseren Embedded HTTP- und WebSocket-Server an GitHub übergeben. Der eingebettete HTTP- und WebSocket-Server, genannt Minnow-Server, wurde speziell für winzige Mikrocontroller mit begrenzten Ressourcen entwickelt.

Noch wichtiger ist, dass wir auch ein Referenzbeispiel hinzugefügt haben, das zeigt, wie eine moderne Echtzeit-Webbenutzeroberfläche für die Geräteverwaltung erstellt wird. Die Webanwendung ist eine sogenannte Single Page Application (SPA), die ausschließlich das WebSocket-Protokoll zur Geräteverwaltung verwendet. Das HTTP-Protokoll wird nur zum Laden des SPA verwendet. Mit anderen Worten, HTTP wird zunächst vom Browser verwendet, wenn die Anwendung bei Bedarf vom Gerät geladen wird.

Das Referenzbeispiel enthält Echtzeit-Updates von LEDs und einer Thermostatanzeige und zeigt, wie Sie Firmware über WebSockets hochladen. Das komplette SPA benötigt nur 41 KByte Flash-Speicherplatz. Außerdem benötigt der WebSocket-Server sehr wenig RAM für die Kommunikation.

Der folgende Screenshot zeigt die Seite zum Hochladen der SPA-Firmware. Die Seite ist eine von mehreren Beispielseiten, die zeigen, wie Sie vom neuen WebSocket-Protokoll profitieren können. Die Firmware-Upload-Seite zeigt, wie Sie eine JavaScript-Upload-Logik per Drag &Drop erstellen und die hochgeladene Datei über die WebSocket-Verbindung an den Server senden. Alle über die WebSocket-Verbindung gesendeten Nachrichten werden als JSON-Textnachrichten gesendet, mit Ausnahme des Uploads, der als Binärdaten gesendet wird. Modernes JavaScript kann Binärdaten einfach verwalten und das WebSocket-Protokoll unterstützt sowohl Binär- als auch Textframes.

Erste Schritte mit dem Minnow-Server

Gehen Sie zu GitHub, laden Sie den Minnow-Server herunter und schreiben Sie Ihr eigenes SPA für Ihr eigenes Mikrocontroller-Design. Das Referenzbeispiel wurde so konzipiert, dass es problemlos für Ihre eigene Embedded Device Management-Anwendung wiederverwendet werden kann. Die CSS- und HTML5-Bausteine ​​in dieser Anwendung wurden für die Wiederverwendung entwickelt. Darüber hinaus ist die im Beispiel enthaltene WebSocket-Kommunikations-JavaScript-Bibliothek generisch konzipiert und kann problemlos in anderen Anwendungen wiederverwendet werden.

Hinweis:

Der Minnow-Server ist für kleine Mikrocontroller konzipiert, aber da das Referenzbeispiel hauptsächlich für Bildungszwecke gedacht ist, haben wir die gebrauchsfertige Build-Umgebung auf Windows und Linux beschränkt. Sie können die Anwendung auf ein eingebettetes System portieren, es ist jedoch sinnvoller, nur die Designideen im Referenzbeispiel zu verwenden. Sie können natürlich die generischen Teile „wie sie sind“ verwenden.

Obwohl der Minnow-Server so eingerichtet werden kann, dass er mehrere Verbindungen verwaltet, ist das Referenzbeispiel so eingerichtet, dass er jeweils nur eine Verbindung verwaltet. Der Versuch, ein neues Browserfenster zu verbinden, während ein anderes Browserfenster die einzige WebSocket-Verbindung verwendet, funktioniert nicht.

Sollten Ihnen die erforderlichen HTML-/CSS-/JavaScript-Kenntnisse fehlen, ziehen Sie in Erwägung, mit einem Front-End-Webentwickler zusammenzuarbeiten. Der beste Weg, um darüber nachzudenken, wie ein SPA erstellt wird, besteht darin, den Entwicklungsprozess mit dem Erstellen einer Desktopanwendung oder einer Telefonanwendung zu vergleichen, die für die Kommunikation mit einem Gerät über TCP entwickelt wurde. Normalerweise sind verschiedene Entwickler für die Desktop-App und die Firmware des Geräts verantwortlich und dies ist auch der beste Weg, um ein SPA zu entwerfen. Die Firmware- und Frontend-Entwickler müssten sich auf die Kommunikations-API zwischen Browser und Server einigen und umgekehrt. Mit anderen Worten, sie müssten die Art der Nachrichten angeben, die über die WebSocket-Verbindung gesendet werden.


Wilfred Nilsen , Gründer und CTO von Real Time Logic, verfügt über 28 Jahre Erfahrung in der Entwicklung eingebetteter Software. Angetrieben von einer Vision vernetzter eingebetteter Systeme entwarf er den Barracuda Application Server, der auf den geringen Platzbedarf und die Echtzeitanforderungen eingebetteter Mikroprozessoren zugeschnitten ist.


Internet der Dinge-Technologie

  1. Atmungsaktives E-Textil für tragbare RF-Apps
  2. Trends in der Fertigung für 2021
  3. ST-Sampling eingebetteter Phasenwechselspeicher für Automobil-Mikrocontroller
  4. Drei Schritte zur Einführung des IoT für Krankenversicherungen
  5. Der Arbeitsplatz bietet die perfekte Passform für Wearables
  6. LoRaWAN ersetzt vorübergehend 5G-Netze für IoT
  7. SQL-Technologie; Benchmark aus einem bestimmten Grund
  8. 5 Branchen, die für den technologischen Umbruch bestimmt sind
  9. Die 3 besten Gründe für den Einsatz von IoT-Technologie für das Asset Management
  10. IoT-Technologie für den Energiesektor:Eine signifikante Transformation