• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

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

pvvx

Активный участник сообщества
По прошивке - есть проблемы с режимами WiFi.
Уже исправлено + ещё мелочь :)
C настройками была моя ошибка (перепутал две буквы :) ) + ошибка SDK.
а WEP вообще не выбирается.
"а WEP" вообще на SOFTAP не работает - не реализовано у Espressif в закрытом коде.
В user_interface.h к SDK это описано так:
AUTH_MODE authmode; // Note: Don't support AUTH_WEP in softAP mode.
А весть интернет копирует друг у друга, что модуль поддерживает WEP :) Копипастеры...
 
Последнее редактирование:

shaman1010

Member
Уже исправлено + ещё мелочь :)
Ну почти :)
Теперь точкой доступа он нормально прикидывается, а вот клиентом все-равно не цепляется.
Но связано уже с другим, на стандартных ESP8266/0123456789 + WPA2/PSK точкой доступа завелось нормально, но при изменении SSID (6 символов) и пароля (33 буквенно-цифровых символа) - уже не шуршит... Экспериментальным путем обнаружил, что (при SSID из 6 символов) пароль из 30 цифр - работает, а из 33 цифр - не работает. Граница где-то между :)

И в общем проекте этот-же баг, в момент написания прошлого поста, тоже был.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Ну почти :)
Теперь точкой доступа он нормально прикидывается, а вот клиентом все-равно не цепляется.
Но связано уже с другим, на стандартных ESP8266/0123456789 + WPA2/PSK точкой доступа завелось нормально, но при изменении SSID (6 символов) и пароля (33 буквенно-цифровых символа) - уже не шуршит... Экспериментальным путем обнаружил, что (при SSID из 6 символов) пароль из 30 цифр - работает, а из 33 цифр - не работает. Граница где-то между :)

И в общем проекте этот-же баг, в момент написания прошлого поста, тоже был.
#define FileNameSize 48
#define VarNameSize 32

Трудовому народу пароли и переменные длиннее 32 символов не требуются :) (и коммерсантам не продадите). Исправлению не подлежит - жалко памяти.
Добавил сброс на установки WiFi по умолчанию ножкой RX (см. описание в первом посте).
 

shaman1010

Member
#define FileNameSize 48
#define VarNameSize 32

Трудовому народу пароли и переменные длиннее 32 символов не требуются :) (и коммерсантам не продадите). Исправлению не подлежит - жалко памяти.
Добавил сброс на установки WiFi по умолчанию ножкой RX (см. описание в первом посте).
Т.е. предлагаете обе сетки со всем гамузом у себя перестроить? :)
На гостевую сетку он у меня тоже не цепляется (там DHCP фиг знает где, видать релей где-то упустил, хотя винда и андроиды цепляются нормально)
Кстати, а почему 32, а не 24 или 40?
 

pvvx

Активный участник сообщества
Кстати, а почему 32, а не 24 или 40?
Просто так. Так росло. Смените на 40.
В новой версии сменил на:
#define FileNameSize 64
#define VarNameSize 64
Но в HTML ограничено SSID на 31 и пароль на 63, т.к. всегда беда с последним символом и испытывать SDK на это не стоит :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Отлично :) Уже ставлю.
А было 32 по причине, что в кодировке urldecode (что передается в WEB, если писать по русски) 64 символа будет вот такая надпись:
%u0433%u043B%u0430%u0432%u0440%u044B%u0431%u0430-%u0430%u0431%u044B%u0440%u0432%u0430%u043B%u0433-%u0433%u043B%u0430%u0432%u0440%u044B%u0431%u0430-%u0430%u0431%u044B%u0440%u0432%u0430%u043B%u0433-%u0433%u043B%u0430%u0432%u0440%u044B%u0431%u0430-%u0430%u0431%u044B%u0440%u0432%u0430%u043B%u0433-%u0433%u043B%u0430%u0432%u0440%u044B%u0431%u0430-%21
 

shaman1010

Member
А было 32 по причине, что в кодировке urldecode (что передается в WEB, если писать по русски) 64 символа будет вот такая надпись:
%u0433%u043B%u0430%u0432%u0440%u044B%u0431%u0430-%u0430%u0431%u044B%u0440%u0432%u0430%u043B%u0433-%u0433%u043B%u0430%u0432%u0440%u044B%u0431%u0430-%u0430%u0431%u044B%u0440%u0432%u0430%u043B%u0433-%u0433%u043B%u0430%u0432%u0440%u044B%u0431%u0430-%u0430%u0431%u044B%u0440%u0432%u0430%u043B%u0433-%u0433%u043B%u0430%u0432%u0440%u044B%u0431%u0430-%21
Кто-то русские символы в ключе использует? бррр...
Но, кстати, длинный пароль прокатил только в режиме AP, в STA - нифига...
Для чистоты эксперимента - пароль взял один и тот-же.
Может быть от того, что SSID имеет и маленькие и большие символы? Пока проверяю...
Проверил, ни от того. В режиме точки доступа работает с любой комбинацией. Клиентом цепляться не хочет. Может еще где-то ограничение на длину забыто?
Взлетело!!! ура, проблема (или особенность :) ) была в том, что без установленной галки "AutoConnect" даже в ручном режиме не стартовало. "Галка решила вопрос".
Может стоит зафиксировать сей нюанс на главной?
 
