Gal_kris Napisano Marzec 4, 2022 Udostępnij Napisano Marzec 4, 2022 Cześć siedzę już nad tym kodem od pewnego czasu i nic nie wymyśliłem sam nie dam rady ogarnąć tematu więc proszę o pomoc oto kod. obecnie kod zatrzymuje się na sprawdzeniu wartości napięcia lecz chcę by sam ponawiał próby sprawdzenia, i tu problem bo jakkolwiek przenoszę kod do void LOOP kompilator czepia się braku delkaracji message to chyba jedyny kod wysyłający maila z tego Olimex`a za wszelką pomoc z góry dziękuję Gal #define ETH_CLK_MODE ETH_CLOCK_GPIO17_OUT #define ETH_PHY_POWER 12 #include <Arduino.h> #if defined(ESP32) #include <ETH.h> #include <WiFi.h> #elif defined(ESP8266) #include <ESP8266WiFi.h> #endif const int Analog_channel_pin= 39; int ADC_VALUE = 0; double voltage_value = 0; //To use send Email for Gmail to port 465 (SSL), less secure app option should be enabled. https://myaccount.google.com/lesssecureapps?pli=1 #include <ESP_Mail_Client.h> #define WIFI_SSID "--------" #define WIFI_PASSWORD "-------" #define SMTP_HOST "---------" #define SMTP_PORT 465 /* The sign in credentials */ #define AUTHOR_EMAIL "----------" #define AUTHOR_PASSWORD "-------" /* Recipient's email*/ #define RECIPIENT_EMAIL "---------" /* The SMTP Session object used for Email sending */ SMTPSession smtp; /* Callback function to get the Email sending status */ void smtpCallback(SMTP_Status status); void setup(){ ADC_VALUE = analogRead(Analog_channel_pin); voltage_value = (ADC_VALUE * 15.76 ) / (4095); Serial.println(voltage_value); Serial.begin(115200); Serial.println(); Serial.print("Connecting to AP"); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED){ Serial.print("."); delay(200); } Serial.println(""); Serial.println("WiFi connected."); Serial.println("IP address: "); Serial.println(WiFi.localIP()); Serial.println(); /** Enable the debug via Serial port * none debug or 0 * basic debug or 1 */ smtp.debug(0); /* Set the callback function to get the sending results */ smtp.callback(smtpCallback); /* Declare the session config data */ ESP_Mail_Session session; /* Set the session config */ session.server.host_name = SMTP_HOST; session.server.port = SMTP_PORT; session.login.email = AUTHOR_EMAIL; session.login.password = AUTHOR_PASSWORD; session.login.user_domain = ""; /* Declare the message class */ SMTP_Message message; /* Set the message headers */ message.sender.name = "Olimex"; message.sender.email = AUTHOR_EMAIL; message.subject = "Olimex Email"; message.addRecipient("SafeSpace", RECIPIENT_EMAIL); if (ADC_VALUE <= 3095){ /*Send HTML message*/ String htmlMsg = "<div style=\"color:#2f4468;\"><h1>Awaria Zasilania</h1><p>- Sent from ESP board </p></div>"+ String (voltage_value)+ String ("V"); message.html.content = htmlMsg.c_str(); message.text.charSet = "us-ascii"; message.html.transfer_encoding = Content_Transfer_Encoding::enc_7bit; /* Set the custom message header */ //message.addHeader("Message-ID: <-------->"); /* Connect to server with the session config */ if (!smtp.connect(&session)) return; /* Start sending Email and close the session */ if (!MailClient.sendMail(&smtp, &message)) Serial.println("Error sending Email, " + smtp.errorReason()); } } void loop(){ } /* Callback function to get the Email sending status */ void smtpCallback(SMTP_Status status){ /* Print the current status */ Serial.println(status.info()); /* Print the sending result */ if (status.success()){ Serial.println("----------------"); ESP_MAIL_PRINTF("Message sent success: %d\n", status.completedCount()); ESP_MAIL_PRINTF("Message sent failled: %d\n", status.failedCount()); Serial.println("----------------\n"); struct tm dt; for (size_t i = 0; i < smtp.sendingResult.size(); i++){ /* Get the result item */ SMTP_Result result = smtp.sendingResult.getItem(i); time_t ts = (time_t)result.timestamp; localtime_r(&ts, &dt); ESP_MAIL_PRINTF("Message No: %d\n", i + 1); ESP_MAIL_PRINTF("Status: %s\n", result.completed ? "success" : "failed"); ESP_MAIL_PRINTF("Date/Time: %d/%d/%d %d:%d:%d\n", dt.tm_year + 1900, dt.tm_mon + 1, dt.tm_mday, dt.tm_hour, dt.tm_min, dt.tm_sec); ESP_MAIL_PRINTF("Recipient: %s\n", result.recipients); ESP_MAIL_PRINTF("Subject: %s\n", result.subject); } Serial.println("----------------\n"); } } Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »