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

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

aloika

Active member
Измените пока в конфиге по умолчанию: UART0_REGCONFIG0DEF, UART1_REGCONFIG0DEF
Разобрался, это был мой глюк, похоже.
Выглядело так, что устанавливалась по умолчанию галка RXD inverse, хотя в маске не было этого. В веб-интерфейсе можно было снять и далее работало все как надо.

Оказалось, что это происходило из-за вызова

os_timer_disarm(&swbd_uart0_rx_timer);

- т.е. просто остановки моего таймера ДО вызова system_init_done_cb(init_done_cb);

Похоже, так нельзя делать - трогать таймеры до system_init_done_cb(init_done_cb) - вот такие вот глюки получаются.
 

aloika

Active member
FGX, а на ATmega какого уровня сигнал приходит? А как он формируется? А опорное какое напряжение?

У меня опорное 1,1 В, а сигнал изначально с электретного микрофона и усиливается транзистором (а в микрофоне, насколько я понимаю, еще и свой транзистор). Вот, похоже, на этих транзисторах эти пики и выделяются.

И еще у меня усиление на ATtiny441 включено в 100 раз (дифф. вход).
 

FGX

Member
FGX, а на ATmega какого уровня сигнал приходит? А как он формируется? А опорное какое напряжение?

У меня опорное 1,1 В, а сигнал изначально с электретного микрофона и усиливается транзистором (а в микрофоне, насколько я понимаю, еще и свой транзистор). Вот, похоже, на этих транзисторах эти пики и выделяются.

И еще у меня усиление на ATtiny441 включено в 100 раз (дифф. вход).
Я просто измеряю сетевое напряжение через трансформатор, диодный мост и делитель напряжения (1/3, т.к. трансформатор 12 В), опорное напряжение то что и питающее=5В. Ничего не сглаживаю, вывожу что есть. При этом питаю от повербанка, хотя там и есть преобразователь повышающий до 5В, но он хороший, не шумит, обычные сетевые зарядки шумят жутко и появляются не то что пики а провалы здоровые.
 

aloika

Active member
pvvx, еще какой-то глюк (может мой):

включаю модуль, он находится в STATIONAP_MODE.

Ввожу имя своей домашней вай-фай сети, пароль, ставлю галочку Autoconnect, нажимаю Set Config.
И почему-то компьютер отцепляется от точки доступа модуля, она в этот момент отключается, что-ли? Надо снова подключиться, и тогда уже можно посмотреть полученный IP (станцией).
 

aloika

Active member
FGX, условия разные, сложно что-то сказать. У вас и питание 5 В (у меня 3,3), и сигнал изначально большой (а у меня с микрофона, там милливольты, усиливать надо).

Я эти пики вижу... Просто скидываю в уарт аттини и смотрю на графике - есть пики. Убираю модуль esp8266 (он на разъеме у меня) - пики исчезают, все гладко становится. Так что это точно модуль, а не источник питания, например.
 

FGX

Member
@aloika, модуль, но наводит он не в самом МК а в той части которая у вас усиливает сигнал, или в источнике питания, может под металлическую крышку нужно измерительную часть засунуть, типа экранировать как-то.
 

aloika

Active member
Вам поможет дифференциальный усилитель для микрофона, и экран обязательно.
Один транзистор в таких схемах -это плохо. ;)
Ну так-то да, есть такая вот штука, например: http://www.adafruit.com/products/1063
Или вот: https://www.sparkfun.com/products/9964

Если бы мне надо было получить чистый звук, то наверное, так и надо было поступить.

А мне надо просто узнать - есть звук, или нет. И все. Для этой задачи и одного транзистора хватит.

(хотя надо будет попробовать собрать адафрутный вариант, микросхема там дешевая и доступная).
 
Привет pvvx,
Скачал последнюю ревизию.

Модуль ESP-07 512к питание oт лабораторного источника 3.3в.
Запустил UDP Wave Port:

