Самодельный USB-свисток с микрофоном, STM32 и ESP8266 на борту

    image Хочу рассказать о своем небольшом проекте выходного дня, осветить трудности, с которыми пришлось столкнуться, дальнейших планах и получить консультацию более опытных Хабраюзеров. Формат статьи обзорный, так сказать, галопом по Европам. Если будет интерес, пройдусь подробнее по отдельным частям.

    Коротко описать работу устройства можно так:

    Электретный микрофон → Усилитель Max9812 → Микроконтроллер STM32F103 → Программное детектирование наличия звука → Кодирование звука в Speex → Отправка через ESP8266 на сервер → Скрипт PHP приема данных и оформления в звуковой контейнер Ogg. Кому интересно, прошу под кат.

    Зачем все это надо?

    Сама идея устройства у меня возникла к рождению дочки. В перспективе хочу сделать некое подобие радионяни: воткнул в розетку рядом с детской кроваткой, а сам в другой комнате сериальчик смотришь, тут хоп — на телефон пуш уведомление пришло и можно послушать что там происходит. Но по реализации последних пунктов у меня больше вопросов, нежели ответов. Об этом позже.

    Возможно кто-то увидит другое применение такой поделке, но уверяю Вас, устройство не создается с целью негласного получения информации (ст.138.1 УК РФ) и любая такая попытка будет преследоваться по закону.

    Попрошу сразу не критиковать саму идею, работа со звуком и Wi-Fi мне нужна в другом проекте, над которым я пока только думаю. А это — отдельный кусок, реализованный в самостоятельный девайс.

    Корпус

    image По принципу “Design first” начал думать в каком конструктиве делать устройство. В поисках готовых корпусов на Ali наткнулся на корпуса для usb с отверстием под кабель и подумал про себя, что это идеальный вариант — дырку займет микрофон, а остальное как-нибудь впихнем.

    Только вот заказывать 10шт за $5 я не хотел и начал искать варианты. В итоге заказал переходник USB-RS485 в точно таком корпусе за $0.84. А сам переходник пригодится на работе, а то Bolid’ы, стоимостью 1.5 тыс рублей, уходят как расходный материал.

    Закупаем все необходимое

    Во-первых, при ознакомлении с предметной областью предстоящей поделки, я наткнулся на статью Распознавание речи на STM32F4-Discovery. Там и прочитал про кодек Speex и его применение на микроконтроллерах. Признаюсь, это мой первый опыт работы с микроконтроллерами фирмы STM.

    imageИтак, заказываем самую распространенную отладку с микроконтроллером STM32F103C8T6, к ней отладчик St-link v2, допиливаем его на коленке и уже можно жить. По приблизительным подсчетам ресурсов STM32F103C8T6 должно было хватить, но speex весьма прожорлив, да и сами драйвера HAL не такие уж компактные, в общем памяти для всех библиотек оказалось маловато. В конечном девайсе стоит STM32F103CBT6 с удвоенным количеством flash.

    Во-вторых, нужен микрофон. Первой строчкой в поиске берем микрофонный модуль с усилителем max9812, а в довесок горстку более миниатюрных микрофонов типоразмера 6050 (ведь у нас уже есть корпус с отверстием, куда должен пролезть данный микрофон).

    В-третьих, нужно подобрать модуль wi-fi, да такой, чтоб влез в купленный корпус. Выбор был сделан на миниатюрный ESP-03 с керамической антенной и несколько штук ESP-12 для макетирования.

    Макетирование и программирование

    image В STM32CubeMX быстренько собираем необходимую периферию и идем дальше, в процессе работы все равно придется часто возвращаться к Кубу. Тут главное писать код в специально отведенных местах /* USER CODE */ и тогда новая генерация проекта никак не скажется на уже написанном.

    Семплирование АЦП идет через DMA по триггеру таймера на частоте 8кГц в два кольцевых буфера размером 160 семплов, один буфер получается равен 20мс. Столкнулся с таким моментом, который не знал и потерял на этом время: DMA продолжает работать на брейкпоинте отладчика, при этом оба флага HT (половина передачи) и TC (передача закончена) установлены, а буферы заполнены всегда полностью.

    С библиотекой Speex разобрался не сразу, контроллер постоянно вылетал в HardFault. Оказалось просто не хватало размеров стека и кучи. Нашел Application Note от Silicon Labs с описание необходимых ресурсов для кодирования/декодирования, в конце статьи есть ссылка. Установил значения с небольшим запасом CSTACK 0x800 и HEAP 0x1600. На выходе кодирования получаем размер фрейма 20 байт. Собираем их в пакеты для отправки.

    Модуль Esp8266 за раз может принять не более 2048 байт данных. Формат команды отправки: POST-заголовок + данные. Размер пакета данных я ограничил до 1800 байт (90 фреймов по 20мс).

    Прием данных сделал на PHP. Мне было стыдновато выкладывать код, тем более это мой первый опыт ООП в жизни. Прошу не хейтить, это не моя область, лучше научите как правильно. Суть скрипта в том, чтобы забрать данные из php://input, сформировать заголовок, посчитать необходимые контрольные суммы и сохранить все в файл Ogg (либо дописать старый, либо создать новый). Но у меня есть жуткое предчуствие, что принимать аудио через POST запросы очень глупо…

    Вопрос к сообществу: что посоветуете для серверной части? В перспективе хочется получать стрим аудио в реальном времени. У меня лично есть небольшое желание познакомиться с Node.js.

    А еще на github есть JS библиотека декодирования speex на лету, но пока не знаю как ей воспользоваться. Возможно кто-то подскажет, как с этим работать. Но тут еще вопрос: будет ли iOS это воспроизводить? Пример записанного звука есть в репозитории проекта на Github.

    Принципиальная схема и разводка печатной платы

    Схему и разводку нарисовал в бесплатной версии Eagle CAD, благо размер платы небольшой. Вот они. Без комментариев.

    image

    image

    Заказ плат

    image Платы заказал в американском OSH Park. Чем примечателен данный сервис, так это тем, что цена формируется от размера платы ($5 за квадратный дюйм), а доставка бесплатная. Ко всему прочему на сайт можно грузить сам файл .brd из Орла и есть предпросмотр, не надо перегонять в Gerber.

    Получилось 3 платы за $3.35. Для макетного образца это выгоднее, чем переплачивать китайцам $15 за ненужные 10шт. До сих пор дома валяются горы ненужных плат от других проектов. Да к тому же пришло все это в фирменном пакете с конфетками внутри. Мелочь, а приятно. Трек номера не было, дошло за 40 дней с момента заказа. В производстве были 10 дней (с 29 декабря по 9 января, возможно праздники как-то сказались на сроках).

    Качеством плат я остался доволен. Дорожки 8 mil. Переходные 13 mil. Платы пришли с золочением, слой маски относительно площадок везде ровный.

    Сборка и настройка

    Пока не понял в чем дело, но модуль Esp-03 практически не ловит сигнал, что странно в условиях наличия керамической антенны и расстояния до телефона (который на работе выступает в качестве раздающего wi-fi) в пределах полуметра, при этом модуль ощутимо греется. При поднесении телефона вплотную начинает обнаруживать сеть и подключается к ней. Заказывать новый или в чем может быть дело?

    image

    Дальнейшие планы

    1. Доработать алгоритм VAD (Voice Activity Detection, запись при обнаружении звука) до более адекватного.
    2. Проверить возможность воспроизведения звука на телефоне.
    3. Сделать возможность настройки удаленно. Сейчас это реализовано путем ответа сервера (Settings=40,2000,10,), где задается чувствительность нынешнего алгоритма VAD (сигнал должен 40 раз превысить 2000 бубок) и длительность записи в секундах.

    Итоговый вариант

    image

    Калькуляция
    $2.03 — модуль ESP-03
    $2.13 — микроконтроллер STM32F103CBT6
    $0.39 — микрофоны типоразмера 6050
    $1.12 — микрофонный модуль с MAX9812 и обвязкой
    $0.84 — преобразователь USB-RS485 (корпус + usb type A male)
    $0.50 — стабилизатор NCP3335A на 3.3V

    Итого: $7.01 (~420 руб) на один девайс.

    Цены могут отличаться в связи с последними событиями на Ali. В стоимости не учтены программатор и рассыпуха.

    Материалы

    1. Репозиторий с проектом на Github
    Там есть проекты CubeMX, IAR, Eagle, PHP, а также пример записанного звука. Возможно, для воспроизведения понадобятся драйвера, но я уже не помню что и в какой последовательности ставил, поищите в интернете.
    2. Speex Codec Manual
    3. Application Note от Silicon Labs

    Спасибо за внимание!

    Вопросы и предложения пишите в комментарии. Также допускается контакт или телеграмм, ник везде один.

    Продолжение: Оцифровка звука на STM32 (АЦП+DMA) и кодирование в Speex для передачи
    Опрос: Про что писать следующую статью?

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 92
    • +3
      Это устройство можно считать «специальным техническим средством, предназначенным для негласного получения информации»?
      Мне интересно что сейчас со статьёй 138.1 УК РФ или это был обычный единичный случай из «палочной системы»: На жительницу Братска завели уголовное дело за покупку диктофона-флешки в китайском интернет-магазине.
      • +2
        Не произвожу, не приобретаю, не сбываю… Изучаю технологии, играюсь с микроконтроллером
        • +1
          Возможно из-за формы оно и не является «негласным», не знаю как это определяется.
          • 0
            Ну я тоже не спец, хотелось бы мнение юристов услышать. В любом случае это только макет устройства и все вышеописанное в большей части теория для обсуждения и изучения технологий передачи звука.
            • +7
              Устройство выглядит как флэшка, маркировка о наличии микрофона отсутствует, догадаться что он там есть невозможно. Это устройство негласного получения информации.
              • +5
                В плюс рекомендую в обязательном порядке поставить светодиод который индицирует о начале записи, можно его вообще хоть от питания запитать. Так вы будет наглядно демонстрировать что запись идет. Это не понацея и этого не будет достаточно, но это тот миниум что требуется.
                • 0
                  Светодиод есть, он показывает мне режимы работы платы (есть/нет wi-fi, ведется ли запись), сделаю под него прозрачное отверстие в корпусе, будет светить.
                  • +1
                    Микрофон все таки должен конструктивно выделяться, даже маркировка на китайский gps трекерах не спасала людей. Перед НГ кто-то в комментах размещал ссылку на блог, как с трекром взяли человека.

                    Сделайте лучше какой-нибудь узкий носик где будет закреплен микрофон, цвет корпуса например белый, ну и как Вы написали выше из прозрачного пластика и туда доп. светодиод который «горит» при работе.

                    Вообще устройство можно стилизовать под сам микрофон, сделать корпус круглым и с какими-нибудь насечками для крутости.
                    • +5
                      Это до чего же нужно довести людей, что бы они в самодельном микрофоне для личного пользования — старались обозначить его непринадлежность к так называемым «спецсредствам»?.. А все из-за того, что чиновника спалили за взяткой с помощью скрытой в ручке камеры. Как же они заботятся сами о себе…
                      • +2
                        Для меня это тоже вверх абсурда, как и то что парня тогда взяли с моторолой, а деда с очками типа гуглглаз.

                        Надо уже как то нам всем собраться, и купить всяким таким чиновникам и следователям подарков. (у депутатов неприкосновенность)
                      • 0
                        >Перед НГ кто-то в комментах размещал ссылку на блог, как с трекром взяли человека.
                        https://sovet.dirty.ru/delo-shiut-1247624/
                        https://sovet.dirty.ru/delo-shiut-okonchanie-1318749/
                        • +1
                          Твари…
                          Целый конвейер устроили — по 2-4 человека за раз облапошивают, взятки за гранью добра и зла. И после этого они удивляются, почему падает доверие к власти?! Узаконенный рекет на пустом месте.
                          • 0
                            А доверие падает разве? Вроде наоборот — растет почему-то, судя по результатам всяких разных опросов общественного мнения.
                            • +1
                              Растет только в отчетах — которые на стол начальству кладут.
                              • +1
                                Ах вот как оно на самом деле, оказывается! Спасибо.
                        • 0
                          В телефонах микрофон как-то конструктивно выделяется? Дырочка? Да это просто RESET ))
                          На телефон так же можно скрытно снять видео и скрытно записать аудио. И очень запросто отослать «при шухере» «куда надо».
                          Нас всех посадят!
                          #былбычеловекастатьянайдётся
                  • +1

                    Устройство ведь используется дома. Не продается и не куплено как готовое изделие. Хотя на корпус можно нанести маркировку о наличии микрофона.

                    • +1
                      Производство единичного экземпляра тоже производство — в этом и проблема.
                      • +1

                        А вот интересно, у автора микрофон визуально не спрятан, если нанести еще маркировку на корпус, говорящую о том, что девайс пишет звук, или все равно необходимо разрешение на такое средство?

                        • +1
                          Т.е у правоохранительных органов есть основание по вот такой статье в интернете впаять срок? Работоспособность устройства не доказана, применения еще не было, злой умысел не доказан.
                          • +2
                            Покупка подобных вещей в Китае тоже без злого умысла, а дела и даже реальные сроки есть.

                            Я не юрист. Так что все сказанное лишь мое предположение — В обычной ситуации не чего не светит, а если кому-то надо будет закрыть галочку, то можно нарваться, но врятли за статью на хабре. Им как миниум потребуется сам прибор который можно сдать на эспертизу. И тут важен именно факт возможности работы устройства как устройства записи и получения информации именно не гласным путем.

                            Я думаю вам не чего беспокоиться пока вы не решите изделие продать или переслать по почте другу. Но повторюсь я не юрист.
                            • 0
                              Т.е никому не говорить, что он лежит у меня на работе в верхнем ящике стола?)
                              • +2

                                Вы аж статью написали =)

                                • +1
                                  Микрофон на разъем поставьте. В случае чего вырвете чеку :)
                              • +1
                                p.s разработка интересная, лично мне нравиться, и особо интересно то что устройство можно разместить около ребенка на USB удлинителе, и рядом не будет розетки с опасным напряжением в которую можно будет что то «тыкнуть»)

                                С другой стороны первая мысль что ко мне пришла как раз было про не гласный способ полученная информации, а именно использовать как звуковой трегер для умного дома или сигнализации. Может это связанно с тем что у меня нет детей)
                                • +1
                                  наши право охранители вряд ли займутся вами (если по факту)
                                  Для этого вы должны совершить преступление или попытаться… но суть остаётся. К примеру:
                                  ст. 137 УК, либо ст.137 через «30» (т.е. не законченное преступление… взяли «во время сия действия»
                                  «Копать» под вас им не интересно. А вот если с вам можно получить какой-то «профит»: «вписать в статистику» и получить за это медальку, либо «отжать» что-нибудь — тогда да, они займутся. Так, что особо не переживайте — нанесите (хотя это не обязательно) маркировку на устройство — везде, где оно упоминается — делайте приписку (как в самой статье, что это изделие можно применять только в рамках закона, иначе — ваше проблемы).

                                  К сожалению только в «кино» — дотошные сыщики ищут молекулы преступника. В жизни по другому… знакомая звонила в ОВД (её поджидали у подъезда какие-то странные люди) — ей ответили прямо — будет труп, тогда приедем.
                                  • +1

                                    Тут все проще. Скорее всего заинтересованные товарищи уже прочитали статью и занесли "в книжечку", попутно выяснив домашний адрес. Когда придет разнарядка они уже будут знать, куда ехать. А потом суд санкционирует обыск, устройство будет найдено, отправлено на экспертизу, которая что-то там покажет. А вопрос эксперту будет звучать так: "может ли указанное устройство использоваться для ...". И эксперт ответит, что да, может. И нужен будет хороший адвокат, кторый обратит внимание на разницу между "может использоваться" и "предназначено для". И нужно будет ходатайствовать о проведении повторной экспертизы за свой счет, и пр., пр., пр… В общем, не сочтите за клерикала, но "Блажен муж..." и т.д. (Пс. 1).

                                    • +1
                                      А вопрос эксперту будет звучать так: «может ли указанное устройство использоваться для ...». И эксперт ответит, что да, может.


                                      Такая постановка вопроса приведет к оправдательному приговору так как если нет преступного деяния, то ответ на вопрос ничего и не даст суду. Так можно про любой кухонный нож или лесорубный топор разных забавных вопросов назадавать и что? Ничего.

                                      Правильный вопрос эксперту будет таким: «Является-ли данная продукция специальным техническим средством для негласного получения и регистрации акустической информации?».

                                      Автору: полезный тред по данному вопросу.
                                      • +1
                                        alsii, я немного с иной формы смотрел… т.к. участвовал в разработке БД для ФСИН (ПТК АКУС и его аналог) и многое видел своими глазами (цифры, статьи, дела), так что ваш вариант очень мало вероятен. Но имеет место быть.

                                        Не будут «копаться» и что-то доказывать. Это слишком тяжёло и муторно. Может в США так поступают, но не в РФ (если дело конечно не резонансное).
                                        • 0
                                          Проще либо подвести под статью с «расплывчатой» формулировкой (к примеру 159),
                                          либо после преступления взять. На опережение в РФ никто никогда не работал и не работает (за исключением предотвращения терактов)
                                          • 0

                                            Ага. Вот выступит завтра президент и скажет, что мало сажают взяточников (хакеров, наркокурьеров, врагов народа). И что, по-вашему опера тут же побегут их искать? Начальник управления вызовет к себе начальника соответствующего отдела, тот принесет десяток папок, из них выберут 5-6 и возбудят дела. Потому, что через неделю будет совещание в Москве и на вопрос начальника главка: "Почему не сажаете?", нужно будет лихо ответить: "Сажаем!".

                                          • 0

                                            О! Это интересно. А вот расскажите, ФСИН занимается у нас всеми видами уголовных наказаний? Включая те, что не связаны с лишением и ограничением свободы? штрафы и т.п.? Действительно интересно.

                                            • 0
                                              alsii полно статей, по которым не сажают вообще (соответственно практики и знаний нету), есть «классика» с которыми «отработаны приёмы»: 105,111,131-135,158,159,162,222,228 ну ещё от силы 10 статей… и по ним легче посадить, чем п 137, где нужны действительно аргументированные доказательства почему именно по ней. Не знаю как сейчас, к пример по 178 никто вообще не сидит…
                                              На счёт выступления президента:
                                              послание 2015 года
                                              цитирую:
                                              Хотел бы также привести цифры, которые подготовило одно из наших деловых объединений. За 2014 год следственными органами возбуждено почти 200 тысяч уголовных дел по так называемым экономическим составам. До суда дошли 46 тысяч из 200 тысяч, ещё 15 тысяч дел развалилось в суде. Получается, если посчитать, что приговором закончились лишь 15 процентов дел. При этом абсолютное большинство, около 80 процентов, 83 процента предпринимателей, на которых были заведены уголовные дела, полностью или частично потеряли бизнес. То есть их попрессовали, обобрали и отпустили. И это, конечно, не то, что нам нужно с точки зрения делового климата. Это прямое разрушение делового климата. Я прошу следственные органы и прокуратуру обратить на это особое внимание.

                                              И что, по-вашему опера тут же побегут их искать?

                                              нет конечно. у них есть кого сажать (доносительство прекрасно работает) и есть «за что» сажать. Искать? Зачем? Это тяжело… это мероприятия нужно организовывать, поднять толстый зад с кресла… куда проще
                                              Начальник управления вызовет к себе начальника соответствующего отдела, тот принесет десяток папок, из них выберут 5-6 и возбудят дела.
                                              для статистики.
                                              А вот расскажите, ФСИН занимается у нас всеми видами уголовных наказаний?
                                              ФСИН не занимается уголовными делами — он лишь осуществляет «охранную» функцию и «исполнение» приговора в полном объёме. «Ему» наплевать кто в этой системе (кто «подкармливать» не может...)
                                              Включая те, что не связаны с лишением и ограничением свободы? штрафы и т.п.?

                                              ФЗ-420 вышел в 2012 по-моему, а вступил в силу только с 1 января этого года… и только с этого года «стали» применять штрафы… кстати далеко ходить ненадо
                                              • 0
                                                у них есть кого сажать (доносительство прекрасно работает) и есть «за что» сажать. Искать? Зачем?

                                                вот и я об этом. Попадут фото/видео/аудиозаписи какого-нибудь "хорошего человека" в интернет, пойдет по системе команда "усилить и углубить", а кого сажать уже должно быть.

                          • 0
                            У нас в стране закон плохо работает. Захотят посадить без доказательств — посадят. Захотят отмазать при неопровержимых доказательствах — отмажут. Но если закон будет работать, то такую недопиленую самоделку на экспертизе даже включить не смогут, а значит и доказать ничего не смогут. Но это если закон будет работать.
                            • 0
                              Послушайте, вот завтра другие меркантильные идиоты из означенных органов решат, что надо очередной «палки» ради поймать какого-нибудь наивного владельца смартфона с камерой и пришить ему тот же «негласный сбор информации», вы камерой в смартфоне перестанете пользоваться? Бояться идиотов, это идти у них на поводу. Куда лучше игнорировать их по-моему. И, по мере возможности, противостоять.
                              • Интересно, для какой цели эта разработка в принципе?
                                Безграмотно спроектированная ПП.
                                Вместо того, чтобы использовать современный цифровой MEMS-микрофон, чел ставит устаревший (отсюда как минимум столь гигантские габариты).
                                Вместо того, чтобы научиться разводить правильную конструкцию на ESP8266, ставим бутерброд на китайской поделке (также, кстати, неправильно разведенной).
                                Да к тому же еще и действующее законодательство нарушаем, ибо то, что вы тут наваяли, как раз является «специальным техническим средством, предназначенным для негласного получения информации» (я по сфере работы немного в теме, знаю о чем говорю).
                                Так чем хвастаемся-то, господин «инженер»???
                                Я бы убрал этот пост, а то неровен час, спецы из прокуратуры нагрянут… ;)
                              • +1
                                Опрос: Про что писать следующую статью?
                                Про всё. И следующую за следующей тоже. А опрос неплохо бы разделить на два:

                                1. Писать ли дальше? [Да/Нет]
                                2. Если писать, то о чём именно? [Все варианты, с возможностью множественного выбора]
                              • +3
                                Замечания по делу:
                                1) «но speex весьма прожорлив» — не совсем верно. Аппетит можно очень гибко регулировать величиной тактовой частоты и отключением неиспользуемых блоков. С учетом того, что тактовую частоту можно менять «на лету» и вообще загнать чип в режим сна — потребление можно очень сократить.
                                2) модуль ощутимо греется — да. Модуль очень горячий, теплоотвода от этой платки мизер. В таком мизерном свистке возможен перегрев и зависание чипа.
                                3) модуль Esp-03 практически не ловит сигнал — выбранное место для антенны крайне неудачно. Там с низу куча выводов Кортекса и здоровые SMD компоненты. Наличие такого количество «метала» практически под брюхом — очень высокие потери и рассогласование антенны. Модуль нужно ставить таким образом, что-бы антенна была с краю платы. Подальше от остальных элементов, экранов, «шумных» выводов Кортекса. Интересно, Кортекс гармониками тактовой частоты не мусорит в антенный тракт Esp-03? Попробуй менять тактовую Кортекса.

                                И вообще — такое тесное соседство Esp-03 и Кортекса в смысле взаимных помех не очень хорошо. А Если Кортекс вообще остановить — прием улучшится?
                                • +2
                                  Спасибо за замечания.
                                  1. Возможно я не так выразился в статье, но речь идет про память, а не про потребление. Получив проект из Куба, подключив библиотеку Speex и написав десяток строк для управления АТ командами ESP8266 я выбрал 90% flash-памяти микроконтроллера STM32F103C8T6. Пришлось менять контроллер.
                                  2. Спасибо, это мой первый опыт с модулем ESP8266.
                                  3. Такое расположение антенны обусловлено тем, что на макетном образце (на проводах и отладке) я получил шумы в микрофон при близком расположении с антенной модуля. Решил развернуть. Возможно я ошибся и причина была не в этом, но решил развернуть, не подумав про шумы от кортекса.
                                  • +3
                                    Керамические антенны весьма чувствительные к своему расположению относительно земли, при его изменении уползает рабочая частота. А вы её фактически на «землю» положили.

                                    Вообще, общее правило про антенны — чем меньше она похожа на прямой штырь, тем больше с ней будет геморроя.

                                    Ну и ещё замечание — переходные отверстия вообще открывать от маски не надо, а уж когда сверху стоит что-то с голым пузом и SMD-монтажом — тем более. Из маски изолятор довольно никакой, но без маски и такого нет.
                                    • +5
                                      И «землю» в высокочастотных схемах с радиотрактом нельзя так разводить — тоненькими дорожками по цепочке. То есть вообще ни в каких нельзя, но простые схемы это прощают, а вот сложные — не очень. Полигон нужен нормальный, с двух сторон, с переходными отверстиями.

                                      И антенну тогда тем более выносить за пределы платы.
                                      • 0
                                        Спасибо за советы. Если будет вторая ревизия платы, постараюсь учесть.
                                        • +1
                                          Я ещё добавлю. Судя по картинкам, у вас Eagle, у него по умолчанию футпринты под SMD-пассивку гигантские, рассчитанные на пайку волной.

                                          Отрихтуйте их под размеры под трафаретную пайку — https://yadi.sk/i/81BCxWFb3FKow8, стр. 11, места станет больше. Ну а всё освободившееся место использовать можно по принципу «больше конденсаторов богу конденсаторов» и «питание керамикой не испортишь».
                                          • 0
                                            Да, разводку делал что называется «из коробки». Поместилось и хорошо, но есть куда оптимизировать.
                                          • 0
                                            Кварц поменяйте местами с антенной или чип разверните на 180 градусов, чтобы расположение сильно не изменилось.
                                            Мне кажется без антенны стенку комнаты не пробьёте.
                                            А вы не думали посмотреть в сторону SoC со встроенными радио-модулями, например, CC2511 — в нём USB есть и радио 2.4 ГГц и несколько входов свободных (для микрофона). Или nrf24LU?
                                        • +1
                                          я выбрал 90% flash-памяти микроконтроллера STM32F103C8T6

                                          Тут у Вас явная засада. Где-то косяк.
                                          К меня проект с USB, SDIO, FSMC, 2 таблицами шрифтов (Tahoma16x19_Regular и Tahoma19x19_Bold), графической библиотекой и кучей другого кода занимает всего 41,5 К
                                          Чем Вы умудрились забить 90% памяти чипа? Неужели Speex такой жуткий монстр в плане обьема?
                                          • +1
                                            Вот что говорит про потребление Speex AN2812:

                                            Как видно, Speex использует около 30 КБ Flash.
                                            В принципе, в оставшиеся 30 КБ можно впихнуть достаточно много.
                                            • 0
                                              Судя по MODULE SUMMARY в linker map файле на Speex ушло ~28 кбайт. На драйвера HAL еще ~15кБ. Ну и там еще по мелочи :)
                                            • 0
                                              многие (большинство? / все??) STM32F103C8T6 судя по всему имеют 128к флэша.
                                              об этом довольно много написано, ключевые слова STM32F103C8T6 128k flash

                                              проверял все свои модули (как у вас на картинке с желтыми разьемами) заливкой тестовой прошивки — все ок.

                                              это конечно знание не для продакшена, но тем не менее.

                                              • 0
                                                Картинка с офф.сайта image
                                                Я конечно проверю...))
                                          • 0
                                            До сих пор дома валяются горы ненужных плат от других проектов.

                                            А, может не стоит заказывать платы под каждую идею? Прототип на макетке или ЛУТ/фоторезистом можно.
                                            Как будет намек на востребованную серию — тогда и заказывать.
                                            • +2
                                              Большинство проектов по требованиям превосходят мои навыки в ЛУТе. К тому же нет возможности и желания дома заниматься ЛУТом. Мне легче заказать производство и подождать. Для меня это хобби проекты.
                                            • +2
                                              Пока не понял в чем дело, но модуль Esp-03 практически не ловит сигнал

                                              У меня была аналогичная проблема с этим модулем. Так и не удалось понять, почему керамическая антенна так плохо работает, возможно, на нее влияет расположение дорожек под модулем, или ВЧ излучение от контроллера.
                                              Решение удалось найти только одно:
                                              После подключения к выводу WIFI_ANT кусочка проволоки длиной 31 мм чувствительность заметно улучшилась, и стала сходной с чувствительностью ESP-01.

                                              • 0
                                                Основной момент в расположении керамических антенн на плате, это необходимость обеспечения отсутствия слоя металлизации под ними. Сам мучился с GPS приёмником с керамической антенной, пока не убрал полигон из-под него. В мдеале керамику лучше вообще выводить за пределы платы, но если нет возможности, то необходимо убрать все проводники и полигоны от неё подальше — только текстолит под маской(без) должен остаться.
                                              • +1
                                                Пока что ничего лучше связки ненужный смартфон с Android + радионяня Dormi не нашел. Приятно было бы, конечно, изготовить своими руками, но, повторюсь (можете считать рекламой, если пожелаете), конкретно эту радионяню авторы сделали, как для себя.

                                                Уровень звука настраивается автоматически, работает через 3G/Wi-Fi (касательно шуток про 3G — может быть актуально, если оставляешь ребенка с бабушками-дедушками), всегда можно послушать, что происходит «на другом конце», если есть сомнения. И, если освещение позволяет — посмотреть.
                                                • 0
                                                  это вероятно будет самое оптимально решение, если не стоит задача попаять или коммерческой выгоды.
                                                  У меня еще по началу идея была, разместить в комнате роутер и допустим usb-микрофон, тут без пайки выйдет, но возни с openwrt много будет.
                                                  • 0
                                                    С роутером на openwrt даже скорее не выйдет, ибо для работы почти любых usb audio нужна поддержка работы с плавающей точкой (хотябы программная), а в большинстве случаев без ручной пересборки с добавлением эмулятора fpu никак. Да и с ним не факт…
                                                    • +1
                                                      Не знаю как с аудиозаписью, а проекты Webradio из роутера встречаются часто, например, https://piie.net/index.php?section=tplink-radio
                                                • +1
                                                  Пока не понял в чем дело, но модуль Esp-03 практически не ловит сигнал

                                                  Попробуйте поставить на стойки из проводов и посмотреть, что будет с сигналом.
                                                  • –2

                                                    Если ничего не путаю esp питается от 3.3 вольт. Вот он и греется

                                                    • +2
                                                      А что не так с питанием? Стоит стабилизатор на 3.3V. STMка то тоже от 3.3V
                                                    • +2
                                                      Какой интересный проект и как вовремя. Только на днях оформил идею на cofounder'е в поисках толкового инженера, умеющего про звук и микроконтроллеры, а вы тут как тут.
                                                      Смысл в том, чтобы сделать диктофон, который не требовалось бы включать. То есть он постоянно ведет запись и складывает зашифрованные файлики на флешку. Во время зарядки через USB накопленные данные сливаются в облако. Теги, голосовые метки, индексация распознаванием, текстовый поиск по записям, гистограмма на шкале времени. Думаю на счет BT на борту девайса, чтобы сёрфить по его памяти с телефона в путешествии.
                                                      Хочу, чтобы ничего из происходящего вокруг не забывалось и не терялось. Особенно в путешествиях.
                                                      • +1
                                                        А просто смарт с соответствующим ПО разве не сможет такого?
                                                        • +1
                                                          Не сможет. Если он будет вести запись, то, скорее всего использовать его по назначению будет не удобно, а в некоторых случаях (звонки, музыка) невозможно не ломая функциональность аудио-трекера. Смартфон громоздкий, поэтому придется использовать микрофон-петличку на проводе.
                                                          Речь не о том, чтобы иногда записывать что-то. Речь о том, чтобы весь звук вокруг вас был записан.
                                                          Звук записывается непрерывно не для того, чтобы потом его слушать, монтировать или анализировать. 99.99% этого звука никто никогда не будет слушать. Представьте, что у вас идеальная память и вы можете вспомнить всё, что слышали; можете порыться в памяти поиском по тегам, можете быстренько вернуться к вчерашнему разговору и вытащить из него номер телефона или адрес, которые не собирались запоминать или использовать. Нет, смартфон не годится.
                                                          • +1
                                                            А чем не устраивают обычные миниатюрные диктофоны?
                                                            Описываемое вами устройство в виде клипсы может реально попадать под статью о «негласном получении информации».
                                                            • +1
                                                              Обычные диктофоны не приспособлены к непрерывной записи, зачастую нет привязки записи к реальному времени, иногда нет возможности ставить тегированную временнУю метку, хочется шифрование. Носить с собой постоянно пишущий диктофон без надежного блочного ассиметричного шифрования не безопасно.

                                                              Насчет негласного получения информации. По логике вещей, если обычный телефон умеет незаметно записывать звук и он не признаётся устройством негласного получения информации, хотя имеется у каждого первого, то устройство на воротничке с явной пиктограммой микрофона на корпусе (или с корпусом в форме декоративного микрофончика), предназначенное для личных целей аудиофиксации… Короче докопаться можно до чего угодно. Будем надеяться на здравый смысл, иначе самый главный прибор негласного сбора информации — это мозг. За его использование тоже скоро будут сажать?
                                                              • +2
                                                                Руководство «логикой и здравым смыслом», в подобных делах, это прямая дорога в места не столь отдаленных. Руководствоваться надо только бумагами и разными актами/сертификатами, пусть даже они и не логичны и со здравым смыслом не в ладах.
                                                            • +1
                                                              Рассматривайте смартфон как прототип устрайства, потом уменьшите или выкините дисплей и все, девайс в кармане!
                                                        • +2
                                                          Спасибо за OSH Park а в Россию доставка тоже бесплатная?
                                                          Трек номер дают?
                                                          • +1
                                                            Бесплатная, без трек номера.
                                                          • +1
                                                            И еще интересует есть ли такие сервисы которые могут не только изготовить но и смонтировать компоненты на плату?
                                                            Просто сам такую мелочь не смонтирую.
                                                            Нужно будет плат 10.
                                                            • +1
                                                              Это будет очень дорого. Проще найти кого-то местного. Вроде
                                                              'ремонта ноутбуков/телефонов'
                                                              • +1
                                                                Есть, см. на pcbshopper в разделе assembly
                                                              • +2
                                                                Касательно печати плат и установки компонент на плату, то вот хороший сайт агрегатор
                                                                http://pcbshopper.com/
                                                                • +1
                                                                  Отличная статья! Мне больше всего понравилось, что на github.
                                                                  Не пробовали такой кодек?
                                                                  http://www.rowetel.com/?page_id=452
                                                                  • 0
                                                                    Спасибо, нет не пробовал, увидел пример на Speex — сделал его.
                                                                    • +1
                                                                      Сжатие больше чем у Speex и можно поменять ESP на RFM95/98 и использовать LORA/FSK/… для передачи.
                                                                      Но это наверное для следующей статьи.
                                                                  • +1

                                                                    А в саму ESP что нить приличное по размеру не воткнуть? Вроде у них есть возможность такая — программа юзера.

                                                                    • 0
                                                                      Возможность такая есть конечно, но сколько он будет кушать тока (если от батарейки)? И потом — это же просто прототип. Доработать и будет классное устройство для пользовательского использования. Можно и RTL8710 сделать — проще чем на ESP. Да 100500 вариантов. Главное автор показал возможность, а уж как использовать — каждый сам решит.
                                                                    • +1
                                                                      На сколько хорошая чувствительность? Добавить бы сюда DSP для фильтрации лишнего и выделения голосового диапазона. Было бы еще одно направление применения — для голосового управления «умным домом».
                                                                      • +1
                                                                        Полностью согласен, если поработать над проектом, то его можно использовать как «захват голосовых комманд» для управления умным домом.
                                                                      • +1

                                                                        Кто же антенну располагает в центре всей схемы — заведомо провал. А греется всё потому, что микроволны (СВЧ), жарит она...

                                                                        • 0
                                                                          Вот тут я писал, почему так получилось.
                                                                          Сейчас скажу лишь — ну бывает, чтож поделать, учту :)
                                                                        • 0
                                                                          Кому интересно, написал на Хабр статью Оцифровка звука на STM32 (АЦП+DMA) и кодирование в Speex для передачи
                                                                          https://habrahabr.ru/post/323598/
                                                                          • 0
                                                                            Используйте esp-12E или F
                                                                            Как шальная идея, а почему бы не раздерибанить ESP и не собрать снова на своей плате?
                                                                            • +2
                                                                              Вижу что на антиалайзинговый фильтр Вы забили.
                                                                              Малая частота дискретизации еще больше усугубляет ситуацию.
                                                                              Можно поставить внешний RC фильтр на 24 кГц, частоту дискретизации установить 24 кГц, входной поток фильтровать простым рекурсивным фильтром. Это позволит избавится от алиасинга и за одно можно получить oversampling чтоб поднять глубину оцифровки в 14 бит. Далее передискретизировать фильтром Фарроу до нужной частоты.
                                                                              • +2
                                                                                Тоже делал подобное, но со стримом аудио на сервер напрямую. VAD и кодек спокойно влезают в саму esp, проц внешний не нужен. esp+adc+mic amp. Как пример — похожий проект https://perso.aquilenet.fr/~sven337/english/2016/07/14/DIY-wifi-baby-monitor.html
                                                                                • 0
                                                                                  интересный проект. Кстати говоря, посмотрите на новый stшный чип(stm32l432k), может сильно упростить устройство, тк ОУ на борту и ног меньше.
                                                                                  • 0
                                                                                    А не пробовали Codec2?
                                                                                    www.rowetel.com/?page_id=452
                                                                                    под STM32 библиотека
                                                                                    github.com/x893/codec2
                                                                                    • 0
                                                                                      Нет, не пробовал, возьму на вооружение

                                                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.