• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужен скетч

BAR__MEN

New member
Всем доброго времени суток!
Нужен код для проверки новых сообщений на электронной почте.
С esp много не работал но скетч нужен. Пока что вывод в сериал порт.
Пишите в личку. Заранее спасибо!
 

Сергей_Ф

Moderator
Команда форума
@BAR__MEN, во-первых вы ошиблись темой. Вам сюда https://esp8266.ru/forum/forums/custom-projects/.
Во-вторых, воспользуйтесь поиском.
В-третьих, в современном мире esp, не сможет работать с широкораспространенными почтовыми серверами. Только с чем то своим.
 

kab

New member
Всем доброго времени суток!
Нужен код для проверки новых сообщений на электронной почте.
С esp много не работал но скетч нужен. Пока что вывод в сериал порт.
Пишите в личку. Заранее спасибо!
Здесь близко к этой теме
https://esp8266.ru/forum/threads/poluchit-ssl-certificate-fingerprint-of-gmail.2744/#post-40148
 

BAR__MEN

New member
@BAR__MEN, во-первых вы ошиблись темой. Вам сюда https://esp8266.ru/forum/forums/custom-projects/.
Во-вторых, воспользуйтесь поиском.
В-третьих, в современном мире esp, не сможет работать с широкораспространенными почтовыми серверами. Только с чем то своим.
Извините, просто сильно много разделов и трудно найти нужный....
Ну если нельзя с почтой то можно проверить кол-во оповещений форума, типа этого
 

gerkimuyda

New member
Ну если нельзя с почтой то можно проверить кол-во оповещений форума, типа этого
Если вам надо просто какой-то способ индикации чего-либо, тогда вам проще повесить сложную логику на свой сервер (на хостинге в инете или на домашний), а модуль ESP использовать только как монитор, который обращается к серверу (вашему посреднику) и только отображает ответ. Т.е. ваш пхп-скрипт на серваке регистрируется на форуме или на pop3 сервере через защищенное соединение, выполняет нужные действия, получает нужные данные, сохраняет их у себя. А модулю передает для отображение только конечный результат.
 

Сергей_Ф

Moderator
Команда форума
Последнее редактирование:

BAR__MEN

New member
Тема набирает обороты...
Если вам надо просто какой-то способ индикации чего-либо, тогда вам проще повесить сложную логику на свой сервер (на хостинге в инете или на домашний), а модуль ESP использовать только как монитор, который обращается к серверу (вашему посреднику) и только отображает ответ. Т.е. ваш пхп-скрипт на серваке регистрируется на форуме или на pop3 сервере через защищенное соединение, выполняет нужные действия, получает нужные данные, сохраняет их у себя. А модулю передает для отображение только конечный результат.
А подробнее
 

gerkimuyda

New member
Берете пример http клиента BasicHTTPClient.ino и вместо тестового URL вводите своего скрипта.
Потом берете пример вывода сообщения на экран и выводите полученный в предыдущем пункте текст.
Вся логика ложится на ваш скрипт (php/perl/asp/ruby/python etc.) который обслуживает ваш URL.
 

pvvx

Активный участник сообщества
Ну если нельзя с почтой то можно проверить кол-во оповещений форума, типа этого
С этим, с форумами, тем более никак. Все форумы на HTTPS и там, для соединияи и дешифрации надо где-то от 60 килобайтного непрерывного куска RAM + ещё дцать килобайт на буфера и саму задачу. Таких ресурсов в ESP8266 нет.
Для решения таких задач рекомендуется обратиться к другому WiFi-SoC, с большими ресурсами, а не к устаревшему ESP8266.
 

kab

New member
С этим, с форумами, тем более никак. Все форумы на HTTPS и там, для соединияи и дешифрации надо где-то от 60 килобайтного непрерывного куска RAM + ещё дцать килобайт на буфера и саму задачу. Таких ресурсов в ESP8266 нет.
Для решения таких задач рекомендуется обратиться к другому WiFi-SoC, с большими ресурсами, а не к устаревшему ESP8266.
ХММ!!!
А я вот не знал, что к этому сайту нельзя подключиться с ESP8266, и поэтому подключился:

Код:
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
const char* ssid  = "--------";   // your network SSID (name of wifi network)
const char* password = "--------"; // your network password

