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

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

pvvx

Активный участник сообщества
на домашнем роутере можно поднять Dynamic DNS
У меня так и включен модуль всё время. Через xxxx.asuscomm.com, от производителя роутера. Постоянно наблюдаю в логе все заходящие поисковики на него, в основном из ШША, даже из пентагону запросы были :) Много запросов в Web сыпется просто по IP, от ошибок где-то ....
С внешним именем и IP уже через множество проксей модуль проверил, а так- же всякими анализаторами HTTP страниц и Web... Об этом где-то ранее писалось...
Вот первый попавшийся внешний запрос (какой-то файл 'rom-0' хотели) , за сегодня:
Код:
srv[80] 95.213.143.180:51685 [1] listen
srv[80] 95.213.143.180:51685 [1] read: 219 of255[rom-0] of255[rom-0/index.htm] GET f[/rom-0] of1[404.htm] #2258 (208) 404 send: of2[footer.inc] cf2 cf1 #2246 640 dis
srv[80] 95.213.143.180:51685 [1] disconnect
Шарятся, на главной странице и пароль и имя написано, но никто не меняет :)
 
Последнее редактирование:

FGX

Member
настроил Dynamic DNS, и через вайфай он работает, по присвоенному хосту заходит на веб страничку и подключается к TCP. Причем на веб страничке показывается IP не мой, а Dynamic DNS сервера(или как он называется правильно) - т.е. все честно работает, но вот через мобильный интернет не работает. Хочу проверить с другого компа, через другой интернет зайдет ли. Возможно есть ограничения на мобильные из-за того что Dynamic DNS бесплатный, но там ничего об этом не сказано, и роутер ничего лучше не поддерживает. Кому не сложно подключитесь к TCP gfx.noip.me:4444 и скажите подключается ли и приходит что-то(если подключится нужно минуту подождать, там данные раз в минуту шлются)?
 

pvvx

Активный участник сообщества
настроил Dynamic DNS
...
С мобильниками мне известна только проблема с POST на древней аппаратуре GSM. Если у вас не мАсква или spb, то обычно, старые станции GSM снимаются из больших городов и устанавливаются на периферию... там и многое не поддерживается.
Вторая беда с GSM - большая пауза передачи (ping) и NAT. В Web стоит 5 сек - этого мало для российских сетей GSM :)
ping http://gfx.noip.me
При проверке связи не удалось обнаружить узел http://gfx.noip.me.
Проверьте имя узла и повторите попытку.
 

pvvx

Активный участник сообщества
Анализаторов сайтов очень много в сети
К примеру, первый попавшийся: http://gtmetrix.com/
cccc22.gif
На ваш пишет:
Analysis Error
An error occurred fetching the page: write failed: Connection timed out

Используйте любой online proxy для начальной проверки... и просить никого не потребуется.
 
Последнее редактирование:

FGX

Member
Анализатор сайтов - не совсем прямая проверка. Так сам сервер может работать, а если переадресацию порта не настроить, то TCP порт не будет работать, который нужен. Но в моем случае похоже, что ничего так и не работает, если заходить не из локальной сети, что непонятно. Когда я подключаюсь ведь работает и ip чужой отображается, по хосту пингуется. Ну ладно, это не по теме.
 

pvvx

Активный участник сообщества
Но в моем случае похоже, что ничего так и не работает, если заходить не из локальной сети, что непонятно.
У вас не работает noip.me и возможно сидите за кривым NAT у провайдера.
Если у вас публичный IP, то всё работает на ура:
proxyxx.gif
Единственное, что у многих proxy многое отключено. К примеру не поддерживают авторизации и т.д.
А номер порта тут ну ни как не сказывается... Какой укажите, тот и будет анализироваться и т.д.
Свой адрес куда включен ESP не даю, т.к. он используется у меня для тестов не только ESP :) Мешать будут.
 
Последнее редактирование:

FGX

