• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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? В моем случае точка не отваливается...
 
Сверху Снизу