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

Помогите с проектом малого webсервера на esp8266

PycLan

New member
Здрасте сообществу!
Помогите пожалуйста справится с проектом малого webсервера на esp8266.
Как бы дико это не звучало, но автор раздела утверждает, что вопросы мои, не предназначенны для его раздела.
Модуль ESP-07, схема подключения - https://github.com/baoshi/ESP-Breakout/blob/master/hw/ESP-Breakout.pdf
В модуль была залита fullflash_web050.bin - все работает!
Поставил UDK все с нуля - поставилось все без ошибок.
Компилирую hello_world_cpp, все без ошибок.
Поправляю в Makefile
Код:
ESPPORT ?= COM2
для своего порта, прошиваю командой flash - все работает!
Скачиваю проект esp8266web-master, кидаю содержимое в папку c:\Espressif\examples\esp8266web\
Импортирую через File>Import.
Поправляю в Makefile:
Код:
ESPOPTION ?= -p COM2 -b 115200
# SPI_SPEED = 40MHz or 80MHz
SPI_SPEED?=40
# SPI_MODE: QIO, DIO, QOUT, DOUT
SPI_MODE?=QIO
# SPI_SIZE: 512KB for all size Flash ! (512 kbytes .. 16 Mbytes Flash autodetect)
SPI_SIZE?=512
Изначально в проекте уже существуют c:\Espressif\examples\esp8266web\bin\ файлы прошивки, пробую их сразу прошить командой Flash All. Прошивка проходит без ошибок - точка не появляется.
Запускаю компиляцию при параметре "Default (Use Makefile)" , в правом окне Eclipsa: Clean, All - ни одной ошибки.
Прошиваю (прошивка само сабой запускается с подачи Reset на плате) FlashAll - без ошибок.
Точка не появляется.
По советам автора раздела:
Ну уж прямо инструкцию по пользованию Eclipse тут писать (!), когда тема не о средах программирования, а о web-свалке для ESP8266.

В панели-окне “ProjectExplorer” выбираете и отмечаете проект.
Переключение как транслировать выбираете тут:
Посмотреть вложение 996
Выйдет два пути трансляции:
1) "Default (Use Makefile)" - через готовый “makefile” и пимпочки в панели “MakeTarget”.
Посмотреть вложение 991
2) "AutoMake (Internal builder)" - c автоматическим созданием “makefile” и конфигурацией задаваемой в Eclipse к каждому файлу проекта.
Опции, трансляция, clean и прочее в данном режиме осуществляется средствами меню Eclipse:
Build на данной кнопке-иконке или в других меню:
Посмотреть вложение 992
Clean - в других меню.
Для заливки flash там используется пипка или меню "Run->External Tools":
Посмотреть вложение 994
Пример конфигурирования меню для заливки Flash в режиме "AutoMake (Internal builder)":
Посмотреть вложение 995

Так-же можно странслировать проект web-свалки в режиме "AutoMake (Internal builder)" и переключить в режим "Default (Use Makefile)" для программировании flash.

