• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Помогите с компиляцией прошивки ESP8266 NodeMcu V3

CMK0001

New member
Добрый день, уважаемые форумчане.
У меня проблема в которой я сам не могу разобраться, в силу того, что не хватает опыта в работе с компиляторами и платами.

Цель:
Скомпилировать прошивку в расширении *.bin.

Описание:
У меня имеется плата ESP8266 NodeMcu V3 на 4mb, на которую спокойно могу установить прошивку для работы с платой на MicroPython (это важно, хочу вести разработку на этом языке).
Прошивку беру от сюда (MicroPython), прошиваю программной Thonny. У меня описан метод отправки почты (ну естественно и подключение к интернету), но возникла проблема, при отправке почты ругается что буфер переполнен и выпадает в ошибку. TLS buffer overflow, record size: 8263 (+5) . Почитав исходники (Взял от сюда) я подправил код и сделал буфер больше. Собственно проблема в том что не как не могу скомпилировать эти исходники в *.bin файл что бы прошить плату. Работаю на Windows. Пробовал даже ставить linux и там прошивать.

Я у меня мало опыта работы с прошивками, если кому не трудно могли бы вы расписать процесс компиляции и каким программным обеспечением пользоваться(подробно).
Перечитал кучу сайтов про компиляцию , но увы нечего не помогает, так же не исключаю, что я просто, что то неправильно делаю. А может быть я вообще не с той стороны копаю проблему и решение может быть другим.

Заранее благодарю, готов к обоснованной критики =)
 

fps

Active member
TSL на ESP8266 в микропитоне работать не будет - мало памяти у неё. На ESP32 - работает.
 

CMK0001

New member
TSL на ESP8266 в микропитоне работать не будет - мало памяти у неё. На ESP32 - работает.
Спасибо , но я читал статьи, что прошивкой проблема решается. Просто больше места выделяешь под буфер и все. Вроде людям помогало. И притом что через "СИ" обычную прошивку ардуинки все работает .
 

fps

Active member
Не знаю какая у вас там "Такая же история =* " - вы же свой код в секрете держите.

Сейчас попробовал на ESP32C3 - TLS1.2 работает "изкаробки" хотя у нее памяти вдвое меньше чем в ESP32S*

Python:
# MicroPython v1.24.0 on 2024-10-25; ESP32C3 module with ESP32C3

import requests

q=requests.get("https://mail.ru/")
while True:
    part=q.raw.read(20000)
    if not part: break
    print(part)
 

CMK0001

New member
Не знаю какая у вас там "Такая же история =* " - вы же свой код в секрете держите.

Сейчас попробовал на ESP32C3 - TLS1.2 работает "изкаробки" хотя у нее памяти вдвое меньше чем в ESP32S*

Python:
# MicroPython v1.24.0 on 2024-10-25; ESP32C3 module with ESP32C3

import requests

q=requests.get("https://mail.ru/")
while True:
    part=q.raw.read(20000)
    if not part: break
    print(part)
1000 извинений =)

собственно код:

def __init__(self, host, port, ssl=False, username=None, password=None):
import ssl
self.username = username
addr = socket.getaddrinfo(host, port)[0][-1]
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(DEFAULT_TIMEOUT)
sock.connect(addr)
if ssl:
sock = ssl.wrap_socket(sock) ---------------------------- тут ошибка
code = int(sock.read(3))
sock.readline()
assert code==220, 'cant connect to server %d, %s' % (code, resp)
self._sock = sock

ESP32 Ошибка такова :
OSError: (-29184, 'MBEDTLS_ERR_SSL_INVALID_RECORD')
 

fps

Active member
Используйте штатный модуль requests вместо этого всего.
 

CMK0001

New member
Используйте штатный модуль requests вместо этого всего.
Может я путаю , но вы получаете страницу mail, а мне надо почту отправить в outlook

Имя SMTP-сервераsmtp-mail.outlook.com
Порт SMTP587
Порт SMTP587
Если не сложно отправьте свой код по отправке почты .

Спасибо
 

fps

Active member
но вы получаете страницу mail, а мне надо почту отправить в outlook
Однако об этом вы упомянули впервые. Все должны были конечно догадаться сами сразу.

Если не сложно отправьте свой код по отправке почты .
Вот например https://github.com/shawwwn/uMail
 

CMK0001

New member
Однако об этом вы упомянули впервые. Все должны были конечно догадаться сами сразу.
Вы очень сильно ошибаетесь. Позвольте уточнить, в первом сообщении я указал, "У меня описан метод отправки почты (ну естественно и подключение к интернету), но возникла проблема, при отправке почты ругается что буфер переполнен и выпадает в ошибку. TLS buffer overflow, record size: 8263 (+5) ....... и т.д"
По этому я хотел скомпилировать прошивку с большим(уже указанным объемом памяти).

собственно от сюда я и взял код. И у меня не работает.
 
Сверху Снизу