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

Прошивка TCP2UART переходника с настройкой по Web

Tomahawk

New member
* Если Flash на модуле более 512 Кбайт, то после подключения к AP "ESP8266" требуется заливка диска программой WEBFS22.exe или эксплорером набрав http://192.168.4.1/fsupload. Можно записать WEBFiles.bin и программатором по адресу 0x80000.
В этом случае при заходе на главную страницу выдаст "Web-disk error. Upload the WEBFiles.bin!". Недавно столкнулся с такой проблемой.
 

DimaO

New member
Добрый вечер.
Проблема такая - приобрел несколько ESP8266-03, все из одной партии.
AT+RST
OK

ets Jan 8 2013,rst cause:1, boot mode:(3,6)

load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

Ai-Thinker Technology Co.,Ltd.
ready



AT+GMR
AT version:0.40.0.0(Aug 8 2015 14:45:58)
SDK version:1.3.0
Ai-Thinker Technology Co.,Ltd.
Build:1.3.0.2 Sep 11 2015 11:48:04
OK

Прошил версией 0.6.0 - и начались чудеса. Комп точку доступа видит, подключается, но при заходе в веб-интерфейс на разных этапах - соединение виснет, и потом отваливается по тайм-ауту. Прошивал тремя способами - питоном с полной очисткой, Flash Download Tool-ом и ESPFlasher-ом. При прошивке ошибок нет никаких. Пробовал разные частоты и режимы флеша, разные питания (от БП и USB переходника) - толку никакого.


Самое интересное - два модуля ведут себя одинаково, третий - заработал без проблем сразу. При прошивке esp_iot_sdk_v1.5.2 - работают стабильно, как и на той прошивке, что была залита.

Тип памяти - BergMicro 25080.

Логи для разных вариантов прошивки - в файлах:
40 DIO 512 - 40МHz DIO WEBFS заливал по WIFI
40 DIO 512+FS - 40МHz DIO WEBFS прошил при установленном размере памяти 512K
40 DIO 1024+FS - 40МHz DIO WEBFS прошил при установленном размере памяти 1024K
After poweroff - poweron - лог после перетыкания питания.

Пробовал разные версии прошивок - результат одинаков.

Что делать, куда смотреть?

PS: Проверил - сразу после прошивки, на дефолтный TCP:12345 коннект есть, мост работает, данные в обе стороны ходят.
 

Вложения

Последнее редактирование:

pvvx

Активный участник сообщества
Добрый вечер.
Прошил версией 0.6.0 - и начались чудеса. Комп точку доступа видит, подключается, но при заходе в веб-интерфейс на разных этапах - соединение виснет, и потом отваливается по тайм-ауту.
......
Что делать, куда смотреть?

PS: Проверил - сразу после прошивки, на дефолтный TCP:12345 коннект есть, мост работает, данные в обе стороны ходят.
Уменьшите уровень RF Tx Power: 82 к примеру на 70 на странице настроек WiFi
 

DimaO

New member
Уменьшите уровень RF Tx Power: 82 к примеру на 70 на странице настроек WiFi
Не получается зайти в веб-интерфейс, оно виснет на разных этапах сразу после прошивки.

Но самое интересное - сегодня с другого устройства залил WEBFiles.bin и без каких либо телодвижений модуль ожил.
Коннект телнетом на 192.168.4.1:12345 есть и данные по мосту ходят даже тогда, когда висит веб-интерфейс. Надо будет глянть хромовским отладчиком что там происходит.
 

Surkov

New member
@pvvx залил пример 10leds в модуль ESP-12E, однако получил только 9 линий ввода/вывода. Достучаться до GPIO3 так и не смог. Полагаю, это из-за мультиплексирования с U0RXD. Что можно сделать, может как-нибудь отключить принудительно?
 

Tomahawk

New member
Не получается зайти в веб-интерфейс, оно виснет на разных этапах сразу после прошивки.
"Тормозить" может в случае, если вы прошили 2 модуля с одинаковым именем точки, это даже как-то работает, но дико глючит, что неудивительно :) Выключите ваш модуль и посмотрите, не осталось ли в окружении такого же имени.
 

pvvx

Активный участник сообщества
@pvvx залил пример 10leds в модуль ESP-12E, однако получил только 9 линий ввода/вывода. Достучаться до GPIO3 так и не смог. Полагаю, это из-за мультиплексирования с U0RXD. Что можно сделать, может как-нибудь отключить принудительно?
Произвел все действия по описанию (собираете файлы и с опцией не архивировать *.ini).
После перезагрузки модуля RXD пин принимает и отрабатывает вывод "1" или "0". Проверял на ESP-12 - там вывод RXD - 2-ой от края.
ESP-12-pins.jpg pin_func.gif
Функции и установки на странице http://aesp8266/protect/gpio.htm после загрузки с переименованным WEBFiles\protect\10leds.ini в init.ini:
Gpio10.gif
 