Member
У вас не работает noip.me .
Вообще, как я понимаю, noip.me у меня работает, так как я захожу на него и попадаю к себе, т.е. он по имени предоставляет мой ip адрес. Он же вроде ничего больше и не должен делать(вообще если я сам посмотрю мой внешний ip, пусть он динамический, то я должен заходить по нему к себе или нет?).
Мне кажется странным что в роутере прописан IP-адрес: 10.51.226.117, а при запросе в яндексе и другие сайты говорят мне что у меня 178.76.217.105, если я захожу на адрес который прописан в роутере то я попадаю к себе на страницу ESP(из домашней сети), а если тот что видят браузеры то нет. Короче у меня какой-то виртуальный адрес от поставщика интернета и ничего тут не поделать, нужно подключать услугу "«Интернет-адрес» — реальный интернет-адрес на компьютере." Вообщем вопрос закрыт, нужно менять провайдера, или доплачивать этому.
 

pvvx

Активный участник сообщества
Вообще, как я понимаю, noip.me у меня работает
....
Как раз это всё к теме не относится :) У большинства реализаций NAT у провайдеров и GSM нет возможностей определить внутренний маршрут по внешнему запросу. По этому работает только исходящее от вас соединение. Ждите ipv6 :)
А вот поведение Web-сервера через всякие прокси - это уже интереснее.
 
Последнее редактирование:

shaman1010

Member
А вот поведение Web-сервера через всякие прокси - это уже интереснее.
Ничего там интересного нет. Роутер видит запрос на внешний ресурс, маршрут к которому он знает, вот и пускает пакеты по короткому пути. Любые внешние запросы на свое железо нужно проверять либо с чужой сети, либо запретить обходить NAT на роутере (далеко не всегда это возможно сделать).

А пара 10.51.226.117 - 178.76.217.105 говорит о том, что роутер сидит за провайдерским NAT-ом и снаружи получить хоть какие-то порты можно лишь при пробросе таковых провайдером (что они делать не всегда хотят, либо за отдельную плату).
 

pvvx

Активный участник сообщества
Ничего там интересного нет. Роутер видит запрос на внешний ресурс, маршрут к которому он знает, вот и пускает пакеты по короткому пути.
Вы картинки то смотрели? Там запрос не с моего IP и тот IP 62.210.94.133 не входит в мою домашнюю сеть :) Proxy на то и proxy. И поведение у них разное, творят что хотят с запросами HTTP - от того и интерес...
Если
роутер сидит за провайдерским NAT-ом
то "пробросить" из вне никакие порты невозможно, не отняв их у других.
 
Последнее редактирование:

shaman1010

Member
Вы картинки то смотрели? Там запрос не с моего IP и тот IP 62.210.94.133 не входит в мою домашнюю сеть :) Proxy на то и proxy. И поведение у них разное, творят что хотят с запросами HTTP - от того и интерес...
Вы опять с другой стороны смотрите. Я не говорю, что нельзя попасть к своему модулю через proxy/anonymizer/vpn... а говорю, что FGX сидит за провайдерским NAT-ом в его (провайдерской) локальной 10.0.0.0 подсети и получить доступ с мира сквозь провайдерский NAT, без согласия последнего, невозможно (ну почти :) ). А то, что он имеет доступ к своему модулю, обращаясь к внешнему доменному имени, говорит лишь о том, что его личный роутер любит сокращать маршруты. Вот, собственно, что я имел ввиду.
Ну и по теме, когда Winsock+chrome планируется зарелизить? :)
 

pvvx

Активный участник сообщества
Вы опять с другой стороны смотрите.
Нет я отвечаю на конкретный ответ к цитате: >А вот поведение Web-сервера через всякие прокси - это уже интереснее.
Ну и по теме, когда Winsock+chrome планируется зарелизить? :)
У меня давно, в тестовом черновом варианте, переключение WEB HTTP на WebSocket ...:
На запрос из https://ru.wikipedia.org/wiki/WebSocket#.D0.9F.D1.80.D0.BE.D1.82.D0.BE.D0.BA.D0.BE.D0.BB_07
Код:
GET / HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Origin: http://example.com
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 7
Лог расчета ключей дает правильный:
Код:
srv[80] 192.168.1.2:9437 [1] listen
srv[80] 192.168.1.2:9437 [1] read: 239 of1[index.htm]
wskey:'dGhlIHNhbXBsZSBub25jZQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11'
cha:'b37a4f2cc0624f1690f64606cf385945b2bec4ea'
base64_encode() = 28
key:'s3pPLMBiTxaQ9kYGzzhZRbK+xOo='
WEBSOC f[/]....
А так - не знаю. На него же ещё надо что-то повесить...
Используемая память Web при этом стала меньше на 128 байт :)

