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

Разработка ‘библиотеки’ малого webсервера на esp8266.

brig

New member
Извините, если не совсем в тему.
Года три назад я писал компонент (Delphi и C++ Builder) для обмена по USB через FTDI-преобразователи. Там тоже возникали проблемы с дискретизацией передаваемых пакетов. Решались за счет буфера. Если интересно, посмотрите... обратите внимание на свойства Latency и InBufSize.
 

Вложения

pvvx

Активный участник сообщества
Извините, если не совсем в тему.
Года три назад я писал компонент (Delphi и C++ Builder) для обмена по USB через FTDI-преобразователи. Там тоже возникали проблемы с дискретизацией передаваемых пакетов. Решались за счет буфера. Если интересно, посмотрите... обратите внимание на свойства Latency и InBufSize.
Не - не видно установок кратности внутреннему FIFO FTDI. Что это требуется, известно с начала выпуска эфтэдэшек... А там какая-то кратность 64-ем, а не 128/384 :( На 9600 пойдет...
 

brig

New member

pvvx

Активный участник сообщества
См. свойство InBufSize.
Зачем это смотреть? Данные исходники ничем не отличаются от демок 2008 года выложенных на FTDI... Там есть и полостью годящийся - обменивается и туда и сюда файлами или кольцом, с проверкой...
Я этим компонентом обменивался на скорости 3000000.
Обмениваться не значит знать как это работает. Выложите диаграмму на 3Mbits/s.
 
Последнее редактирование:

pvvx

Активный участник сообщества
hexdamp_htm.gif
Добавил чтение регистров ESP8266, поправил накопившиеся ошибки (установки WiFi) и обновил файлы...
 

amatron

New member
Использую режим STATION_MODE. Не получается зайти на защищенные страницы. Какой пароль нужно вводить?
 

pvvx

Активный участник сообщества
Использую режим STATION_MODE. Не получается зайти на защищенные страницы. Какой пароль нужно вводить?
Он написан на главной странице или пустой, если прошивка была с blank.bin + esp_init_data_default.bin: blank.gif
Имя по первому старту с blank.bin составляется как "ESP_"+3 последних байта в HEX виде от MAC, который можно увидеть в программе прошивальщика. Такое имя и пароль дает SDK. Как зайдете в настройки, установите любой пароль, т.к. не все эксплореры умеют давать пустой пароль. В windows MS Explorer, Google Chrome - умеют... :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Всё - приплыли.
1Mbsec.gif
Чип выходит за 1.2Мбайта/сек ныне (отключил отладку и ещё не оптимизировал :(), без всяких разгонов, но перегревается (это ещё один подарочек от Espressif :) ). Тут один разработчик РЭА кричал что тепло не то и улетает в антенну ... :)
Чип обжигает пальцы. Поставил куллер - 1,04 Мбайта/сек предел. Без охлаждения падает к 800к...(блок wifi наверно крючит). Модуль не один - проверены разные.
Тормозить программно?
 
Последнее редактирование:

Alex

Member
А потребление как возрастает?
Вот куллер точно лишний будет :)
 

brig

New member
Тут один разработчик РЭА кричал что тепло не то и улетает в антенну ... :)
Демагогия (др.-греч.δημαγωγία «руководство народом; заискивание у народа») — набор ораторских и полемических приёмов и средств, позволяющих ввести аудиторию в заблуждение и склонить её на свою сторону. Чаще всего применяется для достижения политических целей, в рекламе и пропаганде.
Ложьутверждение, заведомо не соответствующее истине и высказанное в таком виде сознательно. В повседневной жизни ложью называют умышленную передачу фактической и эмоциональной информации (вербально или невербально) с целью создания или поддержания в другом человеке убеждения, которое сам передающий считает не соответствующим истине.
 
  • Like
Реакции: pvvx

pvvx