FGX

Member
Добрый день. Что-то не могу загрузить WEBFiles.bin через WEBFS22.exe и через интернет страничку, она сломалась. программа говорит что загружено, но работать не работает. Там вроде то и настраивать нечего, просто хотел посмотреть вариант с rs485 но пока затык с загрузкой что-то. Модуль 07й памяти 512кб
Web-disk error. Upload the WEBFiles.bin!

Из эклипаса шьется нормально
 
Последнее редактирование:

sasha_eap

New member
Добрый день!
Подскажите где можно уменьшить буфер FIFO для UART, мне позарез нужны минимальные задержки, заранее благодарен!
 

Andy Korg

Moderator
Команда форума
Подскажите где можно уменьшить буфер FIFO для UART, мне позарез нужны минимальные задержки
Описание uart можно посмотреть у pvvx на githab, работу с интерфейсом у него же. Уменьшать ничего не надо, просто читайте FIFO с той частотой которая вам нужна.
 

FGX

Member
Подскажите, пожалуйста, где в исходниках настроить по умолчанию выключить уарт 1 который на отладку и включить флоу контроль у уарта0, скорость по умолчанию и настройки вайфай я нашел, но все остальное не могу. Если их можно настроить через страничку то где то в программе начальные значения прописаны же, нашел структуры но я так понял значения в них не значения, то что если их выставлять в 0 эклипс ругается. просто хочу настроить по максимуму в прошивке а на страничке вырезать все кроме SSID и пароля, страничку обрезал методом тыка.
struct uartx_bits_config {
uint32 parity : 1; //0 0x0000001
uint32 exist_parity : 1; //1 0x0000002
uint32 data_bits : 2; //2..3 0x000000c
uint32 stop_bits : 2; //4..5 0x0000030
uint32 sw_rts : 1; //6 0x0000040 -
uint32 sw_dtr : 1; //7 0x0000080 -
uint32 tx_brk : 1; //8 0x0000100 -
uint32 irda_dplx : 1; //9 0x0000200 -
uint32 irda_tx_en : 1; //10 0x0000400 -
uint32 irda_wctl : 1; //11 0x0000800 -
uint32 irda_tx_inv : 1; //12 0x0001000 -
uint32 irda_rx_inv : 1; //13 0x0002000 -
uint32 loopback : 1; //14 0x0004000
uint32 flow_en : 1; //15 0x0008000 rx + tx flow
uint32 irda_en : 1; //16 0x0010000 -
uint32 rxfifo_rst : 1; //17 0x0020000 -
uint32 txfifo_rst : 1; //18 0x0040000 -
uint32 rxd_inv : 1; //19 0x0080000
uint32 cts_inv : 1; //20 0x0100000
uint32 dsr_inv : 1; //21 0x0200000
uint32 txd_inv : 1; //22 0x0400000
uint32 rts_inv : 1; //23 0x0800000
uint32 dtr_inv : 1; //24 0x1000000
uint32 swap : 1; //25 0x2000000 // swap uart0 pins (u0rxd <-> u0cts), (u0txd <-> u0rts)
} __attribute__((packed));

[HASHTAG]#define[/HASHTAG] UART0_REGCONFIG0MASK 0x1F8C03F
[HASHTAG]#define[/HASHTAG] UART1_REGCONFIG0MASK 0x1F8C03F
[HASHTAG]#define[/HASHTAG] UART0_REGCONFIG0DEF 0x000001C
[HASHTAG]#define[/HASHTAG] UART1_REGCONFIG0DEF 0x000001C
[HASHTAG]#define[/HASHTAG] UART0_DEFBAUD 2000000
[HASHTAG]#define[/HASHTAG] UART1_DEFBAUD 2000000

struct UartxCfg { // структурасохранениянастроек Uart в Flash
uint32 baud;
union {
struct uartx_bits_config b;
uint32 dw;
}cfg;
};

