PHP Dashboard für HmIP Smartmeter
09.10.2024
Elektronik | Funk | Software
Der Technik-Blog
Mit dem Ethernet Shield (W5100) kann der Arduino netzwerkfähig gemacht werden. Gängige Protokolle wie TCP, UPD oder auch HTTP werden von diesem Shield problemlos unterstützt. Es gibt dafür auch sehr viele Bibliotheken, die den Programmieraufwand sehr erleichtern. Damit wird es auch Anfängern sehr leicht gemacht, einen Arduino mit dem Internet zu verbinden. Nachdem SSL heutzutage im WWW der Sicherheitsstandard ist, wird der Ruf nach verschlüsselten Datenübertragungen im Internet der Dinge immer lauter. In diesem Artikel geht es um die Kompatibilität von SSL/TLS HTTPS Requests mit dem Arduino und den möglichen Alternativen.
Nachdem HTTPS Standard auf fast jedem Webserver ist, kommt es vermehrt vor, dass der Webserver herkömmliche HTTP-Anfragen gar nicht mehr annimmt. In diesem Fall muss ein Mikrocontroller Datenpakete über HTTPS senden, um den Server damit überhaupt erst erreichen zu können. Oftmals wird das SSL-Zertifikat gar nicht vom Mikrocontroller geprüft, denn es geht ja "nur" um die Datenübertragung. Wird das SSL-Zertifikat wirklich geprüft, könnten damit auch sensible Daten übertragen werden. Außerdem würde HTTPS auch bei einer bidirektionalen Verbindung sinn machen, da hier einen Steuerbefehl vom Server zum Controller schwieriger manipuliert werden kann.
Was für einen Browser heutzutage absolut keine Herausforderung ist, ist für einen kleinen Mikrocontroller eine extreme Herausforderung. Im Gegensatz zu HTTP müssen neben den Nutzdaten und Headern noch sämtliche Schlüssel erzeugt, geprüft und ausgetauscht werden. Im Hintergrund laufen während der Übertragung viele mathematische Prozesse ab, die sehr viel Prozessorleistung und Zwischenspeicher erfordern.
Zum einen ist der Prozessor für TLS sehr langsam, würde es aber mit viel Zeit trotzdem schaffen. Auch das Ethernet-Shield am Arduino wäre theoretisch für einen HTTPS-Request geeignet. Primär scheitert es letztendlich am Arbeitsspeicher vom Arduino, der für die SSL/TLS Verschlüsselung einfach zu klein ist.
Neuere Boards mit schnelleren Prozessoren und mehr Arbeitsspeicher sind in der Regel dafür geeignet. Boards die speziell für das Internet der Dinge ausgelegt sind, wie z.B. der ESP8266 oder ESP32 unterstützen SSL/TLS und haben dafür auch genug Ressourcen. Aber auch hier benötigt ein HTTPS-Request einige Sekunden, bis dieser fertig abgearbeitet ist. Aber auch Linux basierende Arduino Boards oder MKR Boards würden die Leistung erbringen.
PT1000 Sensoren können nicht direkt analog mit einem Mikrocontroller gemessen werden. Wie baut man einen Messwandler mit dem LM358 für den PT1000 und Arduino?
WeiterlesenDer PT100 ist ein sehr präziser industrieller Temperatursensor. In diesem Artikel geht es um den Bau eines Messverstärkers zum Einlesen eines PT100 am Arduino
WeiterlesenAEQ-WEB © 2015-2024 All Right Reserved