Активный участник сообщества
А потребление как возрастает?
Вот куллер точно лишний будет :)
Вот с этим недомудулем он и выходит за 1.2MB/s. http://arduino-ua.com/products_pictures/large_wi-pi.jpg
А модуль тот меньше ESP8266, да в пластиковом корпусе, и не перегревается.
Понижу частоту CPU и пусть тормозит.
Уже писал: Стабилизатор стоит AIC1734-33XXA (маркировка CA33 SOT-89) и выдает 3.285В с ходом в 3 знаке от запятой при нагрузке от нагрева (тестер поверен, гостирован :) ). Перед ним и за ним стоят керамические емкости на сумму не менее 10мкФ + алюминиевые SMD электролиты (современные).
Данный стабилизатор на 300mA Output Current. Не перегревается, но медь слоев на плате для отвода тепла - теплая.
По габаритам и плате от китайцев, на которой установлены данные ESP8266 можно сказать, что при 250mA чип выгорит, если в нем нет защиты. (замеры при потоке до 600кбайт/сек приводил тут http://esp8266.ru/forum/threads/gpio-i-raznye-rezhimy-vrednye-sovety.37/#post-632)
Подсчитайте сами - чип с выводами 5x5 мм никакой продуманности плат по теплоотводу нет, сам стеклотекстолит неизвестной дешевой марки и наверняка не предназначен для данных частот и разводки на плате антенн. 3.3*0.25=0.825Вт. Ещё сильно сказывается нагрузка на I/O в виде кешируемой flash на 40/80MHz квадро SPI 3,3В.
Возможно, поигравшись кешированием выйдет уменьшить нагрузку...
 
Последнее редактирование:

brig

New member
Ещё сильно сказывается нагрузка на I/O в виде кешируемой flash на 40/80MHz квадро SPI 3,3В.
0,06Вт (= 7% от мощности потребления чипа) это "сильно"? Причем, это - мощность, которая рассеивается микросхемой флеш, а не ESP8266.
"Current Read Data / Dual Output Read/Quad Output Read 80MHz ---- max = 15/16.5/18 mA"

Следует учесть, что на нагрев ESP8266 ток, отдаваемый через GPIO, практически не влияет, а потому не следует учитывать его как мощность нагрева, вычисляя как ток помноженный на напряжение питания. Если быть точным, то мощность, рассеиваемая выводами GPIO, равна току, протекающему через выводы GPIO, помноженному на падение напряжения на транзисторном ключе GPIO (милливольты, а не 3,3В)...
 
Последнее редактирование:

Alex

Member
Вот с этим недомудулем он и выходит за 1.2MB/s. http://arduino-ua.com/products_pictures/large_wi-pi.jpg
А модуль тот меньше ESP8266, да в пластиковом корпусе, и не перегревается.
Понижу частоту CPU и пусть тормозит.
Уже писал: Стабилизатор стоит AIC1734-33XXA (маркировка CA33 SOT-89) и выдает 3.285В с ходом в 3 знаке от запятой при нагрузке от нагрева (тестер поверен, гостирован :) ). Перед ним и за ним стоят керамические емкости на сумму не менее 10мкФ + алюминиевые SMD электролиты (современные).
Данный стабилизатор на 300mA Output Current. Не перегревается, но медь слоев на плате для отвода тепла - теплая.
По габаритам и плате от китайцев, на которой установлены данные ESP8266 можно сказать, что при 250mA чип выгорит, если в нем нет защиты. (замеры при потоке до 600кбайт/сек приводил тут http://esp8266.ru/forum/threads/gpio-i-raznye-rezhimy-vrednye-sovety.37/#post-632)
Подсчитайте сами - чип с выводами 5x5 мм никакой продуманности плат по теплоотводу нет, сам стеклотекстолит неизвестной дешевой марки и наверняка не предназначен для данных частот и разводки на плате антенн. 3.3*0.25=0.825Вт. Ещё сильно сказывается нагрузка на I/O в виде кешируемой flash на 40/80MHz квадро SPI 3,3В.
Возможно, поигравшись кешированием выйдет уменьшить нагрузку...
Меня интересовало отличие в потреблении при 600 кбайт и 1.2 Мбайт. Думаю что проблема не программная. Проблема с реализацией радиоинтерфейса в этом чипе.
Я нигде не видел информации, выходную мощность можно программно регулировать в ESP8266?
 
Последнее редактирование:

Andrey

New member
Подсчитайте сами - чип с выводами 5x5 мм никакой продуманности плат по теплоотводу нет,
Судя по разводке модулей что лежат в интернете, там двухсторонний текстолит и одно переходное отверстие под теплоотводом микросхемы. Так что можно сказать что теплоотвода на этих модулях нет вообще. Плюс неизвстно как разведённая антенна. Вполне возможно, что модуль с керамической антенной будет меньше греться.
 

pvvx

Активный участник сообщества
0,06Вт (= 7% от мощности потребления чипа) это "сильно"? Причем, это - мощность, которая рассеивается микросхемой флеш, а не ESP8266.
"Current Read Data / Dual Output Read/Quad Output Read 80MHz ---- max = 15/16.5/18 mA"

Следует учесть, что на нагрев ESP8266 ток, отдаваемый через GPIO, практически не влияет, а потому не следует учитывать его как мощность нагрева, вычисляя как ток помноженный на напряжение питания. Если быть точным, то мощность, рассеиваемая выводами GPIO, равна току, протекающему через выводы GPIO, помноженному на падение напряжения на транзисторном ключе GPIO (милливольты, а не 3,3В)...
Опять "разработчик РЭА" не то считает. :)
Нагрузка в переключение емкостей I/O и в виде проводков и емкости ног flash на 80MHz...
brig - нафига вообще делают питание 1.2В у микросхем памяти? Делали бы на 5V - помехозащищенности больше :)
Плюс неизвстно как разведённая антенна. Вполне возможно, что модуль с керамической антенной будет меньше греться.
Это давно известная беда ESP8266 - что-то там не в ладах у выходного каскада с антенной. Любому другому безразлично - он подстраивается и работает хоть на гвоздь...
В программе ROM много кода расчетов напряжения питания со встроенного ADC питания и выходной мощи, да другие подстройки и пересчеты выходой мощи передатчика. Но писал код то всё тот-же Espressif... (похоже поставили на максимум - от этого и такая дальность связи, показанная на ютубе кем-то...). Я в самом начале спрашивал - как регулировать выходную мощу. Но никто не ответил.
----------
Кудахтать по данному поводу бесполезно. Надо экспериментировать настройками и коммутировать частоту CPU 80/160, да оптимизировать кеширование flash. Тогда - полетит за 1.2Mbytes/s не выходя из параметров теплового пакета чипа... Просто была надежда, что там всё само сбалансировано...
 
