Arduino - Requisição HTTPS
O Arduino pode atuar como um cliente web para fazer requisições HTTPS a um servidor web. O servidor web pode ser um site, uma Web API ou REST API, um serviço web ...
HTTP vs HTTPS
Do ponto de vista de um cliente web, o HTTPS é igual ao HTTP, exceto que o HTTPS criptografa os dados entre o cliente e o servidor. Isso torna o HTTPS seguro.
Por isso, para aprender sobre HTTPS, basta primeiro aprender sobre HTTP e depois aprender como criptografar os dados.
Aprenda sobre HTTP
- Veja o tutorial Arduino - Requisição HTTP
Aprenda como criptografar dados no HTTPS
Felizmente, é fácil modificar um código HTTP para transformá-lo em código HTTPS. Basta modificar uma linha de código, dependendo da placa/shield. No código HTTP, encontre as linhas de código indicadas na tabela abaixo e substitua-as pelo código HTTPS correspondente.
| Placa/Shield | Código HTTP | Código HTTPS |
|---|---|---|
| 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) |
※ Nota:
- Em algumas placas/shields, se a biblioteca suportar a classe WiFiSSLClient, temos mais uma forma de modificar o código HTTP para criar o código HTTPS. Basta substituir WiFiClient por WiFiSSLClient e a porta 80 por 443.
- O Arduino Ethernet Shield não suporta HTTPS.
- Neste tutorial, não mostramos nenhum código. Isso porque você só precisa pegar o código HTTP de Arduino - Requisição HTTP e depois modificá-lo com base nas instruções acima. Modificando o código HTTP, você pode fazer requisições HTTPS POST/GET ou enviar dados do Arduino via HTTPS POST/GET para um servidor web.