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

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

pvvx

Активный участник сообщества
Может с софтом беда? Или брак. У людей годами вон ESP работает и ничего.
На старых версиях SDK и т.д. всё нормально и было, пока не полез испытывать в других условиях... и работало месяцами без разрыва TCP соединения...
А условия описаны - рядом включаются и выключаются другие модули с WiFi. Это дает помеху на работу ESP (конкретно используется модуль ESP01, а у него большинство пинов висят и может это связано и с этим... Например известно, что если на вход ADC подать более 1В, то любой ESP модуль виснет.). Модули других производителей таких проблем не испытывают. Вот и ищу решения... Пока всё плохо и текущая версия web-свалки на git страдает этими бедами.
 

DorianGray

New member
Добрый день, не могли ли бы помочь - возникает проблема при компиляции:
Код:
../Makefile:212: recipe for target '.output/eagle/bin/eagle.app.v6.bin' failed
mingw32-make[1]: *** [.output/eagle/bin/eagle.app.v6.bin] Error 127
mingw32-make[1]: Leaving directory 'C:/Espressif/examples/ESP8266/esp8266web-master/app'
1. Поставил последний UDK - v2.2.1 (30.10.2016)
2. Поставил Python
Код:
C:\Users\xxxxxxx>python.exe
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.

C:\Users\xxxxxxx>where python.exe
C:\Python27\python.exe
3. Поставил pyserial - pyserial-2.7.win32.exe (md5) for Python 2.x (2.4...2.7)
4. Импортировал проект в Eclipse - выдает ошибку
5. Писал батник:
Код:
set CWD=c:\Espressif\examples\ESP8266\esp8266web-master\
PATH=C:\MinGW\bin;C:\MinGW\msys\1.0\bin
mingw32-make.exe -f Makefile all
- та же ошибка
6. Система 64х розрядная
7. Файл eagle.app.v6.out и eagle.app.v6.map - создаются.
8. Примеры с UDK компиляться/заливаються/работают.

Помогите, пожалуйста :(
 

pvvx

Активный участник сообщества
1)
Код:
git clone git@github.com:pvvx/esp8266web.git
Или Снимок23.gif
Развернуть файл esp8266web-master.zip во временное место.
2) Снимок22.gif Снимок18.gif
3) Снимок19.gif
4)Снимок20.gif
 
Последнее редактирование:

DorianGray