Ip: 255.255.255.255
Port: 1001
F: 20 000
Iпотр.=190мА. (потому что раздаю всему интернету и окраинам :p.)
Поток идет.
Модуль нагрелся...:(

Поменял IP.
Ip: 192,168,4,2
Port: 1001
F: 20 000
Iпотр.=80мА.
Поток идет.


Что это может быть?:(

 

pvvx

Активный участник сообщества
включаю модуль, он находится в STATIONAP_MODE.
Ввожу имя своей домашней вай-фай сети, пароль, ставлю галочку Autoconnect, нажимаю Set Config.
Иногда это проще сделать это в меню сканирования (быстрее и вводить надо только пароль).
И почему-то компьютер отцепляется от точки доступа модуля, она в этот момент отключается, что-ли? Надо снова подключиться, и тогда уже можно посмотреть полученный IP (станцией).
При смене режима WiFi AP/ST/AP+ST всегда происходит отключение.
 

pvvx

Активный участник сообщества
Ip: 255.255.255.255
Iпотр.=190мА. (потому что раздаю всему интернету и окраинам :p.)
Наверно пакетов отсылает больше - c AP и по ST.
Синхронизировать ADC с источником помехи.
При передаче данных WiFi там эти "помехи" идут почти постоянно.
Борьба только одна - уменьшить длину "антенн" (проводников) на наводимые элементы.
Может помочь установка резистора перед самым выводом микросхемы, тогда получаем ВЧ наводку в нутре чипа с вывода с меньшим током и сказывается емкость вывода. Т.е. уровень детектирования падает (добротность приемных контуров падает).
Использование диф.входов не спасет. Наводка возникает в нутре чипа, т.к. принята по обоим входным ножкам в кристалл, а не только на входные цепи... Это же импульсная ВЧ наводка, а не НЧ смещение в окне диф.входов. Экран тоже не спасет, если из под него торчат провода... Удаление от антенны и выходов к ней у WiFi тоже помогает :) Падение же мощи эми квадратичное от расстояния...

Открывайте тему "Wi-Fi осциллограф";).
И логический анализатор на ~12 MГц/бит (I2S с DMA)
 
Последнее редактирование:

Tomahawk

New member
В примере esphttpd из UDK реализована интересная вещь: при подключении к нашей точке доступа происходит выдача ip-адреса нам как клиенту через DHCP, а потом в смартфоне появляется уведомление "подключение", когда мы его нажимаем автоматически открывается браузер с веб-интерфейсом. Таким образом, нам даже не надо настраивать настройки для подключения, достаточно тыкнуть на AP в списке, а потом ещё 1 раз на подключении и вуаля, мы видим сайт. Возможно сюда стоит добавить такую же штуку? :)
 
Борьба только одна - уменьшить длину "антенн"
И и еще выключить CPU и Wi-Fi:p
Использование диф.входов не спасет. Наводка возникает в нутре чипа
Помогает, но частичною.
Нужен комплексный подход, керамика NPO, тантал, дроссели, экран.
И главное- правильная разводка платы.:p
И логический анализатор на ~12 MГц/бит (I2S с DMA)
можно и ADC взять и по круче 2ГГц.
Передавать по Wi-Fi, а далее на PC хоть логический анализатор, и анализатор спектра...

У меня в "детском" осциллографе такой ADC запаян, и по Wi-Fi может работать;)
вот такой и получиться в 2нс/клетка 199,7 мГц. 200МГЦ.GIF
только за 2,4$+ ADC:p
 
Наверно пакетов отсылает больше - c AP и по ST.
Подсмотрел эфир:
Режим: только AP.
F:20000Гц
IP:255.255.255.255
Ip255.png
IP:192.168.4.2
ip19216841.png
и не понял китайской шутки? :(
Брод каст по китайски это рассылка на каждый адрес из всех 0x0000-0xFFFF отдельно!:p
 
Последнее редактирование:

pvvx

Активный участник сообщества
В примере esphttpd из UDK реализована интересная вещь:
После подключения через свисток с копа не зайти ни на один сайт, т.к. dns на модуле переадресует всё на себя, включая запросы разных приложений :)
У нас точечный источник излучения получается - кубическое ослабление мощности.
Все равно не легче :p
Угу - с рефлекторной антенной на соседних проводниках у телепузиков, составленной из китайского набора соединительных проводов воткнутых в переходник с 2.0 на 2.54 :)
 

