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

TB-03F TLSR8253 - кто-нибудь пробовал "звуковые" возможности?

aloika

Active member
Еще такие вопросы, на общую эрудицию, вдруг кто сталкивался.
Сейчас у меня звук идет в TLSR с PDM-микрофона, в целом всё работает. Помехи, связанные с питанием и с rf-частью удалось устранить. Эти помехи были периодические, характерные и в принципе было понятно, чем они вызваны.

Но остался еще на слух белый шум, который непонятно откуда берется и непонятно что с ним делать. Он не сказать, что сильно громкий по сравнению с сигналом, но слышимый отчетливо. Откуда он может браться? От самого PDM-микрофона? А может, это adpcm-кодирование/раскодирование добавляет? Может быть такое?

Я этот шум записал, разложил по частотам в Audacity - ну да, по всем частотам от 50 Гц и до 10 кГц он.

Что еще делал: менял частоту PDM-микрофона - не особо влияет, шум остается. Включал/выключал FLD_DOUBLE_DOWN_SAMPLING_ON - тоже не особо что-то меняется. Включал фильтры, которые в SDK есть - слышно, что фильтры работают, но шум на то и белый, что простыми фильтрами не фильтруется. Есть еще в SDK какой-то static inline int noise_supression (s16 md), включал, никакой разницы вообще не заметил.

Пробовал два разных PDM-микрофона (разных моделей) - разница несущественная в плане этого шума.
 

aloika

Active member
Из идей: надо бы попробовать несжатый звук передать (но хватит ли пропуской способности, не знаю) - проверить, не сжатие ли это влияет.
Еще есть I2S микрофон у меня, его попробовать подключить (пока не знаю, как именно, но вроде что-то такое в SDK есть).
 

pvvx

Активный участник сообщества
А может, это adpcm-кодирование/раскодирование добавляет?
Низкая дискретизация и adpcm - .
"Как правило, адаптация к статистике сигнала в ADPCM состоит просто из адаптивного коэффициента масштабирования перед квантованием разницы в кодере DPCM".
И если там впихнуто mu-law или A-law - то "это система логарифмического сжатия, в которых 13- или 14-битный номер выборки линейной ИКМ преобразуется в 8-битное значение"
Что естественно ведет к дополнительному шуму.
 

pvvx

Активный участник сообщества
Из идей: надо бы попробовать несжатый звук передать (но хватит ли пропуской способности, не знаю) - проверить, не сжатие ли это влияет.
Еще есть I2S микрофон у меня, его попробовать подключить (пока не знаю, как именно, но вроде что-то такое в SDK есть).
Достаточно взять нормальную запись, перекодировать в аналогичный формат на компе и прослушать.
 

pvvx

Активный участник сообщества
Я нашел список телефонов, совместимых c coded phy
С простым то BLE (именно с Bluetooth Le) Linux был испорчен в Kernel после версии 3.17.
Kernel <3.17: 20 seconds timeout for BLE connections.
Kernel >=3.17,<4.16: added a timeout of 2 seconds for BLE auto-connections: torvalds/linux@09ae260
Kernel >=4.16: raised previous timeout to 4 seconds: torvalds/linux@1f01d8b (https://lists.ubuntu.com/archives/kernel-team/2017-November/088166.html)

А тут ещё телефоны и WiFi :)
 

pvvx

Активный участник сообщества
Wifi ESP - это 20dBm , что дает увеличение дальности в 2 и более раз по сравнению с TLSR или ESP_BLE.
И самая низкая надежность - частые выпадения из сети у ESP (не соединения с AP, а внутренние глюки с IP и сокетами, возможно из-за организации Heap):
1643448853991.png
Из-за программного перенаворота с IP и сокетами в малом SoC.
Потом все журналы в красных полосочках:
2022-01-29 02:58:43 ERROR (MainThread) [custom_components.localtuya.common] [bf4...u9u] Connect to 192.168.2.23 failed
Хотя другие, ещё 5-ть розеток с WiFi имеют значительно меньше выпадений.

Т.е. без громадного буфера и большой задержки для буферизации WiFi не годится для передачи "живого" звука...
 

nikolz

