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

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

pvvx

Активный участник сообщества
pvvx 80 и 160 мгц не является проблемой. Надо помнить, что если делать короткую задержку подсчетом тактов типа
Код:
static uint32_t _getCycleCount(void) __attribute__((always_inline));
static inline uint32_t _getCycleCount(void) {
  uint32_t ccount;
  __asm__ __volatile__("rsr %0,ccount":"=a" (ccount));
  return ccount;
}
надо заранее разобраться с частотой. Этот вопрос не стоит количества растревоженных байт.
Это чистый аналог extern unsigned xthal_get_ccount(void); // { return rsr.ccount}
Описан в include\bios\xthal.h :)
А беда там не в частоте, а в том, что может врубать sleep например в modbus RS-485... а там работать надо :)
Ваши рекомендации с какой стороны рыть, т к ситуация возникает не сразу, а через несколько включений-выключений и я ее не могу пока локализовать, Тесты говорят, что это не аппаратная проблема стенда. Хотя после связи 811.b и мощности излучения 82 в любые чудеса ESP поверить можно.
А ваша ситуация не ясна. "почему после нескольких перезагрузок несколько модулей сваливаются" - можно сказать несколько поменяете чего - нибудь :) Или несколько поменяйте в нескольких местах. ;)
 

aloika

Active member
Пришла тут тревожная для меня новость - сообщается, что после двух недель нормальной работы изделия настройки Wi-Fi самопроизвольно сбросились к дефолтным. Т.е. режим станции отключился, остался только режим точки доступа и т.д. Попытка снова настроить режим станции успехом не увенчалась. Сброс (зажатой кнопкой сброса при подаче питания) проблему решает на 5 минут, т.е. вновь выставленные параметры применяются, всё вроде как начинает работать но через короткое время снова настройки сбрасываются к дефолтным.

Сам еще не видел, не тестировал, как приедет, буду смотреть. Прошивка там - сборка pvvx'а с небольшими изменениями.

Вопрос - какие могут быть предположения? Понятно, что информации мало, но всё же.
 

pvvx

Активный участник сообщества
Вопрос - какие могут быть предположения? Понятно, что информации мало, но всё же.
Только такие:
tstx.gif
Плата ESP12E DevKIT. За пол часа до включения вынута из пакетика из ali, прошита и включена в какой-то БП c USB вилкой. Несколько суток работала с непрерывным соединением по modbus TCP, потом перезагрузил комп - пришлось соединение разорвать...
Подробности есть тут -> http://esp8266.ru/forum/threads/modbus-rtu-rs-485.529/page-3#post-14584
Далее стоит и видна из инет по выделенному IP... Хакеры не заглядывают, одни поисковики... Диск обновлял через несколько дней от включения... Версия старая - выключить и перепрошить лень...
 
Последнее редактирование:

aloika

Active member
Плата ESP12E DevKIT. За пол часа до включения вынута из пакетика из ali, прошита и включена в какой-то БП c USB вилкой. Несколько суток работала с непрерывным соединением по modbus TCP, потом перезагрузил комп - пришлось соединение разорвать...
Далее стоит и видна из инет по выделенному IP... Хакеры не заглядывают, одни поисковики...
Это понятно, описываемая мной ситуация проявилась на одном из примерно 50 работающих на сегодня у разных людей устройств... т.е. я очень надеюсь, что это единичный случай...
 

pvvx

Активный участник сообщества
Это понятно, описываемая мной ситуация проявилась на одном из примерно 50 работающих на сегодня у разных людей устройств... т.е. я очень надеюсь, что это единичный случай...
А прошивки не готовы для ком.использования по причине бажности SDK. Когда сделаю до удовлетворительного уровня - сообщу. Это будет не так скоро, когда нарисую свой проект, откатаю и тогда внесу изменения в общий.
 

PycLan

New member
Здрасте всем!
@pvvx, Подскажите, переходить на версию 0.5.9 с meSDK 1.5.2?
Нужен, только функционал малого webсервера.
Сейчас у меня версия 0.5.4a с meSDK 1.4.1
А проблема в том, что столкнулся с ситуацией, как была описана в 50 постах, "Ограниченный доступ" после передергивания питания.
 