struct sys_bits_config {
uint16 hi_speed_enable : 1; //0 0x0000001 =1 Set CPU 160 MHz ...
uint16 pin_clear_cfg_enable : 1; //1 0x0000002 =1 Проверятьножку RX насбросконфигурации WiFi
uint16 debug_print_enable : 1; //2 0x0000004 =1 Вывод отладочной информации на GPIO2
uint16 web_time_wait_delete : 1; //3 0x0000008 =1 Закрывать соединение и убивать pcb c TIME_WAIT
uint16 netbios_ena : 1; //4 0x0000010 =1 включить NetBios
uint16 sntp_ena : 1; //5 0x0000020 =1 включить SNTP
uint16 cdns_ena : 1; //6 0x0000040 =1 включить CAPDNS
uint16 tcp2uart_reopen : 1; //7 0x0000080 =1 открытие нового соединения tcp2uart ведет к закрытию старого соединения (в режиме tcp2uart = сервер)
uint16 mdb_reopen : 1; //8 0x0000100 =1 открытие нового соединения modbus ведет к закрытию старого соединения (в режиме modbus = сервер)
};
Скриншот 2016-05-10 23.24.56.png
 

pvvx

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

ub6

New member
Доброго дня. Только что прошил первый модуль свежей прошивкой.
1. Мне кажется, что в прошивке есть огромный глюк - на index странице, не зная пароля, можно увидеть как имя так и пароль, с помощью которых можно получить доступ к настройкам.
2. Как собирать webfs в linux?
3. Попробовал из tcp в rs232, как минимум часть функционала заработала сразу. Понравилось.
4. Спасибо, любопытный проект.

Обновляю запись.
1. поправил имя-пароль в исходнике index.htm, изменив с "текущего значения" на значение по умолчанию.
2. собрал при помощи вайна webfs.
3. не проверял - пока не приехал заказ.
4. спасибо, любопытно. Сижу мигаю ГПИО-светодиодами через
Код:
curl  -u 'ESP8266:mypwd' 'http://myip/protect/gpio.xml?gpio12_od=3'
 
Последнее редактирование:

FGX

Member
Спасибо, смысл понял. В папке protect есть файл init.ini, в нем какая-то шаманская строка, можете ссылку дать, если где то есть описание этого файла.
Проблему загрузки WEBFiles.bin через WEBFS22.exe на последней версии прошивки не смотрели?
 

pvvx

Активный участник сообщества
Доброго дня. Только что прошил первый модуль свежей прошивкой.
1. Мне кажется, что в прошивке есть огромный глюк - на index странице, не зная пароля, можно увидеть как имя так и пароль, с помощью которых можно получить доступ к настройкам.
HTML к прошивке имеют малое отношение и даны в качестве примера.
Пароль там дается чтобы не забыть :)
2. Как собирать webfs в linux?
Это не рассчитывалось, т.к. используется UDK.
 

ub6

New member
HTML к прошивке имеют малое отношение и даны в качестве примера.
Пароль там дается чтобы не забыть :)
На роутерах тоже даётся пароль, чтоб не забыть - пароль по умолчанию написан на дне устройства. А после смены его можно сбросить. Моё предположение, что уместно давать пароль именно так - не зря же его меняли. Кто имеет доступ к устройству тот и сбросить сможет. Ну да ладно, не большая проблема, поменял в хтмл, в конце концов для демонстрации возможностей подстановки в хтмл вполне подходит.
Это не рассчитывалось, т.к. используется UDK.
Я уже раньше дописал своё сообщение, пояснив как именно мне без проблем удалось собрать webfs в linux. Может, и пригодится информация.

Скажите, а watchdog в этой прошивке используется?
 

sasha_eap

New member
подскажите, где глянуть порядок компиляции проекта. исходники открыл в эклипс, а как скомпилировать?
 

pvvx

Активный участник сообщества
подскажите, где глянуть порядок компиляции проекта. исходники открыл в эклипс, а как скомпилировать?
В описании к UDK, сначала Import проекта, потом в окошке Make Target...
См Видео с демонстрацией импорта примеров прошивок в Eclipse Luna
и http://esp8266.ru/forum/threads/raz...o-webservera-na-esp8266.56/page-79#post-16774
 

sasha_eap

New member
Прошу прощения!

Пытаюсь скомпилить проект, всё по инструкциям, выдает следующее:

Traceback (most recent call last):
File "C:/ESPTOOL/workspace/Web_Base/esptool.py", line 22, in <module>
import serial
ImportError: No module named serial
mingw32-make[1]: *** [.output/eagle/bin/eagle.app.v6.bin] Error 1
../Makefile:198: recipe for target '.output/eagle/bin/eagle.app.v6.bin' failed
mingw32-make[1]: Leaving directory 'C:/ESPTOOL/workspace/Web_Base/app'
C:/ESPTOOL/workspace/Web_Base/Makefile:255: recipe for target '.subdirs' failed
mingw32-make.exe: *** [.subdirs] Error 2
 
Последнее редактирование:
Сверху Снизу