Well-known member
И самая низкая надежность - частые выпадения из сети у ESP (не соединения с AP, а внутренние глюки с IP и сокетами, возможно из-за организации Heap):
Посмотреть вложение 11798
Из-за программного перенаворота с IP и сокетами в малом SoC.
Потом все журналы в красных полосочках:
2022-01-29 02:58:43 ERROR (MainThread) [custom_components.localtuya.common] [bf4...u9u] Connect to 192.168.2.23 failed
Хотя другие, ещё 5-ть розеток с WiFi имеют значительно меньше выпадений.

Т.е. без громадного буфера и большой задержки для буферизации WiFi не годится для передачи "живого" звука...
вообще-то, ESP я привел как пример Wifi с 20 dBm.
Если не нравиться ESP, можете взять другой чип с 20 dBm.
Вне зависимости как Вы обзываете протокол WiFi или BLE, дальность связи зависит от бюджета канала.
У BLE чипов мощность обычно 0 dBm т е в 100 раз меньше , чем у ESP Wifi.
Если у Вас много помех в эфире в деревне, то BLE даст дополнительный выигрыш за счет более узкой полосы.
Но так как речь идет о расстоянии в 10 метров и поглощении стенами, то дальность у WiFi больше исключительно из-за бюджета канала и пути прохождения сигнала.
Протокол не имеет никакого значение и тем более не влияет потребляемый ток от батарейки на дальность связи.
 

nikolz

Well-known member
Еще такие вопросы, на общую эрудицию, вдруг кто сталкивался.
Сейчас у меня звук идет в TLSR с PDM-микрофона, в целом всё работает. Помехи, связанные с питанием и с rf-частью удалось устранить. Эти помехи были периодические, характерные и в принципе было понятно, чем они вызваны.

Но остался еще на слух белый шум, который непонятно откуда берется и непонятно что с ним делать. Он не сказать, что сильно громкий по сравнению с сигналом, но слышимый отчетливо. Откуда он может браться? От самого PDM-микрофона? А может, это adpcm-кодирование/раскодирование добавляет? Может быть такое?

Я этот шум записал, разложил по частотам в Audacity - ну да, по всем частотам от 50 Гц и до 10 кГц он.

Что еще делал: менял частоту PDM-микрофона - не особо влияет, шум остается. Включал/выключал FLD_DOUBLE_DOWN_SAMPLING_ON - тоже не особо что-то меняется. Включал фильтры, которые в SDK есть - слышно, что фильтры работают, но шум на то и белый, что простыми фильтрами не фильтруется. Есть еще в SDK какой-то static inline int noise_supression (s16 md), включал, никакой разницы вообще не заметил.

Пробовал два разных PDM-микрофона (разных моделей) - разница несущественная в плане этого шума.
Если шум белый, то сделайте его розовым. Для этого надо поставить не цифровой, а аналоговый фильтр.
 

nikolz

Well-known member
Не работает.
Стена - дерево, утеплитель и железный экран от камина.
Через эту стенку впихнута розетка с WiFi. До роутера 3 метра по прямой через эту стенку. Роутер там Кинетик - внешне-многоантенный. Фигу стабильно работет - уровень сигнала ужасен.
Но термометр с BLE около этой розетки и уровнем TX всего +0Дб пробивает это дело без потерь - в роутер воткнут шлюз BLE без внешних антенн.
Так что ваши критерии не всегда работают.
Вы используйте экран от камина в качестве антенны.
 

pvvx