PycLan

New member
Целый день пахала, выключил.
Утром включаю "Ограниченный доступ"...
Прошиваю fullflash_web054.bin - точку видно, но подключится нельзя "Ограниченный доступ".
Запилилась флешь!?
 
Последнее редактирование:

PycLan

New member
В UART1:
Код:
meSDK 1.5.2
don't use rtc mem data

Save rx_gain_dc table (0, 1)

Simple WEB version: 0.1.4
heap' size: 53784 bytes
Set CPU CLK: 160 MHz
sleep disable

Disk init: 89 files, addr = 0x00080000
mode : sta(18:fe:34:a5:94:c9) + softAP(1a:fe:34:a5:94:c9)
add if0
add if1
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
bcn 100
f r0,
SDK Init - Ok
Current 'heap' size: 50896 bytes
Run ini file: protect/init.ini
of1[protect/init.ini] [sys_ram0x60000f00=0x48]
Found free IRAM: base: 0x401053c0, size: 11328 bytiles, addr = 0x00080000
mode : sta(18:fe:34:a5:94:c9) + softAP(1a:fe:34:a5:94:c9)
add if0
add if1
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
bcn 100
f r0,
SDK Init - Ok
Current 'heap' size: 50896 bytes
Run ini file: protect/init.ini
<0>а<0><0>аьаа<0>ь<0>ааааааа<0>аааааьа<0><0>аьааа<0>а<0>ььь<0>ьаьь<0>аьаьааьs, addr = 0x00080000
mode : sta(18:fe:34:a5:94:c9) + softAP(1a:fe:34:a5:94:c9)
add if0
add if1
<0>а<0><0>аьаа<0>ь<0>аа
Еще раз нажал Reset:
Код:
meSDK 1.5.2
don't use rtc mem data

Save rx_gain_dc table (0, 1)
а<0>аьаь<0>а<0>ааа<0>ааьььь<0>а<0>аь<0>аьа<0><0>ь<0>аь<0>а<0>аааьа<0>ььььььаааь<0>а<0>ьаьаааь<0>а<0>


Simple WEB version: 0.1.4
Found free IRAM: base: 0x401053c0, size: 11328 bytes
System memory:
data  : 0x3ffe8000 ~ 0x3ffe838c, len: 908
rodata: 0x3ffe838c ~ 0x3ffe8cd0, len: 2372
bss   : 0x3ffe8cd0 ~ 0x3ffeecf0, len: 24608
heap  : 0x3ffeecf0 ~ 0x3fffc000, len: 54032
bssi  : 0x401053c0 ~ 0x40106030, len: 3184
free  : 0x40106030 ~ 0x40108000, len: 8144
Start 'heap' size: 53784 bytes
Set CPU CLK: 160 MHz
sleep disable

Disk init: 89 files, addr = 0x00080000
mode : sta(18:fe:34:a5:94:c9) + softAP(1a:fe:34:a5:94:c9)
add if0
add if1
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
bcn 100
f r0,
SDK Init - Ok
Current 'heap' size: 50896 bytes
Run ini file: protect/init.ini
of1[protect/init.ini] [sys_ram0x60000f00=0x48]
mey:
<0>а<0><0>аьаа<0>ь<0>ааааааа<0>аааааtes
System memory:
data  : 0x3ffe8000 ~ 0x3ffe838c, len: 908
<0>а<0><0>аьаа<0>ь<0>ааааааа<0>аааааьа<0><0>аьаааx401053c0, size: 11328 bytes
System memory:
data  : 0x3ffe8000 ~ 0x3ffe838c, len: 908
Каждый раз по сбросу доходит до разных мест, иногда с 10000 раза подключается...
Ведет себя довольно хитро: если после мучений со сбросом, мы подключились, то не отключаясь можно сколько угодно жать сброс и отключать питания (чтоб винда не отключилась), то доступ к веб интерфейсу есть всегда, но стоит вручную отключится, а потом подключится - "Ограниченный доступ".
И слетает птица - GPIO2 debug UART TX enable
 
