Arduino Yêu cầu HTTPS

Arduino có thể đóng vai trò là một máy khách web để thực hiện HTTPS tới một máy chủ web. Máy chủ web có thể là một trang web, Web API hoặc REST API, dịch vụ web ...

HTTP so với HTTPS

Xét từ quan điểm của một máy khách web, HTTPS giống với HTTP, ngoại trừ ở chỗ HTTPS mã hóa dữ liệu giữa máy khách và máy chủ. Điều này làm cho HTTPS an toàn.

Vì vậy, để tìm hiểu về HTTPS, chúng ta chỉ cần tìm hiểu về HTTP trước, sau đó học cách mã hóa dữ liệu.

Tìm hiểu về HTTP

Tìm hiểu cách mã hóa dữ liệu trong HTTPS

May mắn thay, việc sửa mã HTTP để tạo mã HTTPS rất dễ. Nó chỉ cần sửa một dòng mã, tùy thuộc vào bo mạch/shield. Trong mã HTTP, hãy tìm các dòng mã được chỉ định trong bảng dưới đây, và thay thế bằng mã HTTPS tương ứng.

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)

※ Lưu ý:

  • Trên một số bo mạch/shield, nếu thư viện hỗ trợ lớp WiFiSSLClient, chúng ta có thêm một cách để chỉnh sửa mã HTTP để tạo mã HTTPS. Nó chỉ cần thay thế WiFiClient bằng WiFiSSLClient và đổi cổng từ 80 sang 443.
  • Arduino Ethernet Shield không hỗ trợ HTTPS.
  • Trong bài hướng dẫn này, chúng tôi không trình bày bất kỳ mã nguồn nào. Điều này là vì bạn chỉ cần lấy mã HTTP từ Arduino - Yêu cầu HTTP, và sau đó sửa đổi nó dựa trên hướng dẫn ở trên. Bằng cách sửa đổi mã HTTP, bạn có thể thực hiện HTTPS POST/GET hoặc gửi dữ liệu từ Arduino thông qua HTTPS POST/GET tới một máy chủ web.