Активный участник сообщества
Протокол не имеет никакого значение и тем более не влияет потребляемый ток от батарейки на дальность связи.
Протокол имеет первостепенное значение для реал-тайм систем и передачи звука.
В сетях IP при загрузке пусть пакетами VOIP или другими с приоритетом, ваши будут вытеснены на неопределенный срок и часто просто скипнуты если не влезли сразу в канал. Это одна беда, а вторая в ресурсоемкости реализации IP на малых SoC - они все страдают потерями и неадекватностями. В показанном примере - неадекватность поведения - перегрузка или нехватка динамической RAM в чипе без MMU и фрагментация, с итогом - невозможности открытия соединения, пока другие процессы не освободили фрагменты в памяти или чип не перезагрузился из-за естественного глобального сбоя (по архитектуре памяти).
И в данном случае Ротуер не зафиксировал обрыва связи с устройством, а сокет на нем не открывается.
Ещё одна беда реализаций на SoC типа ESP - TCP в TIME_WAIT. Т.к. соединения создаются практически по одним и тем-же портам и IP, то для открытия следующего такого-же с теми-же порт/ip требуется пауза в 120 сек, для ожидания затерявшихся пакетов и защиты соединения (чтобы вы не влезли в то-же соединение). Но конкретно ESP это дело скипает и лезет по тому-же порту, и долго удивляется что сервер ей шлет дубли закрытия соединения. И пока оно в такой стадии - какие ещё включения лампочек или передача звука?
Итог - нулевая надежность при использовании такого WiFi. Радио канал и не стоит уже учитывать,
 

pvvx

Активный участник сообщества
Вы используйте экран от камина в качестве антенны.
Проще заменить "вумную" розетку на ZigBee или BLE, что и проделано. Измеряет потребление компа и включает его удаленно, а переносить стены и обвешиваться проводами - тут на форуме есть такие увлеченные :)
 

nikolz

Well-known member
Протокол имеет первостепенное значение для реал-тайм систем и передачи звука.
В сетях IP при загрузке пусть пакетами VOIP или другими с приоритетом, ваши будут вытеснены на неопределенный срок и часто просто скипнуты если не влезли сразу в канал. Это одна беда, а вторая в ресурсоемкости реализации IP на малых SoC - они все страдают потерями и неадекватностями. В показанном примере - неадекватность поведения - перегрузка или нехватка динамической RAM в чипе без MMU и фрагментация, с итогом - невозможности открытия соединения, пока другие процессы не освободили фрагменты в памяти или чип не перезагрузился из-за естественного глобального сбоя (по архитектуре памяти).
И в данном случае Ротуер не зафиксировал обрыва связи с устройством, а сокет на нем не открывается.
Ещё одна беда реализаций на SoC типа ESP - TCP в TIME_WAIT. Т.к. соединения создаются практически по одним и тем-же портам и IP, то для открытия следующего такого-же с теми-же порт/ip требуется пауза в 120 сек, для ожидания затерявшихся пакетов и защиты соединения (чтобы вы не влезли в то-же соединение). Но конкретно ESP это дело скипает и лезет по тому-же порту, и долго удивляется что сервер ей шлет дубли закрытия соединения. И пока оно в такой стадии - какие ещё включения лампочек или передача звука?
Итог - нулевая надежность при использовании такого WiFi. Радио канал и не стоит уже учитывать,
Вопрос в том, что Вы конкретно хотите передать.
В данном случае, как всегда, вместо того, чтобы рассчитать и понять,
что можно получить, в ход идет ползучий эмпиризм и метод тыка.
Все же уже давно определено в документации VOIP.
Какой смысл в сотый раз убеждаться в правильности закона Ома?
Вам это интересно?
 

nikolz

Well-known member
дальность связи не зависит от протокола (речь идет о Wifi и BT,BLE).
Она зависит исключительно от бюджета канала связи.
Так как изначально WiFi предполагает более мощный передатчик чем BT, то при прочих равных условиях WiFi потенциально более дальнобойный.
---------------------
примеры:
ESP мощность передатчика WfiFi 100 мВт, а мощность модулей BT(BLE) 1...10 мВт.
---------------
В итоге имеем мощность WiFi в 10 -100 раз больше.
Это значит что дальность связи при прочих равных будет в 3-10 раз больше.
----------------
Далее на дальность связи влияет структура канала .
В Wifi связь конечных пользователей всегда через точку доступа, т е схема звезда.
В ВT(BLE не сеть) связь точка-точка.
Это значит , что в WiFi расстояние может быть в 2 раза больше при прочих равных условиях.
----------------------
Желающие это проверить могут провести эксперимент.
взять два модуля ESP и установить связь по ESP-NOW.
Это будет аналог BT(BLE) но с мощностью передатчика 100 мBт.
взять два модуля BLE и установить связь между ними.
И сравнить результаты.
================
 

nikolz