Последнее редактирование:

pvvx

Активный участник сообщества
В UART1:
И слетает птица - GPIO2 debug UART TX enable
А что за абракадабра вместо нормальных сообщений в логе "<0>а<0><0>аьаа<0>ь<0>ааааааа<0>аааааьа<0>"?
Не читается flash? Тип Flash какой и питание то нормальное?
 

PycLan

New member
А что за абракадабра вместо нормальных сообщений в логе "<0>а<0><0>аьаа<0>ь<0>ааааааа<0>аааааьа<0>"?
Не читается flash? Тип Flash какой и питание то нормальное?
Влешка WINBOND W25Q128FVSIG, питание в норме, от него же пашет другой контроллер.
Я тоже сразу начал грешить на питалово все в норме, но на всяк случай подключал другой источник. Когда смог подключится к WEB снизил частоту, не помогло...
 
Последнее редактирование:

PostLast

Member
Попробуй в наглую вписать в init.ini настройки сети. То что содержимое файла не выводится это не значит, что он не отрабатывается. У меня этот костыль работает.
 

pvvx

Активный участник сообщества
Влешка WINBOND W25Q128FVSIG, питание в норме, от него же пашет другой контроллер.
Я тоже сразу начал грешить на питалово все в норме, но на всяк случай подключал другой источник. Когда смог подключится к WEB снизил частоту, не помогло...
Но абракадабра то вылезает. Значит по какой-то причине не читается flash. Данное сообщение выводится по копированию из кеша на Flash строки в RAM, а наблюдаем не строку, а абракадабру. И таких неверных чтений в логе несколько. Причин тоже может быть несколько. Наперво надо проверить контакты с flash, питание и не подключено ли чего лишнего к шине flash. Пробовать читать flash в файл и сравнивать.
 

vad7

Active member
@pvvx, ковыряю тут модули ESP12-F, что-то ни как не запускается.
Прошивки с АТ шьются, если ставлю 4Mb флеш - падает, 8Mb - выдает приветсвие и тишина, на команды не отвечает.
Прошиваю вебсвалку - не грузится, выдает вперемежку с мусором - "rror wifi_config!" и "ets_main.c".
 

pvvx

Активный участник сообщества
@pvvx, ковыряю тут модули ESP12-F, что-то ни как не запускается.
Прошивки с АТ шьются, если ставлю 4Mb флеш - падает, 8Mb - выдает приветсвие и тишина, на команды не отвечает.
Прошиваю вебсвалку - не грузится, выдает вперемежку с мусором - "rror wifi_config!" и "ets_main.c".
У меня они хорошо работают, те которые на этой плате:
IMG_6260sm.jpg IMG_6259sm.jpg
и имеют 4 мегабайт flash.
Но там неверные номиналы для deep_sleep - надо менять. На фото видно как кое как махнул :)
На такой и работает модуль, который уже месяц непрерывно пашет... Там deep_sleep не используется.
По рисунку антенны это вроде ESP12E.

Дайте ссылочку, плз, на описание проблемы. А то я пропустил, похоже.
Оно было исправлено. В meSDK не тот адрес в китайских переменных конфигурации был. Сменился в 1.5.2.
Вроде это esp8266web/app_main.c at master · pvvx/esp8266web · GitHub
 
Последнее редактирование:

PostLast

Member
Вы пощелкайте по модулю RTS если не перепаивали он там на сброс заведен. После этого я в загрузке получаю
Код:
#вместо правильного
meSDK 1.5.2
don't use rtc mem data

Save rx_gain_dc table (0, 1)

Simple WEB version: 0.1.4
Found free IRAM: base: 0x401053c0, size: 11328 bytes
System memory:
data  : 0x3ffe8000 ~ 0x3ffe838c, len: 908
rodata: 0x3ffe838c ~ 0x3ffe8cd0, len: 2372
#-----------------------------------------------------------
# гадость
#----------------------------------------------------------