Последнее редактирование:

pvvx

Активный участник сообщества
Взлетело!!! ура, проблема (или особенность :) ) была в том, что без установленной галки "AutoConnect" даже в ручном режиме не стартовало. "Галка решила вопрос".
Может стоит зафиксировать сей нюанс на главной?
Это известно. Постоянное выставление данной галки и отсутствие базы, куда будет ломиться модуль, почти полностью тормозит AP на модуле.
И перечитайте прошивку - в прошлом варианте был включен очень большой уровень отладки и будет подтормаживать.... :)
Счас ещё авто-автоконнект впишу для забывчивых, когда переключают в режим ST, без AP...
 
Последнее редактирование:

shaman1010

Member
Это известно. Постоянное выставление данной галки и отсутствие базы, куда будет ломиться модуль, почти полностью тормозит AP на модуле.
Модуль в режиме AP+STA потерялся, передернул питание - появился. Перевел в чистый STA. Смотрю. Пока даже клиента UART-ного не подключал.
Сейчас попеременно подключал андроидного/виндового клиентов - получил то, что в логе... wdt отработал. "56" - первая посылка виндового клиента.

output_2015-03-18_04-10-18.txt
 

Вложения

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

pvvx

Активный участник сообщества
Модуль в режиме AP+STA потерялся, передернул питание - появился. Перевел в чистый STA. Смотрю. Пока даже клиента UART-ного не подключал.
Сейчас попеременно подключал андроидного/виндового клиентов - получил то, что в логе... wdt отработал. "56" - первая посылка виндового клиента.

output_2015-03-18_04-10-18.txt
В прошивке не существует стринга "GPIO,"
В режиме STATION ESP8266 глючит с быстрыми базами, если включен "802.11n". Это баг Espressif. 802.11n у них работает только с тормозными и дешевыми базами, которые не тянут полный 802.11n... Переключайте в 802.11g. Espressif всё делает только для галочки, что типа есть 802.11n и т.д.. А на самом деле все неполноценное.
Нарисуют красивые HTM на русском - впишем всё необходимое во встроенный HELP.
 
Последнее редактирование:

shaman1010

Member
В прошивке не существует стринга "GPIO,"
Это зеркалирование посылки. То, что имелось ввиду - реакция модуля, после очередного получения (в данном случае 56, с виндошного клиента). wdt и иже с ним.
Переключайте в 802.11g.
Попробую обязательно. Переключатель переводит в модуль в g-режим, не зависимо от использования его в AP либо STA?
Главное, что бы у людей домашние точки доступа не схлопывались в G, при появлении хоть одного G-клиента.

Перевел в G, заодно и обновился до 0.1.3 (хотя в интерфейсе 0.1.2 :) ). Пока повторить прошлое поведение модуля не удалось.

Кстати, два вопроса:
1) утечку памяти починили в SDK, или каждый сам себе патчит?
2) в дальнейшем в текущем проекте возможна передача прямого RAW потока? Другими словами, можно ли будет подключить к одному модулю ИК-светодиод, к другому (а в идеале - к другим) ИК-приемник и использовать в качестве удлинителя пульта?


Сейчас проверял различные битрейты, так вот до 3800000 работает нормально (модуль автоматически переводит введенное число в фактически необходимый поток), а начиная с 3900000 - модуль выставляет 4000000, на 5000000 модуль оставляет 5000000. Т.е. не корректирует ширину потока.
На 3800000 модуль абсолютно нормально работает (у меня flow-control эмулирует клиент, замыкая RTS+CTS и DSR+DTR, т.е. фактически его нет)

Так что пока отлично :) (но стоит проверить, что мешает на битрейте выше 3800000)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Сейчас проверял различные битрейты, так вот до 3800000 работает нормально (модуль автоматически переводит введенное число в фактически необходимый поток), а начиная с 3900000 - модуль выставляет 4000000, на 5000000 модуль оставляет 5000000. Т.е. не корректирует ширину потока.
На 3800000 модуль абсолютно нормально работает (у меня flow-control эмулирует клиент, замыкая RTS+CTS и DSR+DTR, т.е. фактически его нет)
Отлично :) (но стоит проверить, что мешает на битрейте выше 3800000)
Тактовая на UART 80 000 000 MHz из этого и исходите. Делить не на целое генератор для UART не умеет.
После 3 Mbaud появляются провалы из-за таймеров, адаптированных для поддержки низких скоростей UART (для любителей "дурино" на 9600Baud).
После 20 Mbaud порт UART "теряет" биты на I/O - не хватает частоты тактирования пинов в режиме UART...
 