New member
Все сделал именно так, скачал последний архив с репозитория и все равно та-же ошибка =(
Код:
Add rapid_loader...
/usr/bin/sh: dd: command not found
../Makefile:212: recipe for target '.output/eagle/bin/eagle.app.v6.bin' failed
mingw32-make[1]: *** [.output/eagle/bin/eagle.app.v6.bin] Error 127
mingw32-make[1]: Leaving directory 'C:/Espressif/examples/ESP8266/esp8266web/app'
mingw32-make.exe: *** [.subdirs] Error 2
C:/Espressif/examples/ESP8266/esp8266web/Makefile:275: recipe for target '.subdirs' failed
 

pvvx

Активный участник сообщества
Все сделал именно так, скачал последний архив с репозитория и все равно та-же ошибка =(
Код:
Add rapid_loader...
/usr/bin/sh: dd: command not found
../Makefile:212: recipe for target '.output/eagle/bin/eagle.app.v6.bin' failed
mingw32-make[1]: *** [.output/eagle/bin/eagle.app.v6.bin] Error 127
mingw32-make[1]: Leaving directory 'C:/Espressif/examples/ESP8266/esp8266web/app'
mingw32-make.exe: *** [.subdirs] Error 2
C:/Espressif/examples/ESP8266/esp8266web/Makefile:275: recipe for target '.subdirs' failed
У вас нет MinGW, или он не полный. Не поддерживает sh, конкретно нет dd.exe
Код:
>dd --version
dd (coreutils) 5.97
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.

Written by Paul Rubin, David MacKenzie, and Stuart Kemp.
MinGW-w64 - for 32 and 64 bit Windows
Не сделали полную инсталляцию UDK
C:\Espressif\DevKit-Addon\install-mingw-package.bat
Код:
    mingw-get install msys-coreutils
    mingw-get install msys-coreutils-ext
 
Последнее редактирование:

DorianGray

New member
У меня почему-то папки 'DevKit-Addon' не было при установке UDK. При установке UDK ничего не трогал.
Поставил MinGW MinGW-w64 - for 32 and 64 bit Windows. Но все равно ошибки лезут :(:(:(
Код:
mingw32-make.exe -f C:/Espressif/examples/ESP8266/esp8266web/Makefile all
process_begin: CreateProcess(NULL, printf 0x%X\n $((512*1024 - 7*4096)), ...) failed.
mingw32-make.exe:
process_begin: CreateProcess(NULL, printf 0x%X\n $((512*1024 - 4*4096)), ...) failed.
mingw32-make.exe:
process_begin: CreateProcess(NULL, printf 0x%X\n $((512*1024 - 2*4096)), ...) failed.
mingw32-make.exe:
ЏҐаҐ¬Ґ п б।л -e;  mingw32-make.exe -C app;  mingw32-make.exe -C ovls;  mingw32-make.exe -C webbin; Ґ ®ЇаҐ¤Ґ«Ґ
mingw32-make.exe: Interrupt/Exception caught (code = 0xc0000005, addr = 0x000007FEFED12020)
Поборол ошибку отсутствия dd.exe - скачав его отсюда dd for windows.

Было бы неплохо рядом с UDK выложить необходимые minGW и msys.
 
Последнее редактирование:

vad7

Active member
А вот тут обнаружилось, один модуль ведет себя интересно - через 5 минут отваливается от роутера.
Причем другой модуль в этой же сетке работает норм.

Лог роутера:
Nov 22 14:06:01wmondWifiMaster0/AccessPoint0: (RT2860) STA(18:fe:34:15:ae:1e) had associated successfully.
Nov 22 14:06:01wmondWifiMaster0/AccessPoint0: (RT2860) STA(18:fe:34:15:ae:1e) set key done in WPA2/WPA2PSK.
...
Nov 22 14:11:51wmondWifiMaster0/AccessPoint0: (RT2860) STA(18:fe:34:15:ae:1e) had been aged-out and disassociated.

Когда доберусь до места, посмотрю по подробнее.
 

rybeg

New member
Подскажите, пытаюсь запустить tcp_client.olvs, что он брал страничку с локальной esp8266, но нет коннекта, а когда открываю 80 порт на компьютере все соединяется и идет запрос на компьютер (меняю только адрес) , куда копать, какие логи снимать?? SDK ver: 1.5.2.. Спасибо.
 

vad7

Active member
Добрался до модуля. Как оказалось, все то же самое. Из-за того, что в настройках не был включена отправка на IoT сервер реконнекта не было. Надо бы наверно в другое место перенести проверку и переподключение. А вообще, сообщение в логах "had been aged-out and disassociated" известная болячка некоторых роутеров. Лечится только сменой роутера.

@pvvx, сохранение WiFi настроек работает ужасно - меняешь что-то - жмешь сохранить - то модуль перегружается без сохранения, то сохраняет половину того, что изменил...
 

pvvx

Активный участник сообщества
Добрался до модуля. Как оказалось, все то же самое. Из-за того, что в настройках не был включена отправка на IoT сервер реконнекта не было.
Вроде никаких IoT нет в проекте.
Надо бы наверно в другое место перенести проверку и переподключение. А вообще, сообщение в логах "had been aged-out and disassociated" известная болячка некоторых роутеров. Лечится только сменой роутера.
Это сообщение из потрохов WiFi китайской части и не лечится.
@pvvx, сохранение WiFi настроек работает ужасно - меняешь что-то - жмешь сохранить - то модуль перегружается без сохранения, то сохраняет половину того, что изменил...
Частично ужасно. Надо последовательно устанавливать некоторые варианты - это китай фича связанная с закрытыми либами WiFi и тоже не лечится. Они не воспринимают смену всего сразу, в одном сеансе, без перезагрузок.
Если накрутить условий, то код не влезет - будет больше самих либ WiFi. :)
 
Последнее редактирование:

rybeg

New member
Подскажите, а какая переменная отвечает за вывод отладки в последовательный порт, а то sdk обновил, а теперь не идет информация. Спасибо.
 

pvvx

Активный участник сообщества

GDI

New member
У меня unlicense и указывать на источник не обязательно, т.е. приветствуется стирание и вписывание своих атрибутов :)
Да это не моё. Это иностранные товарищи. Просто встретил на просторах интернета и решил показать. Этот код будет, насколько я понял, участвовать в конкурсе The 1kB Challenge
 
Последнее редактирование:

vad7

Active member
Что-то никак глюк с зависанием при включении не исправляется...
Уже и более свежие исходники накатил.
Виснет в Set_WiFi() между "if ((wset.b.st_config) || (wset.b.st_ipinfo))" и "if (wset.b.st_dhcp) {".
Save rx_gain_dc table (0, 1)
Old reset: ExtReset
read-id:7373[10] CfgFlg: 26

Simple WEB version: 0.1.4
Found free IRAM: base: 0x4010593c, size: 9924 bytes
System memory:
data : 0x3ffe8000 ~ 0x3ffe8450, len: 1104
rodata: 0x3ffe8450 ~ 0x3ffe8de4, len: 2452
bss : 0x3ffe8de8 ~ 0x3ffeeec8, len: 24800
heap : 0x3ffeeec8 ~ 0x3fffc000, len: 53560
bssi : 0x4010593c ~ 0x40106544, len: 3080
free : 0x40106544 ~ 0x40108000, len: 6844
Start 'heap' size: 53312 bytes
Set CPU CLK: 80 MHz
read-id:6977[304] ok,size:304 WiFi mode:3 phy:3 dhcp:1/0
AP:ESP8266[7] hiden(0) psw:[0123456789] au:3 chl:5 maxcon:4 beacon:100
ip:192.168.4.1 gw:192.168.4.1 msk:255.255.255.0 mac:1a:fe:34:13:92:51
DHCP ip:192.168.4.2..192.168.4.10
ST:[tst] psw:[11111111] b:0 e4:8d:8c:23:99:2e ac:1
ip:192.168.0.222 gw:192.168.0.10 msk:255.255.255.0 mac:18:fe:34:13:92:51
sleep:0, rect:30, maxtpw:75, sthn:[ESP_139251]
S_WiFi 2
S_WiFi 4
sleep disable
S_WiFi 5
S_WiFi 6
S_WiFi 7

Добавил побольше отладки для выяснения точного места - стала зависать в другом месте:
Save rx_gain_dc table (0, 1)
Old reset: ExtReset
read-id:7373[10] CfgFlg: 26

Simple WEB version: 0.1.4
Found free IRAM: base: 0x4010593c, size: 9924 bytes
System memory:
data : 0x3ffe8000 ~ 0x3ffe8450, len: 1104
rodata: 0x3ffe8450 ~ 0x3ffe8de4, len: 2452
bss : 0x3ffe8de8 ~ 0x3ffeeec8, len: 24800
heap : 0x3ffeeec8 ~ 0x3fffc000, len: 53560
bssi : 0x4010593c ~ 0x40106544, len: 3080
free : 0x40106544 ~ 0x40108000, len: 6844
Start 'heap' size: 53312 bytes
Set CPU CLK: 80 MHz
read-id:6977[304] ok,size:304 WiFi mode:3 phy:3 dhcp:1/0
AP:ESP8266[7] hiden(0) psw:[0123456789] au:3 chl:5 maxcon:4 beacon:100
ip:192.168.4.1 gw:192.168.4.1 msk:255.255.255.0 mac:1a:fe:34:13:92:51
DHCP ip:192.168.4.2..192.168.4.10
ST:[tst] psw:[11111111] b:0 e4:8d:8c:23:99:2e ac:1
ip:192.168.0.222 gw:192.168.0.10 msk:255.255.255.0 mac:18:fe:34:13:92:51
sleep:0, rect:30, maxtpw:75, sthn:[ESP_139251]
S_WiFi 2
W4
W41
W42
sleep disable
W43
W5
W6
W7, 8c8
W8
W9
ErrWiFiSet: 0x00000800
S_WiFi 3

Disk init: 72 files, addr = 0x00080000
mode : softAP(1a:fe:34:13:92:51)
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
Heap size: 50848 bytes
Flash ID: 001640e0, size: 4194304
Curr cfg size: 1972 b
Last sec rw count: 2

read-id:4f43[33] ok,size:33 read-id:4e46[90] ok,size:123 read-id:5356[3] ok,size:3 SPI0 Clk: 40MHz(1001=0,1,0,1)
NRF-New ch 120
NRF-SetAddr failed
read-id:3075[8] ok,size:8 Init UART0
Run ini file: protect/init.ini
of1[protect/init.ini] ReadF[1]= 0, 0
cf1 WiFi_set(0x0000ffff)=0x00008e01
WiFi mode:3 phy:3 dhcp:1/0
AP:ESP8266[7] hiden(0) psw:[0123456789] au:3 chl:5 maxcon:4 beacon:100
ip:192.168.4.1 gw:192.168.4.1 msk:255.255.255.0 mac:1a:fe:34:13:92:51
DHCP ip:192.168.4.2..192.168.4.10
ST:[tst] psw:[11111111] b:0 e4:8d:8c:23:99:2e ac:1
ip:192.168.0.222 gw:192.168.0.10 msk:255.255.255.0 mac:18:fe:34:13:92:51
sleep:0, rect:30, maxtpw:75, sthn:[ESP_139251]
W4
mode : sta(18:fe:34:13:92:51) + softAP(1a:fe:34:13:92:51)
add if0

Жмешь reset и все нормально запускается и работает днями без глюков.
Мне вот интересно, почему еще ватчдог не срабатывает.

Как будто питания не хватает, но это модуль Nodemcu 3, да и другой, запитанный от 3W БП, ведет себя также.
 

pvvx

Активный участник сообщества
Что-то никак глюк с зависанием при включении не исправляется...
Что за глюк то? С чем боремся?
Я - с отваливанием Station и потом он без "ресета" никак... Но не виснет - AP часть работает, а ST умирает навсегда...
Для быстрого вызова отваливания station надо соединить модуль с другим WiFi устройством GND-GND и типа. Так к модулю приходит больший сигнал от другого и ему чаще "сносит крышу" - далее он "вешает" (забивает канал) все соединения к ранее включенной AP вопя на неверных частотах... Но иногда AP улавливает среди этого шума ответы с кривыми контрольными суммами и битыми пакетами...
А т.к. явление "отваливания" происходит нестабильно и сам модуль ESP8266 морально, физически устарел, да не имеет никаких перспектив, то убивать на поиск этого глюка силы нет никакого желания. Пусть этим занимается автор закрытого глюкодрома кодов и чипа - Espressif :)
 
Последнее редактирование:

vad7

Active member
Что за глюк то? С чем боремся?
Да на прошлой странице писал - думал модуль такой nodemcu глючный попался, ан нет на обычном есп12е тоже самое.
Зависает при подаче питания в функциях работы wifi. Причем мертво, даже ватчдог не срабатывает.
А так как отладчика в UDK нема, то и не отловишь никак.
Хотя вот попробую таймер какой-нить зарядить...

Перспективы у других модулей для меня пока никаких. Библиотек нормальных еще нет. Ардуино не перевариваю.
Самих модулей нормальных тоже особо нет.
А для есп есть отличная библиотека веб сервера, покрывающая все мои задачи, для wifi, на настоящий момент на 150%.
Да и понакупил их уже порядком, не выкидывать же.
 

DorianGray

New member
Добрый день. Пытался запустить оверлей, но так и не понял как :( (Использую проект Web-RS485) - не понятно как правильно записать команду :
1) 10.10.10.67 ....... &ovl=tcp_client.ovl
2)10.10.10.67 ....... &ovl&=1

На сколько я понял оверлеи надо запускать в пустом Web проекте, а не в проекте Web-RS485 ?
 
Последнее редактирование:
Сверху Снизу