ارسال اطلاعات به سرور از طریق https با ESP8266
https با ESP8266: ارسال اطلاعات به سرور از طریق https یه کم متفاوت تر است زیر شما دارین در یک بستر امن با سرور ارتباط برقرار می کنید که نیاز به یک کلید دارید ، در این آموزش نحوه ارسال درخواست با https رو ارائه می دهم ، برای شروع نیاز به آدرسی دارین که با https شروع شود من برای ساده کردن موضوع از سایت خودم استفاده می کنم ، اگر از مرورگر فایرفاکس استفاده می کنید بر روی علامت قفل سبز رنگ کلیک کنید و بعد بروی فلشی که به سمت راست است کلیک کنید همانند شکل زیر
و بعد بر روی More Infomation کلیک کنید همانند شکل زیر
بعد در پنجره باز شده بر روی دکمه View Certificate کلیک کنید همانند شکل زیر
در آخر پنجره ایی همانند شکل زیر باز می شود
مقدار SHA1 Fingerprint را کپی و در خط 14 از کد زیر جایگزین کنید حالا تنظیمات اتصال به اکسس پوینت رو در خط 4 و 5 اعمال کنید سپس کد رو در ماژول ESP8266 آپلود کنید ، نتیجه را در سریال مانیتور مشاهده کنید.
#include <ESP8266WiFi.h> #include <WiFiClientSecure.h> const char* ssid = "Turbodigital"; const char* password = "12345678"; const char* host = "turbodigital.ir"; const int httpsPort = 443; WiFiClientSecure client; // Use web browser to view and copy // SHA1 fingerprint of the certificate const char* fingerprint = "1D DC BA D4 FB 02 A3 71 8E 80 90 C4 CA BB 05 21 E5 24 1E EB"; void setup() { Serial.begin(115200); Serial.println(); Serial.print("connecting to "); Serial.println(ssid); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); // Use WiFiClientSecure class to create TLS connection Serial.print("connecting to "); Serial.println(host); if (!client.connect(host, httpsPort)) { Serial.println("connection failed"); return; } if (client.verify(fingerprint, host)) { Serial.println("certificate matches"); } else { Serial.println("certificate doesn't match"); } String url = "/"; Serial.print("requesting URL: "); Serial.println(url); client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n\r\n"); Serial.println("request sent"); while (client.available()) { String line = client.readStringUntil('\n'); Serial.println(line); } } void loop() { while (client.available()) { String line = client.readStringUntil('\n'); Serial.println(line); } }