Последнее редактирование:

pvvx

Активный участник сообщества
Уточнение по потреблению и беде:
Wpower.gif
Питание включено через 1 Ом, на нем и измеряется ток и напряжение, идущее на модуль через стабилизатор AIC1734-33XXA. При вынутом модуле из разъема, стабилизатор потребляет 36 мкА (часть тока в питание 3.3В идет с FT2232 через резистор подтяжки в 10 кОм - у него своё питание от USB). RX/TX не используются в данном тесте - все сообщения ESP8266 и FT2232 отключены (отключать FT2232 на стал, т.к. пойдет ток от выводов ESP8266 на неё по RX/TX).
Лист алюминия, в качестве экрана, соединен с gnd чипа.
Да, главное - тут CPU включен на 160 MHz. На 80MHz передача в пределе до 600кбайт/сек (процессор не успевает загрузить модуль WiFi).
На другом модуле (со стандартной flash 512k):
Wpower2.gif
Со стандартной flash 512k GD25Q40 модуль почему-то работает медленнее (c одинаковой прошивкой), чем с W25Q128FV - предел передачи с GD25Q40 до 600кбайт/сек. Опции записи прошивки в FLASH_DOWNLOAD_TOOLS_v0.9.3.1 одинаковые - SPI 80MHz, FLASH SIZE 4Mbit. Что-то в OTP flash записано? Или просто сама flash медленнее делает выборку секторов? Надо разбираться, но что жрет и перегревается часть WiFi - выявлено...
Потестил ещё (все возможные условия одинаковы, расстояние до приемной WiFi и положение модулей), удалось так:
SpTstFlashW25Q40.gif SpTstFlashW25Q128.gif
Но с GD25Q40 всё равно медленнее :(
 
Последнее редактирование:
  • Like
Реакции: ave
Сверху Снизу