Я пытаюсь отправить поддельные данные о температуре с ESP32 в Google Cloud с помощью Arduino IDE и с помощью этой библиотеки https://github.com/GoogleCloudPlatform/google-cloud-iot-arduino. Я создал реестр и устройство на ядре google iot. Со своей стороны, я вручную поместил сертификат csa на ESP32 и правильно установил все параметры и строку закрытого ключа в ciotc_config.h. Когда я пытаюсь подключиться, я получаю в Serial Monitor следующий повторяющийся вывод:
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
Setup.....
Starting wifi
Connecting to WiFi
Connected
Waiting on time sync...
Esp32-mqtt:
void setupWifi() {
Serial.println("Starting wifi");
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(100);
}
Serial.println("Connected");
configTime(0, 0, ntp_primary, ntp_secondary);
Serial.println("Waiting on time sync...");
while (time(nullptr) < 1510644967) {
delay(10);
}
}
void connectWifi() {
Serial.print("checking wifi...");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(1000);
}
}
Я внес изменения в основной файл. cpp просто потому, что я не буду работать с этими датчиками:
unsigned long lastMillis = 0;
void loop() {
mqtt->loop();
delay(10); // <- fixes some issues with WiFi stability
if (!mqttClient->connected()) {
connect();
}
if (millis() - lastMillis > 60000) {
Serial.println("Publishing value");
lastMillis = millis();
float temp = 33;
float hum = 50;
StaticJsonDocument<100> doc;
doc["temp"] = temp;
doc["humidity"] = hum;
serializeJson(doc, buffer);
//publishTelemetry(mqttClient, "/sensors", getDefaultSensor());
publishTelemetry( buffer);
}
}
Изображение из PUB: