Я пытаюсь отправить push-уведомление на устройство Android от esp8266. У меня есть мини доска Wemos D1. мой код выглядит следующим образом:
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#ifndef STASSID
//#define STASSID "XXXXXX"
//#define STAPSK "XXXXXX"
#endif
const char* ssid = STASSID;
const char* password = STAPSK;
const char* host = "fcm.googleapis.com";
const int httpsPort = 80;
// Use web browser to view and copy // SHA1 fingerprint of the certificate
const char fingerprint[] PROGMEM = "0fd9151c4d4a317b647e87713bd7226b8b4fcbda";
WiFiClient client;
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("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
//Use WiFiClientSecure class to create TLS connection
WiFiClientSecure client;
Serial.print("connecting to ");
Serial.println(host);
Serial.printf("Using fingerprint '%s'\n", fingerprint);
client.setFingerprint(fingerprint);
if (!client.connect(host, httpsPort)) {
Serial.println("connection failed");
return;
}
sendDataToFirebase();
}
void loop() {
}
void sendDataToFirebase() {
String data = "{" ;
data = data + "\"to\": \"XXXXXXXXXXXXXXX\"," ;
data = data + "\"notification\": {";
data = data + "\"body\": \"Motion detected\",";
data = data + "\"title\" : \"Alarm\" ";
data = data + "} }";
client.println("POST /fcm/send HTTP/1.1");
client.println("Authorization: key=XXXXXXXXXXXXXXXXXX,");
client.println("Content-Type: application/json");
client.println("Host: fcm.googleapis.com");
client.print("Content-Length: ");
client.println(data.length());
client.print("\n");
client.print(data);
Serial.println("Data sent...Reading response..");
//while (client.available()) {
//char c = client.read();
//Serial.print(c);
String line = client.readStringUntil('\n');
Serial.println(line);
//}
Serial.println("Finished!");
client.flush();
client.stop();
}
Теперь моя проблема в том, что подключение к серверу fcm не установлено. мое лучшее предположение, это для отпечатка пальца. Я скопировал отпечаток с https://firebase.google.com/., но соединение все еще не установлено. Не могли бы вы помочь?