meSDK 1.5.2
don't use rtc mem data

Save rx_gain_dc table (0, 1)

•Л*ТЦЛЛVлV—®,]ZЛ’WЦ®WHИФ«—‹’–®V¤)ЄPSќђbase: 0x401051e4, size: 11804 bytes
System memory:
data  : 0x3ffe8000 ~ 0x3ffe8390, len: 912
rodata: 0x3ffe8390 ~ 0x3ffe8cfc, len: 2412
#-----------------------------------------------------------
# или такая гадость
#----------------------------------------------------------
meSDK 1.5.2
don't use rtc mem data

Save rx_gain_dc table (0, 1)

•ҐЃЅ№™ҐќХЙ…СҐЅ№Ѓ’•Н•С5R2хХ№‘Ѓ2Й••ЃJI5й…Н•й‚ВС‚Љ‚ЄЉ*СbљҐй•йЉЉВ‚ўеС•Н5Rљ•НС•µЃj•µЅЙейjRD…С…ЃТ‚ВН2™•б‚‚‚тЃ‚ВН2™•бљК‚bb•№йКЉ’j¤$Ѕ‘…С…й‚ВН2™•бљК‚тЃ‚ВН2™•б™Ќ±b•№й’ўЉ’j¤$kНЃТ‚ВН2™•б"Б‚тЃ‚ВН2™••™НВbb•№й’ЄЉўўj¤„«+$$'HLј&–VV–Ц'$Ѓ‚ВН2™™ЌБ‚‚bb•№йЄљўўВj¤4E…ЙСЃ:B•…БќљҐй•йЄљ’‚‚еС•Н5RљUСЃAUЃ1-й‚ЉІ‚j…Ґ5Rљ±••БЃ"ҐН…‰±•5Rj¤D*kЧRЛ+‹—єў2Ґ±•Н±‚
‘‘ЙЃк‚ВБ‚‚В‚‚‚‚j¤Фл‹V$'H®ЛW(*JLXќіe:34:a4:4d:f4)
add if1
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
bcn 100
Но если модуль стартанул то он реально сутками работает
 

pvvx

Активный участник сообщества
Вы пощелкайте по модулю RTS если не перепаивали он там на сброс заведен.
Это зачем RTS заведен на сброс? :eek:
Для нормального старта ESP8266 GPIO15 должен быть подключен к GND через резистор не более 12 кОм. Дополнительно это дает при старте и во время сброса сигнал "0" при инверсии RTS, означает, что модуль не может принимать данные - RTS не активен. Использовать без инверсии в таком включении невозможно из-за требований к GPIO15 при старте быть в "0" у ROM-BIOS.
Чего-то вы хотите совершенно не понятного, типа чтобы web-свалка работала на любом криво спаянном варианте? :confused:
Режим хитрой скоростной перезагрузки не дописан в meSDK.
Сделана только передача адреса для старта esp8266web/app_main.c at master · pvvx/esp8266web · GitHub
Допишите :)
 
Последнее редактирование:

aloika

Active member
А в чем принципиальная разница между SDK 1.4.0 (у меня сейчас используется) и современной 1.5.2 ? Какая стабильнее? стоит ли перейти на 1.5.2 ?
 

PostLast

Member
Это зачем RTS заведен на сброс
Чтоб модуль программировать. Посмотрите на схему Schematics for ESP-12E DevKit | User Manual for ESP-12E DevKit Видите куда идет RTC CP2102. Если у VCP CP2102 перевести RTC в активное состояние то формируется сигнал eRST. hercules_3-2-8 это позволяет.
Режим хитрой скоростной перезагрузки не дописан в meSDK.
Это влияет на что-то кроме красоты? Т.е. "гадость" выше является штатной. Но почему она не детерминирована?
Вчера потратил уйму времени на попытки определить условия возникновения ошибки не подключения сети - возникает произвольно. Пока склоняюсь к прилетанию запроса на подключения при старте. Может такое быть?
 
Сверху Снизу