shaman1010

Member
Тактовая на UART 80 000 000 MHz из этого и исходите. Делить не на целое генератор для UART не умеет.
После 3 Mbaud появляются провалы из-за таймеров, адаптированных для поддержки низких скоростей UART (для любителей "дурино" на 9600Baud).
После 20 Mbaud порт UART "теряет" биты на I/O - не хватает частоты тактирования пинов в режиме UART...
Возможно некорректно описал. Попробую еще раз.
Когда в модуле выставляю 3800000 - он автоматически меняет значение на 3809523. В терминале выставляю 3800000 и все работает. (аналогично 5500000-5714285, в терминалах 5500000)
А когда пытаюсь выставить 5000000 - модуль выставляет 5000000 (уже не верно), в терминалах тоже 5000000, но уже сыпет мусор (при том, что на 550000 работает нормально, в первом приближении).

И, кстати, все это сквозь CP2104 :eek:
 

pvvx

Активный участник сообщества
И, кстати, все это сквозь CP2104 :eek:
Baud rates: 300 bps to 2 Mbits
CP2104_bauds.gif
При 5000000 Baud ближайшее у CP2104 будет 48000 или 6000000 Baud. Но она на таких скоростях не работает и драйвер часто не позволяет ставить даже промежуточные между стандартным рядом 300 ... 57800, 115200, 23400, 460800, 921600, 1843200.

Дешевые FTxxx на недо USB2.0 (Full-speed 12MBit/s max) - до 3-х MBaud и делитель тоже ступенями.

80000000/3809523 = 21
 
Последнее редактирование:

shaman1010

Member
Baud rates: 300 bps to 2 Mbits
Так я об этом же...

Это я понял, но не понял, почему на 5Мбод мусор, а на 5,5 - чистота, хотя по идее должно быть минимум наоборот, а максимум - у меня вообще не должно было работать...

Хотя отбой, мусорит и там и там, но по-разному. Даже на 2000000 при передаче HEX-а есть пропуски. Здесь таки понятно, нужны нормальные CTS+RTS.

Но эффект ВАУ был :)

Теперь все с точностью до наоборот :-(
Включил и подключил везде RTS и CTS и даже на 19200 не смог словить HEX, не отличающийся от оригинала. Может, конечно, я где-то косячу, но хотелось бы услышать от тех, кто реально пробовал именно бинарники отсылать, на сколько они целыми доходят.
Может уже и DSR с DTR-ом добавлять?
 
Последнее редактирование:

pvvx

Активный участник сообщества
Может, конечно, я где-то косячу, но хотелось бы услышать от тех, кто реально пробовал именно бинарники отсылать, на сколько они целыми доходят.
Зависит от программы терминала :) Пишите свою программу открывающую сокет и отсылающую бинарники, т.к. большинство рассчитаны на передачу текста :)
 

shaman1010

Member
Зависит от программы терминала :) большинство рассчитаны на передачу текста :)
У большинства терминалов и скорость то отфанарную не выставишь.
В текущем применении пользуюсь этим, если есть что-то еще более гибкое - сошлите, плз.
Пишите свою программу открывающую сокет и отсылающую бинарники
Могу сказку написать, могу обзор с пристрастием набросать, программу под x86 - не могу :oops:
 

pvvx

Активный участник сообщества
У большинства терминалов и скорость то отфанарную не выставишь.
В текущем применении пользуюсь этим, если есть что-то еще более гибкое - сошлите, плз.
Всё передает и принимает в bin:
tcp-uart-hexbin.gif
Про это "пользуюсь этим" - писалось ранее. Оно выдает символы с шагом в 1 ms и часто у него переполняется буфер.
У вас все вопросы, на которые уже были ранее приведены ответы в параллельной теме...
 

shaman1010

Member
Всё передает и принимает в bin:
Я так понимаю, это Ваш проект. Если так, то отлично, дождемся выхода в продакшн, потестируем. Этот процесс мне нравится.
Про это "пользуюсь этим" - писалось ранее. Оно выдает символы с шагом в 1 ms и часто у него переполняется буфер.
Соседние ветки в принципе нужно прокурить, это да, на досуге и этим займусь.
Т.к. у меня CP2104, ему нельзя в настройках 1мс выставить...
У вас все вопросы, на которые уже были ранее приведены ответы в параллельной теме...
Я не первый, и не последний :) думаю когда будет какой-нить FAQ, будет куда "посылать".
А пока да, пошел читать, какие грабли уже найдены.
 
Сверху Снизу