WiFiClientSecure client;

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(115200);
  delay(100);

  Serial.println("\nAttempting to connect to SSID: ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);

  // attempt to connect to Wifi network:
  while (WiFi.status() != WL_CONNECTED) {
  Serial.print(".");
  // wait 1 second for re-trying
  delay(1000);
  }

  Serial.print("Connected to ");
  Serial.println(ssid);

  Serial.println("\nStarting connection to server...");
  if (!client.connect("esp8266.ru", 443))
    Serial.println("Connection failed!");
  else {
  Serial.println("Connected to server!");
  // Make a HTTP request:

 client.print(String("GET ") + "/" + " HTTP/1.1\r\n\Host:esp8266.ru\r\n\r\n");
 Serial.println("Request sent");
 int recv;
  while (client.connected()) {  // Wait for the response.
  recv = client.read(); 

  if (recv >0)Serial.print(char(recv));// convert from  int to char
  //break;
  }

  client.stop();
  }
}

void loop() {
  // do nothing
}
 

kab

New member
Может покопаете:)
Боюсь вот тут и наткнуться на то, о чем pvvx предупреждал... :)

А вообще мне нравиться манера pvvx - помочь определить общее направление - а там уж развивай в своё удовольствие. Буду брать пример с него.
 

kab

New member
Выдал в тексте html-страничку. Я потом из любопытства из монитора сохранил файл, дал ему расширение html и открыл в браузере. Весьма похоже :)
Если Вам надо с какого-нибудь rbc.ru оперативно читать курс валюты и отправлять на табло - самое то!
 

pvvx

Активный участник сообщества
Если Вам надо с какого-нибудь rbc.ru оперативно читать курс валюты и отправлять на табло - самое то!
Т.е. вы хотите сказать, что у вас есть полная реализация TLS 1.2 и размер записи в 20 килобайт у вас усваивается хорошо?
Weather informer в спичечный коробок
Не видел даже такого простого решения на ESP8266... Но на других модулях с аналогичной ценой они есть (и давно).
Что-то вы недоговариваете ;)

Чтобы глубоко не вникать, простое описание –
В mbed SSL есть параметр ssl_max_frag_len или SSL_MAX_CONTENT_LEN. Его максимальное значение 16384 (+подпись, но фиг с ней). Для общения с разными сайтами надо разный буфер на это дело.
К примеру, для работы с github.com хватает 3500. Для www.google.ru > 10240, для Яндекс аналогично ~ 10240.
Это число надо помножить примерно на 2.5. В итоге получите необходимый буфер в “heap” в байтах для работы. Это не считая буферов всяких сокетов и прочего. И данный буфер нужен в непрерывной области, а дефрагментация “heap” и разбиение её на разные физические кусочки RAM не позволяет этого сделать во многих WiFi-SoC прошлых лет.
Вполне возможно найти какие-то хитрые алгоритмы для оптимизации объемов используемой RAM за счет дикого падения производительности и увеличения объема кода в Flash, но заниматься данным делом в расчете на пару лет существования текущих принятых и поддерживаемых стандартов TLS/SSL, да ещё на Arduino не видно никакого смыслу, т.к. все современные чипы WiFi-SoC имеют на борту память для полной поддержки таких соединений, кроме старого ESP8266 и требующего оптимизации “heap” ESP-32S…
 
Последнее редактирование:

kab

New member
Что-то вы недоговариваете ;)
Что я хотел сказать по этому поводу, сказал ранее в:
Управление ногами ESP <-> ESP
Я хотел понять, как можно получить данные с сервера на ESP. Но, по причине отсутствия второго ESP пришлось подсоединятся к этому сайту. Нашел на сайте аналог и только упростил его.

На:
Т.е. вы хотите сказать, что у вас есть полная реализация TLS 1.2 и размер записи в 20 килобайт у вас усваивается хорошо?
Уточняю - что такое TLSXX - понятия не имею.
Сколько кб было в страничке, не помню. В данный момент запуститься не могу по бытовым причинам. Но представляется, что они не копятся где-то, а поступают последовательно. Результат-то я взял из монитора порта.
Но, неужели у Вас нет что-то типа NodeMCU? Запустите и посмотрите... Вы гораздо лучше меня ответите на вопросы...
 
Сверху Снизу