Для ускорения дайте ответ на вопросы: Надо ли или возможно "парсить" запрос на переключение в WebSocket:
1) на переменные?
2) на куки
3) ещё на что?
Пока запрос разбирается как и для Web.
CHA используется из ROM-BIOS. Она там целнотянутая у Copyright (C) 1998 VMware, Inc. All rights reserved. :)
Код:
/*********************************************************
 * Copyright (C) 1998 VMware, Inc. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as published
 * by the Free Software Foundation version 2.1 and no later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the Lesser GNU General Public
 * License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA.
 *
 *********************************************************/

/*********************************************************
 * The contents of this file are subject to the terms of the Common
 * Development and Distribution License (the "License") version 1.0
 * and no later version.  You may not use this file except in
 * compliance with the License.
 *
 * You can obtain a copy of the License at
 *         http://www.opensource.org/licenses/cddl1.php
 *
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 *********************************************************/

/*
 * sha1.h --
 *
 *    SHA1 encryption
 */
По этим и аналогичным причинам нам никогда не видать исходников от Espressif :)
 
Последнее редактирование:

FGX

Member
Добрый день. Нашел проблему, уже несколько раз повторилась. Иногда модуль сходит с ума и начинается адски греться и просаживать напряжение питания и пока питание не передернешь, сам он не выходит из этого режима, но пока не сгорел, хотя раскаляется знатно (но я успевал выдернуть питание через несколько секунд после того как увидел что индикатор еле светится).
Вот сейчас я шил пик не отключая вайфай модуль, который соединен с пиком через ком порт, питание тоже не снимал(но модуль питается через стабилизатор 3.3.В и уровни согласованы по ком порту). Прошил пик все нормально, но смотрю индикатор еле светится, пробую модуль а он обжигает палец. передернул питание- все нормально. Такие пироги, модуль без защиты какой-то, так заглючит и сгорит ненароком..
 

Victor

Administrator
Команда форума
Добрый день. Нашел проблему, уже несколько раз повторилась. Иногда модуль сходит с ума и начинается адски греться и просаживать напряжение питания и пока питание не передернешь, сам он не выходит из этого режима, но пока не сгорел, хотя раскаляется знатно (но я успевал выдернуть питание через несколько секунд после того как увидел что индикатор еле светится).
Вот сейчас я шил пик не отключая вайфай модуль, который соединен с пиком через ком порт, питание тоже не снимал(но модуль питается через стабилизатор 3.3.В и уровни согласованы по ком порту). Прошил пик все нормально, но смотрю индикатор еле светится, пробую модуль а он обжигает палец. передернул питание- все нормально. Такие пироги, модуль без защиты какой-то, так заглючит и сгорит ненароком..
Чтобы исключить такое нужно ВСЕ GPIO, RESET и CH_PD подтянуть к питанию ЧЕРЕЗ резисторы (кроме GPIO15 конечно - его на землю через R<10k).
 

shaman1010

Member
Добрый день. Нашел проблему, уже несколько раз повторилась. Иногда модуль сходит с ума и начинается адски греться и просаживать напряжение питания и пока питание не передернешь, сам он не выходит из этого режима, но пока не сгорел, хотя раскаляется знатно (но я успевал выдернуть питание через несколько секунд после того как увидел что индикатор еле светится).
Вот сейчас я шил пик не отключая вайфай модуль, который соединен с пиком через ком порт, питание тоже не снимал(но модуль питается через стабилизатор 3.3.В и уровни согласованы по ком порту). Прошил пик все нормально, но смотрю индикатор еле светится, пробую модуль а он обжигает палец. передернул питание- все нормально. Такие пироги, модуль без защиты какой-то, так заглючит и сгорит ненароком..
Не знаю, у Вас с этим связано, или нет. Но сегодня на своем модуле (он на лабораторном БП висит) обнаружил, что если на WiFi точке доступа сильно снизить выходную мощность, то модуль начинает потреблять 200-250мА, повышаешь обратно - модуль вроде бы возвращается в стандартные 60мА. Проверьте, возможно перед нагревом точка доступа снижала мощность (из-за интерференции, например)
 

