Xiaomi Mi 9 Lite
Переехал на новый телефон Xiaomi Mi 9 lite.
Мой прежний телефон, стал что-то слишком часто без причины перегружаться да и тридцати двух гигабайт стало уже с трудом хватать для моих нужд.
Первое впечатление от нового телефона в целом положительное: много памяти - мне её постоянно мне не хватало в моем предыдущим телефоне и приходилось экономить. Android 9.0 - не то чтобы мне был нужен, но многие примеры из Android SDK сейчас компилируются только под него.
Однако некоторые вещи мне не понравились. Почему-то в телефоне только один динамик поэтому звук кажется плоским, картонным, как я понял это сейчас общий тренд среди бюджетных китайцев. Аккумулятор по сравнению с шикарным Lenovo P2 очень так себя - к вечеру остаётся около тридцати процентов. Возможно, я избалован но в предыдущем телефоне с шикарными десятью ампер часами аккумулятора я мог вообще не думать о том, что его когда-либо нужно вообще заряжать.
Но самое неприятное в новом телефоне это то, что здесь невозможно записывать телефонные разговоры, а это, пожалуй самая нужная вещь в телефоне.
Причем проблема не в самом железе телефона. Если раньше производители блокировали запись разговоров на уровне железа из-за требований сумасшедших юристов, сам Android SDK имел все необходимые функции. Я помню как я мучался с Моторолой, в которой можно выбирать, что писать - либо записывать только свой голос, либо голос собеседника. При этом в телефоне ещё время от времени что-то мерзко пищало.
Сейчас же сумасшедшие юристы взялись за Google и в Андроид начиная с версии 9.0 обрезали саму возможность записи телефонных разговоров, и без специальных навыков разблокировать ее не получится. Печаль... Тот случай, когда передовые веяния инженеров обламываются о дремучие страхи пещерных людей.
Очень хотел сканер отпечатков встроенный в стекло - сейчас понял, что это пока не самое лучшее решение. Из-за того, что сканер отпечатков пальцев встроен в экран становится невозможно использовать внешние защитные стекола или пленки. Впрочем, их я и так никогда не использовал. Однако, в некоторых программах сканер не очень хорошо срабатывает если на экране в это время находится клавиатура с вводом пароля - тут сканер перекрывается с клавиатурой и начинает противно мигать, когда вводишь текст. Экран в это время приобретает холодный оттенок - возможно, это особенность работы самого встроенного сканера.
Распознавание лица, работает хорошо, правда, неясно зачем оно нужно. NFC, GPS, Bluetooth тоже делают то что от них требуется. Отдельно порадовало наличие IK передатчика - можно эмулировать пульт управления различными устройствами.
Камера - много лучше той что у меня была на старом телефоне, и много лучше человеческого глаза тоже. Есть FM радио, но, тоже непонятно кто его сейчас слушает, когда есть потоковое вещание.
Вобщем, телефон мне понравился, рабочая лошадка, с хорошим соотношением цена-качество.
Оффлайн распознование текста - Kaldi ASR
Попробовал недавно систему распознавания речи Kaldi и оказалось, что все не так уж плохо, а даже на удивление хорошо. Качество распознавания оказалась ненамного хуже чем это делают это Гугл и Яндекс в онлайн, при этом совершенно бесплатно, без регистрации и СМС. На хабре есть хорошая статья для на эту тему.
При этом голосовой движок находятся на локальном компьютере и неплохо справляется с поставленной задачей. Немного смущает количество ресурсов которые требуются для того чтобы скомпилировать софт. В моем случае я потратил вечер для того чтобы скомпилировать систему, но уже после все заработало как надо. Если компилировать самому не хочется, уже имеется скомпилированный Docker образ, но пока не понятно как к нему подключить языковую модель.
Имеется также и очень неплохая языковая русская модель. Если покопаться в сети можно найти модели и для других языков. Если покопаться в сети можно найти модели и для других языков.
Этот текст был наговорен в процессе движения на работу а затем распознан этой штуковиной. Да, я очень ленив.
ESP-32 и INA219
Как измерить напряжение батареи при питании вашей самоделки на базе базе ESP32?
Самым очевидным решением было бы использовать резисторный делитель и снимать напряжение батареи с него, однако, оказалось, что модуль ESP-32 Cam который я использую для опытов не содержит ни одного аналогового входа, они все используются для встроенной камеры.
Поэтому, другим вариантом было использования отдельного датчика на базе INA219. Этот чип общается с внешним миром через i2c - для этого можно использовать любые две ноги ввода-вывода - в моем случае это 13 -SDA, 15-SDL. Для того чтобы все заработало как полагается в стандартный пример от Adafruit достаточно добавить одну единственную строчку для инициализации i2c на нестандартных выводах:
Wire.begin(13, 15);
Питание микороконтроллера осуществляется Step Down стабилизатором выходное напряжение которого устанавливается переменным резистором - на нем я выставил напряжение около 3.3 вольта.
Интересно, что если ничего не подать на ногу V+ INA219 то она показывает напряжение около 0.8 В и ток порядка 10mA - уж не знаю почему - во всех примерах которые я видел в сети на него ничего не подается и эти ноги используются только при измерении токов - у меня же, почему то так не заработало - нужно было сигнал подавать именно на +V при том что я запитал сам сенсор от 3.3 вольта от которого запитал и микроконтроллер.
Вот код прошивки.
Вот так выглядит моя схема.
На реальной схеме было несколько больше деталей, но в данной прошивке они не используются:
Вот что выводится в терминал:
Таким образом удалось измерить не только напряжение на аккумуляторах, но и потребляемый устройством ток.
Namelix
Обнаружил забавный сервис для генерации названий для ваших проектов от Netflix'a - https://namelix.com/
Забиваете ключевые слова, вводите желаемую длинну названия и выбираете из понравившийся вариант из предложенного списка - вместе с логотипом и фирменным написанием. Красота!