PS: Для нормальной работы с ESP8266 в Eclipse обращайтесь за плагинами к автору UDK (!).
PS2: В данной теме вопросы как странслировать или как прошить и подобные не разбираются (!), тут не школа для обучения азам программирования и работы в разных средах.
Пробую в режиме AutoMake (Internal builder), появляется ошибка с путями,
исправляю
Добрый день!
Как-то инструкция не помогла... :(
В режиме AutoMake сборка запускается сама, кстати и если не исправить ошибку в пути (лишний пробел перед точка с запятой, то будет ругаться: Error: Program "xtensa-lx106-elf-gcc" not found in PATH, если зайти и посмотреть путь, то увидим лишний пробел:
Посмотреть вложение 1002
После исправления ошибки, запускается сборка с выдачей предупреждения:
cannot find entry symbol _start; defaulting to 00400034 esp8266web C/C++ Problem
Кстати у Вас уважаемый pvvx на скриншоте видно, что есть какое-то предупреждение - желтый ! на папке проекта.
А по примеру External Tools, приведенный пример почему-то запускает сперва сборку всех проектов имеющихся в workspace, а потом уже пытается прошивать.

Такой вопрос - возможно такое, что сборка проходит без ошибок(она у меня проходит без ошибок во всех режимах), но при этом после прошивки точка не появляется?
Если взять архив проекта без изменения и сразу нажать FlashAll, будет залита прошивка собранная Вами?
Тоже не помогает, ошибок нет, но и точка не появляется.
Автор советует:
PS: Для нормальной работы с ESP8266 в Eclipse обращайтесь за плагинами к автору UDK (!).
Подскажите где копать и что копать?

Спасибо.
 

Victor

Administrator
Команда форума
Подскажите где копать и что копать?
Ключевая особенность этого проекта - минимальное, насколько возможно, использование библиотек и функций Espressif SDK (в отличии от UDK, использующего оригинальный Espressif SDK)
По сути, от Espressif SDK мало что осталось в этом проекте, многие библиотечные функции SDK переписаны.
Вам поможет только @pvvx - автор этой прошивки. Но прежде, чем мучать @pvvx расспросами, внимательно изучите https://github.com/pvvx/esp8266web включая библиотеки.
 

PycLan

New member
Даа круг замкнулся, :confused:
Автор пишет, что у него в теме писать нельзя (раздел тока для взрослых дядечек!? :)), а в другой теме пишут поможет тока автор...
Прям бюрократия :D
 

pvvx

Активный участник сообщества
А на других прошивках "точка" появляется?
ESP-07 модули бывали с другим кварцем, не на 26 MHz...
На этом круг и замыкается.
 

pvvx

Активный участник сообщества
С git скачана последняя версия?
 

pvvx

Активный участник сообщества
Тогда нужен Log загрузки из TX UART1 (GPIO2) - c отладочного выхода - он по умолчанию на 230400 baud.
А так-же и простого TX UART0 на 74880 baud (старт загрузчика)
Иначе загадки "не работает, от чего и почему не знаю" не разгадать.
 

PycLan

New member
В режиме "Default (Use Makefile)", в правом окне: clean, all, FlashAll
UART0
Код:
 ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x40100000, len 104, room 16
tail 8
chksum 0x43
csum 0x43
UART1
Код:
meSDK 1.4.1
don't use rtc mem data

Save rx_gain_dc table (0, 1)

Simple WEB version: 0.1.4
OpenLoaderSDK v1.2
Found free IRAM: base: 0x40105518, size: 27368 bytes
System memory:
data  : 0x3ffe8000 ~ 0x3ffe8380, len: 896
rodata: 0x3ffe8380 ~ 0x3ffe8c10, len: 2192
bss   : 0x3ffe8c10 ~ 0x3ffef438, len: 26664
heap  : 0x3ffef438 ~ 0x3fffc000, len: 52168
Start 'heap' size: 51920 bytes
Set CPU CLK: 160 MHz
sleep disable

Disk init: 63 files, addr = 0x0003e000
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

SDK Init - Ok
Current 'heap' size: 49552 bytes
Run ini file: protect/init.ini
of1[protect/init.ini] [sys_ram0x60000f00=0x48]
H[sys_ram0x60000f00=0x65]
e[sys_ram0x60000f00=0x6c]
l[sys_ram0x60000f00=0x6c]
l[sys_ram0x60000f00=0x6f]
o[sys_ram0x60000f00=0x21]
!cf1 WiFi_set(0x0000ffff)=0x00000200
WiFi mode:3 chl:1 phy:3 dhcp:1/1
AP:ESP8266[7] hiden(0) psw:[0123456789] au:0 chl:1 maxcon:4 beacon:100
ip:192.168.4.1 gw:192.168.4.1 msk:255.255.255.0 mac:1a:fe:34:a5:94:c9
DHCP ip:192.168.4.2..192.168.4.10
ST:[HOMEAP] psw:[0123456789] b:0 ff:ff:ff:ff:ff:ff ac:0
ip:192.168.1.50 gw:192.168.1.1 msk:255.255.255.0 mac:18:fe:34:a5:94:c9
sleep:0, rect:30, maxtpw:82, sthn:[ESP_A594C9]
Дальше тишина......

P.S. После многократного снятия и подачи питания дальше появилось:
Код:
WiFi event(7): Probe Request (MAC:00:e0:4c:00:b4:8b, RSSI:-53)
WiFi event(7): Probe Request (MAC:00:e0:4c:00:b4:8b, RSSI:-71)
WiFi event(7): Probe Request (MAC:00:e0:4c:00:b4:8b, RSSI:-77)
WiFi event(7): Probe Request (MAC:00:e0:4c:00:b4:8b, RSSI:-46)
WiFi event(7): Probe Request (MAC:00:e0:4c:00:b4:8b, RSSI:-59)
WiFi event(7): Probe Request (MAC:00:e0:4c:00:b4:8b, RSSI:-68)
WiFi event(7): Probe Request (MAC:00:e0:4c:00:b4:8b, RSSI:-74)
WiFi event(7): Probe Request (MAC:00:e0:4c:00:b4:8b, RSSI:-79)
WiFi event(7): Probe Request (MAC:00:e0:4c:00:b4:8b, RSSI:-44)
WiFi event(7): Probe Request (MAC:00:e0:4c:00:b4:8b, RSSI:-44)
Точка появилась!
 
Последнее редактирование:

pvvx

Активный участник сообщества
В режиме "Default (Use Makefile)", в правом окне: clean, all, FlashAll
Дальше тишина......
Не может быть там тишины. Значит питания не хватило при включении WiFi и всё зависло или неверно включена ESP8266. Других "гаданий" нет.
Вам вроде писали, что сброс делается не CH_PD, а сигналом RESET и на другие выводы тоже надо правильно выставлять уровни для старта.
Точка появилась!
WiFi event(7): Probe Request - это принимает AP станция и это означает, что она работает.
 
Последнее редактирование:

PycLan

New member
Добрый вечер.
Не может быть там тишины. Значит питания не хватило при включении WiFi и всё зависло или неверно включена ESP8266. Других "гаданий" нет.
Тишина и все, не появляется точка и нет приема, нет строчек WiFi event(7): Probe Request, хоть целый день жди.
А почему для fullflash_web050.bin питания хватает?

Вам вроде писали, что сброс делается не CH_PD, а сигналом RESET и на другие выводы тоже надо правильно выставлять уровни для старта.
А где я писал, что сбрасываю CH_PD? :confused: CH_PD подтянут к + 3,3 В через 47 к, схему я приводил, в первом и других постах.

Завтра посмотрю напряжение на ESP, во время ее старта.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Не знаю и гадать не охота.
WiFi_set(0x0000ffff)=0x00000200 - это значит, что установки конфигурации WiFi приняты, но не принята всего установка IP для ST. Ну она и не должна быть принята, т.к. соединения ещё нет, а статический IP адрес вы не задавали. Далее идет полная распечатка конфигурации WiFi. В ней указано, что включен режим AP+ST и далее, как вы выразились "тишина".
Попробуйте сами догадаться - что же там не так, не имея вашего модуля с его подключениями на руках? Но явно не ПО. И далее работает часть китай-SDK и должна выводить всякие переключения, если вы пытаетесь соединиться с AP.
Вот полный лог:
Код:
meSDK 1.4.1

Simple WEB version: 0.1.4
OpenLoaderSDK v1.2
Found free IRAM: base: 0x40105518, size: 27368 bytes
System memory:
data  : 0x3ffe8000 ~ 0x3ffe837c, len: 892
rodata: 0x3ffe837c ~ 0x3ffe8c0c, len: 2192
bss   : 0x3ffe8c10 ~ 0x3ffef408, len: 26616
heap  : 0x3ffef408 ~ 0x3fffc000, len: 52216
Start 'heap' size: 51968 bytes
Set CPU CLK: 160 MHz
sleep disable

Disk init: 63 files, addr = 0x0003f000
mode : sta(18:fe:34:99:ad:1d) + softAP(1a:fe:34:99:ad:1d)
add if0
add if1
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
bcn 100

SDK Init - Ok
Current 'heap' size: 49600 bytes
Run ini file: protect/init.ini
of1[protect/init.ini] [sys_ram0x60000f00=0x48]
H[sys_ram0x60000f00=0x65]
e[sys_ram0x60000f00=0x6c]
l[sys_ram0x60000f00=0x6c]
l[sys_ram0x60000f00=0x6f]
o[sys_ram0x60000f00=0x21]
!cf1 WiFi_set(0x0000ffff)=0x00000200
WiFi mode:3 chl:1 phy:3 dhcp:1/1
AP:ESP8266[7] hiden(0) psw:[0123456789] au:0 chl:1 maxcon:4 beacon:100
ip:192.168.4.1 gw:192.168.4.1 msk:255.255.255.0 mac:1a:fe:34:99:ad:1d
DHCP ip:192.168.4.2..192.168.4.10
ST:[HOMEAP] psw:[0123456789] b:0 ff:ff:ff:ff:ff:ff ac:0
ip:192.168.1.50 gw:192.168.1.1 msk:255.255.255.0 mac:18:fe:34:99:ad:1d
sleep:0, rect:30, maxtpw:82, sthn:[ESP_99AD1D]
WiFi event(7): Probe Request (MAC:00:0f:54:10:6a:b5, RSSI:-21) <-- Это запрос на подключение внешнего клиента к AP ESP8266.
add 1 <--- Вот здесь произошел договор с внешним клиентом в виде USB-WiFi адаптера на соединение с AP модуля ESP8266.
aid 1
station: 00:0f:54:10:6a:b5 join, AID = 1
WiFi event(5): Station[1]: 00:0f:54:10:6a:b5 join, AID = 1, 0
TCP2UART: init port 12345
SNTP: start
WEB: init port 80
NetBIOS init, name 'AESP8266'
MDB: init port 502
UDPT: init port 1025
WDRV: init port 10201
---- Здесь соединение с AP модуля уже произошло.
"add 1" и "aid 1", "station: 00:0f:54:10:6a:b5 join, AID = 1" пишет китайская часть и далее уже активизируются сервисы для обслуживания подключившегося клиента к AP ESP8266
Вариант ответа вам, что просто вы не хотите подключатся к AP или сделать сканирование эфира на предмет включения AP "ESP8266" я исключил.
Из остатков только одно - модуль неисправен или неверно подключен, питание и т.д...
Но исключенный ответ - наиболее подходящий, на 99.9% выданных вами факторов, как и WiFi event(7): Probe Request (MAC:00:e0:4c:00:b4:8b, RSSI:-44).
-44 дБ - это близко от модуля, а MAC:00:e0:4c:00:b4:8b на 99.99% является модулем с которого вы пытаетесь соединиться с ESP8266. Раз таких сообщений нет - значит и попыток сканирования станций и подключения к ESP8266 от него нет.
Такая вот "бюрократия" :)
 
