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 для передачи
Опрос: Про что писать следующую статью?

Проголосовало 265 человек. Воздержалось 84 человека.

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

Поделиться с друзьями
-->

Комментарии (89)


  1. Lertmind
    09.03.2017 07:34
    +3

    Это устройство можно считать «специальным техническим средством, предназначенным для негласного получения информации»?
    Мне интересно что сейчас со статьёй 138.1 УК РФ или это был обычный единичный случай из «палочной системы»: На жительницу Братска завели уголовное дело за покупку диктофона-флешки в китайском интернет-магазине.


    1. oWart
      09.03.2017 07:39
      +2

      Не произвожу, не приобретаю, не сбываю… Изучаю технологии, играюсь с микроконтроллером


      1. Lertmind
        09.03.2017 08:06
        +1

        Возможно из-за формы оно и не является «негласным», не знаю как это определяется.


        1. oWart
          09.03.2017 08:15

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


          1. Leo7777
            09.03.2017 09:55
            +7

            Устройство выглядит как флэшка, маркировка о наличии микрофона отсутствует, догадаться что он там есть невозможно. Это устройство негласного получения информации.


            1. HunterSpy
              09.03.2017 11:34
              +5

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


              1. oWart
                09.03.2017 11:39

                Светодиод есть, он показывает мне режимы работы платы (есть/нет wi-fi, ведется ли запись), сделаю под него прозрачное отверстие в корпусе, будет светить.


                1. Leo7777
                  09.03.2017 16:44
                  +1

                  Микрофон все таки должен конструктивно выделяться, даже маркировка на китайский gps трекерах не спасала людей. Перед НГ кто-то в комментах размещал ссылку на блог, как с трекром взяли человека.

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

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


                  1. vconst
                    09.03.2017 16:47
                    +5

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


                    1. Leo7777
                      10.03.2017 08:57
                      +2

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

                      Надо уже как то нам всем собраться, и купить всяким таким чиновникам и следователям подарков. (у депутатов неприкосновенность)


                  1. lopatoid
                    09.03.2017 18:27

                    >Перед НГ кто-то в комментах размещал ссылку на блог, как с трекром взяли человека.
                    https://sovet.dirty.ru/delo-shiut-1247624/
                    https://sovet.dirty.ru/delo-shiut-okonchanie-1318749/


                    1. vconst
                      10.03.2017 12:18
                      +1

                      Твари…
                      Целый конвейер устроили — по 2-4 человека за раз облапошивают, взятки за гранью добра и зла. И после этого они удивляются, почему падает доверие к власти?! Узаконенный рекет на пустом месте.


                      1. AleXP3
                        10.03.2017 12:40

                        А доверие падает разве? Вроде наоборот — растет почему-то, судя по результатам всяких разных опросов общественного мнения.


                        1. vconst
                          10.03.2017 12:42
                          +1

                          Растет только в отчетах — которые на стол начальству кладут.


                          1. AleXP3
                            10.03.2017 12:54
                            +1

                            Ах вот как оно на самом деле, оказывается! Спасибо.


          1. Jmann
            09.03.2017 11:08
            +1

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


            1. HunterSpy
              09.03.2017 11:35
              +1

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


              1. Jmann
                09.03.2017 11:38
                +1

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


              1. oWart
                09.03.2017 11:48
                +1

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


                1. HunterSpy
                  09.03.2017 12:03
                  +2

                  Покупка подобных вещей в Китае тоже без злого умысла, а дела и даже реальные сроки есть.

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

                  Я думаю вам не чего беспокоиться пока вы не решите изделие продать или переслать по почте другу. Но повторюсь я не юрист.


                  1. oWart
                    09.03.2017 12:20

                    Т.е никому не говорить, что он лежит у меня на работе в верхнем ящике стола?)


                    1. Jmann
                      09.03.2017 12:26
                      +2

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


                    1. Rumlin
                      09.03.2017 14:50
                      +1

                      Микрофон на разъем поставьте. В случае чего вырвете чеку :)


                1. HunterSpy
                  09.03.2017 12:09
                  +1

                  p.s разработка интересная, лично мне нравиться, и особо интересно то что устройство можно разместить около ребенка на USB удлинителе, и рядом не будет розетки с опасным напряжением в которую можно будет что то «тыкнуть»)

                  С другой стороны первая мысль что ко мне пришла как раз было про не гласный способ полученная информации, а именно использовать как звуковой трегер для умного дома или сигнализации. Может это связанно с тем что у меня нет детей)


                1. tomnolane
                  09.03.2017 16:25
                  +1

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

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


                  1. alsii
                    10.03.2017 13:34
                    +1

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


                    1. AleXP3
                      10.03.2017 13:47
                      +1

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


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

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

                      Автору: полезный тред по данному вопросу.


                    1. tomnolane
                      10.03.2017 14:23
                      +1

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

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


                      1. tomnolane
                        10.03.2017 14:27

                        Проще либо подвести под статью с «расплывчатой» формулировкой (к примеру 159),
                        либо после преступления взять. На опережение в РФ никто никогда не работал и не работает (за исключением предотвращения терактов)


                        1. alsii
                          10.03.2017 17:49

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


                      1. alsii
                        10.03.2017 17:51

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


                        1. tomnolane
                          10.03.2017 18:27

                          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 января этого года… и только с этого года «стали» применять штрафы… кстати далеко ходить ненадо


                          1. alsii
                            10.03.2017 19:21

                            у них есть кого сажать (доносительство прекрасно работает) и есть «за что» сажать. Искать? Зачем?

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


    1. PKav
      09.03.2017 17:02

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


    1. aureliano_b
      17.03.2017 02:18

      Послушайте, вот завтра другие меркантильные идиоты из означенных органов решат, что надо очередной «палки» ради поймать какого-нибудь наивного владельца смартфона с камерой и пришить ему тот же «негласный сбор информации», вы камерой в смартфоне перестанете пользоваться? Бояться идиотов, это идти у них на поводу. Куда лучше игнорировать их по-моему. И, по мере возможности, противостоять.


    1. RoboticsElectronics
      17.03.2017 08:00

      Интересно, для какой цели эта разработка в принципе?
      Безграмотно спроектированная ПП.
      Вместо того, чтобы использовать современный цифровой MEMS-микрофон, чел ставит устаревший (отсюда как минимум столь гигантские габариты).
      Вместо того, чтобы научиться разводить правильную конструкцию на ESP8266, ставим бутерброд на китайской поделке (также, кстати, неправильно разведенной).
      Да к тому же еще и действующее законодательство нарушаем, ибо то, что вы тут наваяли, как раз является «специальным техническим средством, предназначенным для негласного получения информации» (я по сфере работы немного в теме, знаю о чем говорю).
      Так чем хвастаемся-то, господин «инженер»???
      Я бы убрал этот пост, а то неровен час, спецы из прокуратуры нагрянут… ;)


  1. mwambanatanga
    09.03.2017 07:40
    +1

    Опрос: Про что писать следующую статью?
    Про всё. И следующую за следующей тоже. А опрос неплохо бы разделить на два:

    1. Писать ли дальше? [Да/Нет]
    2. Если писать, то о чём именно? [Все варианты, с возможностью множественного выбора]


    1. oWart
      09.03.2017 07:43

      Спасибо, учту)


  1. DanilinS
    09.03.2017 08:53
    +3

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

    И вообще — такое тесное соседство Esp-03 и Кортекса в смысле взаимных помех не очень хорошо. А Если Кортекс вообще остановить — прием улучшится?


    1. oWart
      09.03.2017 09:05
      +2

      Спасибо за замечания.
      1. Возможно я не так выразился в статье, но речь идет про память, а не про потребление. Получив проект из Куба, подключив библиотеку Speex и написав десяток строк для управления АТ командами ESP8266 я выбрал 90% flash-памяти микроконтроллера STM32F103C8T6. Пришлось менять контроллер.
      2. Спасибо, это мой первый опыт с модулем ESP8266.
      3. Такое расположение антенны обусловлено тем, что на макетном образце (на проводах и отладке) я получил шумы в микрофон при близком расположении с антенной модуля. Решил развернуть. Возможно я ошибся и причина была не в этом, но решил развернуть, не подумав про шумы от кортекса.


      1. olartamonov
        09.03.2017 09:39
        +3

        Керамические антенны весьма чувствительные к своему расположению относительно земли, при его изменении уползает рабочая частота. А вы её фактически на «землю» положили.

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

        Ну и ещё замечание — переходные отверстия вообще открывать от маски не надо, а уж когда сверху стоит что-то с голым пузом и SMD-монтажом — тем более. Из маски изолятор довольно никакой, но без маски и такого нет.


        1. olartamonov
          09.03.2017 09:44
          +5

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

          И антенну тогда тем более выносить за пределы платы.


        1. oWart
          09.03.2017 10:13

          Спасибо за советы. Если будет вторая ревизия платы, постараюсь учесть.


          1. olartamonov
            09.03.2017 10:23
            +1

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

            Отрихтуйте их под размеры под трафаретную пайку — https://yadi.sk/i/81BCxWFb3FKow8, стр. 11, места станет больше. Ну а всё освободившееся место использовать можно по принципу «больше конденсаторов богу конденсаторов» и «питание керамикой не испортишь».


            1. oWart
              09.03.2017 10:28

              Да, разводку делал что называется «из коробки». Поместилось и хорошо, но есть куда оптимизировать.


          1. Costic
            10.03.2017 20:07

            Кварц поменяйте местами с антенной или чип разверните на 180 градусов, чтобы расположение сильно не изменилось.
            Мне кажется без антенны стенку комнаты не пробьёте.
            А вы не думали посмотреть в сторону SoC со встроенными радио-модулями, например, CC2511 — в нём USB есть и радио 2.4 ГГц и несколько входов свободных (для микрофона). Или nrf24LU?


      1. DanilinS
        09.03.2017 14:46
        +1

        я выбрал 90% flash-памяти микроконтроллера STM32F103C8T6

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


        1. iliasam
          09.03.2017 15:07
          +1

          Вот что говорит про потребление Speex AN2812:

          Как видно, Speex использует около 30 КБ Flash.
          В принципе, в оставшиеся 30 КБ можно впихнуть достаточно много.


        1. oWart
          09.03.2017 15:09

          Судя по MODULE SUMMARY в linker map файле на Speex ушло ~28 кбайт. На драйвера HAL еще ~15кБ. Ну и там еще по мелочи :)


      1. brainsucker
        13.03.2017 04:09

        многие (большинство? / все??) STM32F103C8T6 судя по всему имеют 128к флэша.
        об этом довольно много написано, ключевые слова STM32F103C8T6 128k flash

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

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


        1. oWart
          13.03.2017 06:48

          Картинка с офф.сайта image
          Я конечно проверю...))


  1. r00tGER
    09.03.2017 08:59

    До сих пор дома валяются горы ненужных плат от других проектов.

    А, может не стоит заказывать платы под каждую идею? Прототип на макетке или ЛУТ/фоторезистом можно.
    Как будет намек на востребованную серию — тогда и заказывать.


    1. oWart
      09.03.2017 09:10
      +2

      Большинство проектов по требованиям превосходят мои навыки в ЛУТе. К тому же нет возможности и желания дома заниматься ЛУТом. Мне легче заказать производство и подождать. Для меня это хобби проекты.


  1. iliasam
    09.03.2017 09:01
    +2

    Пока не понял в чем дело, но модуль Esp-03 практически не ловит сигнал

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


    1. letun16
      09.03.2017 16:54

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


  1. spc
    09.03.2017 09:21
    +1

    Пока что ничего лучше связки ненужный смартфон с Android + радионяня Dormi не нашел. Приятно было бы, конечно, изготовить своими руками, но, повторюсь (можете считать рекламой, если пожелаете), конкретно эту радионяню авторы сделали, как для себя.

    Уровень звука настраивается автоматически, работает через 3G/Wi-Fi (касательно шуток про 3G — может быть актуально, если оставляешь ребенка с бабушками-дедушками), всегда можно послушать, что происходит «на другом конце», если есть сомнения. И, если освещение позволяет — посмотреть.


    1. ser-mk
      09.03.2017 19:20

      это вероятно будет самое оптимально решение, если не стоит задача попаять или коммерческой выгоды.
      У меня еще по началу идея была, разместить в комнате роутер и допустим usb-микрофон, тут без пайки выйдет, но возни с openwrt много будет.


      1. N0Good
        11.03.2017 08:33

        С роутером на openwrt даже скорее не выйдет, ибо для работы почти любых usb audio нужна поддержка работы с плавающей точкой (хотябы программная), а в большинстве случаев без ручной пересборки с добавлением эмулятора fpu никак. Да и с ним не факт…


        1. Rumlin
          11.03.2017 12:01
          +1

          Не знаю как с аудиозаписью, а проекты Webradio из роутера встречаются часто, например, https://piie.net/index.php?section=tplink-radio


  1. REPISOT
    09.03.2017 09:40
    +1

    Пока не понял в чем дело, но модуль Esp-03 практически не ловит сигнал

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


  1. GoldGoblin
    09.03.2017 09:44
    -2

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


    1. oWart
      09.03.2017 10:12
      +2

      А что не так с питанием? Стоит стабилизатор на 3.3V. STMка то тоже от 3.3V


  1. trapwalker
    09.03.2017 10:24
    +2

    Какой интересный проект и как вовремя. Только на днях оформил идею на cofounder'е в поисках толкового инженера, умеющего про звук и микроконтроллеры, а вы тут как тут.
    Смысл в том, чтобы сделать диктофон, который не требовалось бы включать. То есть он постоянно ведет запись и складывает зашифрованные файлики на флешку. Во время зарядки через USB накопленные данные сливаются в облако. Теги, голосовые метки, индексация распознаванием, текстовый поиск по записям, гистограмма на шкале времени. Думаю на счет BT на борту девайса, чтобы сёрфить по его памяти с телефона в путешествии.
    Хочу, чтобы ничего из происходящего вокруг не забывалось и не терялось. Особенно в путешествиях.


    1. SGordon123
      09.03.2017 11:28
      +1

      А просто смарт с соответствующим ПО разве не сможет такого?


      1. trapwalker
        09.03.2017 12:14
        +1

        Не сможет. Если он будет вести запись, то, скорее всего использовать его по назначению будет не удобно, а в некоторых случаях (звонки, музыка) невозможно не ломая функциональность аудио-трекера. Смартфон громоздкий, поэтому придется использовать микрофон-петличку на проводе.
        Речь не о том, чтобы иногда записывать что-то. Речь о том, чтобы весь звук вокруг вас был записан.
        Звук записывается непрерывно не для того, чтобы потом его слушать, монтировать или анализировать. 99.99% этого звука никто никогда не будет слушать. Представьте, что у вас идеальная память и вы можете вспомнить всё, что слышали; можете порыться в памяти поиском по тегам, можете быстренько вернуться к вчерашнему разговору и вытащить из него номер телефона или адрес, которые не собирались запоминать или использовать. Нет, смартфон не годится.


        1. iliasam
          09.03.2017 13:34
          +1

          А чем не устраивают обычные миниатюрные диктофоны?
          Описываемое вами устройство в виде клипсы может реально попадать под статью о «негласном получении информации».


          1. trapwalker
            09.03.2017 15:29
            +1

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

            Насчет негласного получения информации. По логике вещей, если обычный телефон умеет незаметно записывать звук и он не признаётся устройством негласного получения информации, хотя имеется у каждого первого, то устройство на воротничке с явной пиктограммой микрофона на корпусе (или с корпусом в форме декоративного микрофончика), предназначенное для личных целей аудиофиксации… Короче докопаться можно до чего угодно. Будем надеяться на здравый смысл, иначе самый главный прибор негласного сбора информации — это мозг. За его использование тоже скоро будут сажать?


            1. AleXP3
              10.03.2017 13:53
              +2

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


        1. SGordon123
          09.03.2017 14:50
          +1

          Рассматривайте смартфон как прототип устрайства, потом уменьшите или выкините дисплей и все, девайс в кармане!


  1. Arxitektor
    09.03.2017 11:05
    +2

    Спасибо за OSH Park а в Россию доставка тоже бесплатная?
    Трек номер дают?


    1. oWart
      09.03.2017 11:09
      +1

      Бесплатная, без трек номера.


  1. Arxitektor
    09.03.2017 11:14
    +1

    И еще интересует есть ли такие сервисы которые могут не только изготовить но и смонтировать компоненты на плату?
    Просто сам такую мелочь не смонтирую.
    Нужно будет плат 10.


    1. dion
      09.03.2017 11:45
      +1

      Это будет очень дорого. Проще найти кого-то местного. Вроде
      'ремонта ноутбуков/телефонов'


    1. KonstantinSpb
      09.03.2017 15:21
      +1

      Есть, см. на pcbshopper в разделе assembly


  1. KonstantinSpb
    09.03.2017 14:12
    +2

    Касательно печати плат и установки компонент на плату, то вот хороший сайт агрегатор
    http://pcbshopper.com/


  1. x893
    09.03.2017 14:50
    +1

    Отличная статья! Мне больше всего понравилось, что на github.
    Не пробовали такой кодек?
    http://www.rowetel.com/?page_id=452


    1. oWart
      09.03.2017 14:53

      Спасибо, нет не пробовал, увидел пример на Speex — сделал его.


      1. x893
        09.03.2017 15:55
        +1

        Сжатие больше чем у Speex и можно поменять ESP на RFM95/98 и использовать LORA/FSK/… для передачи.
        Но это наверное для следующей статьи.


  1. GarryC
    09.03.2017 17:25
    +1

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


    1. x893
      09.03.2017 22:28

      Возможность такая есть конечно, но сколько он будет кушать тока (если от батарейки)? И потом — это же просто прототип. Доработать и будет классное устройство для пользовательского использования. Можно и RTL8710 сделать — проще чем на ESP. Да 100500 вариантов. Главное автор показал возможность, а уж как использовать — каждый сам решит.


  1. instalator
    09.03.2017 19:10
    +1

    На сколько хорошая чувствительность? Добавить бы сюда DSP для фильтрации лишнего и выделения голосового диапазона. Было бы еще одно направление применения — для голосового управления «умным домом».


    1. beho1der
      10.03.2017 08:38
      +1

      Полностью согласен, если поработать над проектом, то его можно использовать как «захват голосовых комманд» для управления умным домом.


  1. madf
    10.03.2017 15:14
    +1

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


    1. oWart
      10.03.2017 15:23

      Вот тут я писал, почему так получилось.
      Сейчас скажу лишь — ну бывает, чтож поделать, учту :)


  1. oWart
    10.03.2017 18:28

    Кому интересно, написал на Хабр статью Оцифровка звука на STM32 (АЦП+DMA) и кодирование в Speex для передачи
    https://habrahabr.ru/post/323598/


  1. electronus
    11.03.2017 03:19

    Используйте esp-12E или F
    Как шальная идея, а почему бы не раздерибанить ESP и не собрать снова на своей плате?


  1. D_EL
    11.03.2017 04:15
    +2

    Вижу что на антиалайзинговый фильтр Вы забили.
    Малая частота дискретизации еще больше усугубляет ситуацию.
    Можно поставить внешний RC фильтр на 24 кГц, частоту дискретизации установить 24 кГц, входной поток фильтровать простым рекурсивным фильтром. Это позволит избавится от алиасинга и за одно можно получить oversampling чтоб поднять глубину оцифровки в 14 бит. Далее передискретизировать фильтром Фарроу до нужной частоты.


  1. IbhSvenssen
    12.03.2017 12:30
    +2

    Тоже делал подобное, но со стримом аудио на сервер напрямую. VAD и кодек спокойно влезают в саму esp, проц внешний не нужен. esp+adc+mic amp. Как пример — похожий проект https://perso.aquilenet.fr/~sven337/english/2016/07/14/DIY-wifi-baby-monitor.html


  1. Elmot
    15.03.2017 12:44

    интересный проект. Кстати говоря, посмотрите на новый stшный чип(stm32l432k), может сильно упростить устройство, тк ОУ на борту и ног меньше.