Arduino - HTTPS-Anfrage
Arduino kann als Web-Client fungieren, um über HTTPS eine Verbindung zu einem Webserver herzustellen. Ein Webserver kann eine Website, eine Web-API oder eine REST-API bzw. ein Webdienst sein ...
HTTP gegen HTTPS
Aus der Sicht eines Webclients sind HTTPS im Wesentlichen dasselbe wie HTTP, abgesehen davon, dass HTTPS Daten zwischen dem Client und dem Server verschlüsselt. Dies macht HTTPS sicher.
Daher müssen wir, um HTTPS zu lernen, zuerst etwas über HTTP lernen und dann lernen, wie man Daten verschlüsselt.
Erfahren Sie mehr über HTTP
- Siehe Arduino - HTTP-Anfrage Tutorial
Lernen Sie, wie man Daten in HTTPS verschlüsselt
Glücklicherweise ist es einfach, HTTP-Code so zu ändern, dass HTTPS-Code entsteht. Es muss nur eine Zeile Code geändert werden, je nach Board/Shield. Im HTTP-Code finden Sie die in der untenstehenden Tabelle angegebenen Codezeilen und ersetzen Sie sie durch den entsprechenden HTTPS-Code.
| Board/Shield | HTTP Code | HTTPS Code |
|---|---|---|
| Arduino UNO R4 WiFi | WiFiClient client; | WiFiSSLClient client; |
| Arduino UNO WIFI Rev2 | client.connect(server, 80) | client.connectSSL(server, 443) |
| ARDUINO NANO 33 IOT | client.connect(server, 80) | client.connectSSL(server, 443) |
| ARDUINO MKR WIFI 1010 | client.connect(server, 80) | client.connectSSL(server, 443) |
| ARDUINO MKR1000 WIFI | client.connect(server, 80) | client.connectSSL(server, 443) |
| Arduino MKR VIDOR 4000 WiFi | client.connect(server, 80) | client.connectSSL(server, 443) |
※ Notiz:
- Auf einigen Boards/Shield-Modulen, wenn die Bibliothek die Klasse WiFiSSLClient unterstützt, haben wir eine weitere Möglichkeit, HTTP-Code so zu ändern, dass HTTPS-Code entsteht. Es muss nur WiFiClient durch WiFiSSLClient ersetzt und Port 80 auf 443 geändert werden.
- Arduino Ethernet Shield unterstützt kein HTTPS.
- In diesem Tutorial zeigen wir keinen Code. Das liegt daran, dass Sie einfach den HTTP-Code aus Arduino - HTTP request erhalten und ihn dann basierend auf der obigen Anweisung ändern. Durch das Modifizieren des HTTP-Codes können Sie HTTPS POST/GET verwenden oder Daten vom Arduino per HTTPS POST/GET an einen Webserver senden.