Последнее редактирование:

PycLan

New member
Доброе утро!
Есть возможность узнать, завис модуль или нет?
С питанием проблем нет!
 
Последнее редактирование:

PycLan

New member
Поигрался разными прошивками, итог:
от fullflash_and_webfs_049 до fullflash_and_webfs_051 - стартуют без проблем
fullflash_and_webfs_052 - не работает(без толкача застревает на sleep:0, rect:30, maxtpw:82, sthn:[ESP_A594C9]),
также как и если сам компилирую проект в UDK.
Определил следующее, прошивки пашут (стартуют без затыка) только те, которые в дебаг выводят это:
Код:
chg_A3:-180
chg_A3:0
chg_A3:-180
chg_A3:0
 

pvvx

Активный участник сообщества
Определил следующее, прошивки пашут (стартуют без затыка) только те, которые в дебаг выводят это:
Код:
chg_A3:-180
chg_A3:0
chg_A3:-180
chg_A3:0
Это имеет связь с настройками чипа в WiFi (RF опции типа ухода частот и калибровок). Возможно что, что-то кривое в чипе или внешнем WiFi.
Попробуйте с другим модулем.
 

PycLan

New member
Добрый день!
http://esp8266.ru/forum/threads/sdk-1-4-0-18-09-2015.614/page-2
При включении wifi_set_opmode(STATIONAP_MODE) и если не подключаться к внешней AP (wifi_station_set_auto_connect(false) и не давать wifi_station_connect(), или если она уже отсоединилась, или хотим соединится потом с другой, или дали wifi_station_disconnect())
то AP работает 10 секунд, потом не работает 10 секунд и т.д. в цикле!
В логе китайцы выводят:
chg_A3:0 -> поле этого AP работает 10 секунд до
chg_A3:-180 -> тут тайм-аут 10 сек и AP не работает
chg_A3:0 -> поле этого AP опять работает 10 секунд и т.д.
А здесь был виноват модуль или SDK? В моем случае точка не отваливается...
 
Сверху Снизу