pvvx

Активный участник сообщества
В примере esphttpd из UDK реализована интересная вещь: при подключении к нашей точке доступа происходит выдача ip-адреса нам как клиенту через DHCP, а потом в смартфоне появляется уведомление "подключение", когда мы его нажимаем автоматически открывается браузер с веб-интерфейсом. Таким образом, нам даже не надо настраивать настройки для подключения, достаточно тыкнуть на AP в списке, а потом ещё 1 раз на подключении и вуаля, мы видим сайт. Возможно сюда стоит добавить такую же штуку? :)
У меня на Andro-утом Samsung Note 4 так не выходит. Ничего не вылезает. Долго думает и о чем-то своем, но после, если запустить chome, то по любой ссылке вылазит сайт. Аналогично он лезет на все запросы телефона :)
В винде esphttpd кроме описанного тоже ничего не вылезает. Чтобы вылезало надо дописывать отдачу правильного IP на запрос у DNS модуля "www.msftncsi.com" = 131.107.255.255. Но когда вылезет :) то пойдет не на порт 80, а на 443 - ssl для авторизации. А там беда с ssl пока у всех :(...

Для теста есть прошивка с немного скорректированной версией DNS у AP отсылающей всех на Web (http://aesp8266/)
Вызывает это в винде:
cdns.gif
 
Последнее редактирование:

Tomahawk

New member
pvvx, прошил вашим файлом, со смартфона (андроид 4.4.2) автовыдачи не произошло, работает только как обычно, т.е. с ручным вводом ip. Через компьютер работать я пока не пробовал.
 

pvvx

Активный участник сообщества
pvvx, прошил вашим файлом, со смартфона (андроид 4.4.2) автовыдачи не произошло, работает только как обычно, т.е. с ручным вводом ip. Через компьютер работать я пока не пробовал.
esphttpd у меня так-же работает с андроидом (5.0.1). Т.е. что эта прошивка, что = esphttpd. А с windows на прошивке = то, что указано выше - вылазит сообщение. В esphttpd не вылазит.
Обе работают не "с ручным вводом ip", а с запросом любого адреса, хоть google.com - открывается web.

http://windowsnotes.ru/other/kak-windows-opredelyaet-podklyuchenie-k-internetu/

• При подключении к сети система посылает HTTP-запрос по адресу http://www.msftncsi.com/ncsi.txt. Это обычный текстовый файл, в котором содержится всего одна строка Microsoft NCSI. В случае успешного запроса от сервера должен прийти ответ с заголовком 200 ОК, содержащий эту строку;
• На втором этапе проверяется работоспособность службы DNS, для чего NCSI пытается разрешить в IP-адрес имяdns.msftncsi.com. Ожидаемое значение 131.107.255.255

По завершении проверки, если оба этапа были успешно пройдены, система считает что доступ в Интернет имеется. Если файл ncsi.txt недоступен, а dns.msftncsi.com не разрешается или разрешается с другим IP-адресом, то система сообщает о невозможности подключения к Интернет. В том случае, если ncsi.txt недоступен, но dns.msftncsi.com разрешается в правильный IP — система выдает сообщение о необходимости аутентификации через браузер.

Это в прошивке и сделано, а остальное скопировано из esphttpd. Код в git. Включить (раскоментировать) опцию // [HASHTAG]#define[/HASHTAG] USE_CAPTDNS в https://github.com/pvvx/esp8266web/blob/master/app/include/user_config.h#L62

Андроид лезет за clients3.google.com/generate_204 но там другой механизм. В esphttpd ничего по этому поводу не наблюдается.
В Андроид 4.4 обработка generate_204 : http://androidxref.com/4.4_r1/xref/...ava/android/net/CaptivePortalTracker.java#372
 
Последнее редактирование:

aloika

Active member
Обе работают не "с ручным вводом ip", а с запросом любого адреса, хоть google.com - открывается web.
А что будет, если в Windows 2 (и более) сетевых карты и, соответственно, соединения - например, по проводной сети идет инет, а по wi-fi "свистку" - соединяюсь с ESP8266. И что получится тогда, при вводе любого адреса будет перекидывать на ESP?
 
Сверху Снизу