FGX

Member
модуль начинает потреблять 200-250мА, повышаешь обратно - модуль вроде бы возвращается в стандартные 60мА.
У меня роутер в метре от модуля, так что со связью вряд ли это связано, сам по себе он четко потребляет 60-70 мА (если без энергосбережения), а тут было явно более 250 мА, т.к. по питанию у меня 0,5А ограничение, а оно просело. Возможно это и связано с тем что все выводы я не подтягивал к питанию, хотя и считаю, что это не годится никуда (на то они и выходы, тем более они короткие), тогда лучше все неиспользуемые выводы перевести в режим выхода и выставить на выходе 0. Вывод сброса, 16 и 15 ноги подключены через резисторы.
 

shaman1010

Member
Опять я со своими "глючными терминалами" :)
Попался еще один интересный вариант. Опенсорсный Tera Term. Русский интерфейс.
Умеет много чего и файлы кидать в том числе, но самое интересное, передал им 115 мегабайт на 921600 за 23 минуты. Без flowcontrol и БЕЗ ОШИБОК!
По zmodem-у.
Жду, как обычно, конструктивной критики. :) По-моему, вполне достойный вариант
 

pvvx

Активный участник сообщества
Не знаю, у Вас с этим связано, или нет. Но сегодня на своем модуле (он на лабораторном БП висит) обнаружил, что если на WiFi точке доступа сильно снизить выходную мощность, то модуль начинает потреблять 200-250мА, повышаешь обратно - модуль вроде бы возвращается в стандартные 60мА. Проверьте, возможно перед нагревом точка доступа снижала мощность (из-за интерференции, например)
В новом доке, в конце, "2C-SDK-Espressif IoT SDK Programming Guide_EN_V1.0.1.pdf" фигурирует настройка напряжения питания модуля (опция байта 107 в esp_init_data_default.bin) или в версии Web-demo на странице Debug and Tests. Там можно на ходу менять 107 байт. Но, необходима перезагрузка модуля...
В принципе, от правильной диагностики напряжения питания, зависит отдача передатчика и нагрев. Но связано ли это с опцией 107 - прошивку ещё не смотрел.
Знаю только, что deep-sleep с выключенной калибровкой RF = каюк соединению = вечный поиск AP модулем с одиночными соединениями на пару секунд и опять отваливается в поиск = Espressif. :)
Укажу и тут - NetBios пока с ошибкой... не включать. С версии 0.2.1 будет исправлен. Но она ещё не созрела :)
 
Последнее редактирование:

mcmega

Member
Предлагаю использовать модуль в конкретном проекте. Я делаю выключатель на ATMega168. Взял ESP8266-11 (хотя можно и другой, нужны ноги Rx, Tx, 1 GPIO и на всякий случай Reset)
Я хочу сделать возможность удалённого обновления прошивки МК
В роли загрузчика chip45boot2 https://www.chip45.com/avr_bootloader_atmega_xmega_chip45boot2.php
Я пробовал с этим загрузчиком работать на прямую через терминал, результат отличный.

Общий принцип работы с загрузчиком такой:

1. Отправляем символ "U" до тех пор, пока МК не выдаст по UART ответ: Chip45 (далее версия загрузчика). Это означает, что работает загрузчик.
Во время отправки символа "U" сбрасываем контроллер (для этой цели задействую GPIO0 через кондёр на Reset МК, можно и любой другой вывод)

2. Далее нужно отправить символы "pf" ("pe") и дождаться ответа "pf+" ("pe+"). Это включает режим записи во Flash (EEPROM) память.

3. Затем отправляется сам hex файл (сама прошивка). В процессе передачи контроллер отчитывается о каждой записи, выдавая по UART ответ.
Во время записи во Flash (EEPROM) работает протокол управления потоком XON/XOFF.

4. После прошивки отправляем символ "g" и когда контроллер ответит g+ это означает, что мы вышли из загрузчика и пошла выполняться основная программа.
 
Последнее редактирование:
Сверху Снизу