Well-known member
относительно передачи звука.
Дальность зависит от указанных выше параметров.
При увеличении дальности , сначала будет изменяться качество связи. т е будет связь, но с пропусками пакетов.
А вот на максимальной дальности связи не будет вообще.
Поэтому протокол связи не влияет на дальность связи.
 

nikolz

Well-known member
При организации передачи звука в локальной сети нет надобности разбивать звук на мелкие пакеты
Поэтому качественно передачу звука можно реализовать и на WiFi через любой протокол, например через UDP
----------------
При этом надо различать понятия - задержка звука и непрерывность звука.
Тогда будет все просто и понятно, а не куча из котлет и мух.
 

pvvx

Активный участник сообщества
Вопрос в том, что Вы конкретно хотите передать.
В данном случае, как всегда, вместо того, чтобы рассчитать и понять,
что можно получить, в ход идет ползучий эмпиризм и метод тыка.
Все же уже давно определено в документации VOIP.
Какая самокритичность.
Ну наконец-то, вы прочитали моё сообщение и узнали, что есть другие решения.
При организации передачи звука в локальной сети нет надобности разбивать звук на мелкие пакеты
Поэтому качественно передачу звука можно реализовать и на WiFi через любой протокол, например через UDP
----------------
При этом надо различать понятия - задержка звука и непрерывность звука.
Тогда будет все просто и понятно, а не куча из котлет и мух.
Для передачи звука на короткие дистанции давно откатан и всех устраивает обычный bluetooth. Тем более там всё полностью отработанно и под рукой у всех имеются все составляющие за дешево для реализации оптимального решения.
А данная тема не о WiFi, в котором нет хороших реализаций передачи звука и стандартов для этого, а о "звуковых" возможностях чипа не имеющего WiFi и пока не позволяющий реализовать новый стандарт передачи звука в BLE с новыми кодеками.
 

pvvx

Активный участник сообщества
Желающие это проверить могут провести эксперимент.
взять два модуля ESP и установить связь по ESP-NOW.
Предлагаю сравнить с рацией на пару Вт в 27MГц.
Там другой протокол и всё успешно передается на километры и имеются в наличии в магазинах на любой вкус и цвет :p
 

pvvx

Активный участник сообщества
Вопрос в том, что Вы конкретно хотите передать.
Зная автора темы - он занимался типа "радио-няней".
Т.е. надо передать звуки плачущего ребенка и типа. И передать на типовые устройства, имеющиеся у большинства потребителей и работающее в зашумленной городской обстановке. А наиболее зашумлена она в области WiFi 2.4ГГц.
WiFi роутер к этой теме не относится. ESP с ESP-NOW в кармане у маманьки находящейся в соседней комнате тоже не имеется.
Т.е. обычно есть Смартфон и ничего более. Всё остальное - это уже специальное, дорогое и нетипичное решение.
Для такой задачи лучше всего подходит чип имеющий Bluetooth и BLE одновременно, т.к. создает упрощение в типовой реализации ПО для установок по BLE и передаче звука по Bluetooth.
Для DIY и мелко-подпольно-серийки это наверно это туда https://esp8266.ru/forum/threads/jl-soc.5500/
Но я думаю, что автор темы и сам это знает.
 

pvvx

Активный участник сообщества
Тогда будет все просто и понятно, а не куча из котлет и мух.
Т.е. вы так и не заметили, что тут разделяем мух от котлет.
И данном случае вас опять развели на показ своей некомпетенции и в вопросе простой передачи звука для бытовых погрямушек.
Ваше желание переоснастить всё на ESP8266 с ESP-NOW не находит применения нигде, как и было проанализировано при его анонсе.
И ваша реклама ESP-NOW не помогает принятию его другими производителями.
 

nikolz

Well-known member
результаты тестирования задержки в BLE-Mesh при малом числе прыжков и малом пакете
1643556572604.png
Как видим задержка более 30 msec.
По данным тестирования сетей с разными протоколами ведущих фирм-производителей чипов, самая медленная сеть на основе протокола BLE.
Пропускная способность BLE-Mesh практически не зависит от числа узлов и составляет примерно 2-3 кб/с.
 
Сверху Снизу