2019-12-24

Новогодняя иллюминация

На выходных сделал новую поделку:

 

Сначала хотел такое сам сделать, потом поискал, и оказалось, что уже есть замечательная прошивка для контроллеров от Espressif. Работает на ESP32 и более младщих сериях. Поддерживает голосовые ассистенты типа Гугла и Алексы, прошивка сделана на редкость профессионально хоть и Ардуино.

Очень понравилось.

 

Оставить комментарий

 
  2019-12-08

Подсветка светодиодной лентой WS2812b

Давно хотел сделать какую-нибудь поделку со светодиодной лентой. Во первых это красиво, во вторых, первого пункта вполне достаточно. 
Для микороконтроллера я выбрал ESP32 - мой последний фаворит - у него есть Wifi и Bluetooth - а что еще нужно для IoT поделки? Лента - WS2812b это - RGB светодиодная лента с индивидуальной адресацией. 
Кроме этого, ESP32 позволяет заливать прошивку по воздуху. В сети полно примеров как это делается. Cамым простым вариантом для меня было создавать прошивку на C++ и Arduino. Знаю это не спортивно, но задо это быстро.
И вот все компоненты будущей системы мне были доставлены. Сама светодиодная лента WS2812b представляет собой ленту длиной 5 м с 150ми светодиодами в каждый из которых интегрирован чип управления управляемый по одному проводу. Оказалось, что лента питается напряжением 5 Вольт, в то время как я заказал блок питания на 12 вольт. Каждый светодиод на полную яркость потребляет около 50mA а значит у меня не получается запитать всю ленту целиком поэтому в тестовой прошивке я зажигаю пока лишь несколько светодиодов одновременно. Так как у меня нет правильного блока питания то и лента и микороконтроллер питаются от пяти вольт через понижающий на Step Down стабилизатор который может давать ток до 1 ампера, в то время как лента на полную мощность потребляет около 7 ампер. Значит все светодиоды пока включать не будем.
Получилось настроить и обновление прошивки по воздуху. Так как устройство расположено на шкафу и доступ к нему затруднен обновление по воздуху было для меня самым главным требованием. 
Родная прошивка модуля esp32 CAM не захотела обновлять скетч по воздуху, устройство просто перезагружалось, однако, когда я сменил в настроках Arduino тип устройства на esp32 Wrover все прекрасно заработало.
Библиотека для работы с лентой от Аdafruit у меня почему-то тоже не стала работать корректно и некоторые светодиоды остались зажженными. При этом если выбирать малое количество светодиодов библиотека работает более или менее стабильно. Возможно дело в каких-то аппаратных проблемах или же у меня имеются наводки на сигнальный провод.
Однако, когда я поставил другую библиотеку - FastLED она сработала вполне стабильно. Но пока я все еще недоволен быстродействием. 
Возможно всё дело в неэффективности кода или я что-то сделал не так, но анимация в виде бегущего огонька у меня происходит краааайне медленно. 
Поскольку ленту нужно включать дистанционно реализовал работу с лентой через веб интерфейс, таким образом включать и выключать ленту можно из со странички в локальной сети. 
Интересно что также есть возможность использования mdns - это такой легковесный DNS для локальной сети - само устройство появится в сети с именем devicename.local. C компьютера эта функция у меня сработала без проблем но с телефона через mdns почему-то работать не захотела. Возможно дело в настройках браузера.
В общем нужно заказывать хороший блок питания на 5 вольт и током не менее десяти ампер - а лучше двадцати, так как я хочу ленту еще удлинить.
 
P.S. Извиняюсь за дикий русский язык - писал это в воскресенье вечером, был уже слегка не в себе :)
 

Оставить комментарий

 
  2019-12-04

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 радио, но, тоже непонятно кто его сейчас слушает, когда есть потоковое вещание.

Вобщем, телефон мне понравился, рабочая лошадка, с хорошим соотношением цена-качество.

 

 

Коментариев: 1

 
  2019-11-27

Оффлайн распознование текста - Kaldi ASR

Попробовал недавно систему распознавания речи Kaldi и оказалось, что все не так уж плохо, а даже на удивление хорошо. Качество распознавания оказалась ненамного хуже чем это делают это Гугл и Яндекс в онлайн, при этом совершенно бесплатно, без регистрации и СМС.  На хабре есть хорошая статья для на эту тему.

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

Имеется также и очень неплохая языковая русская модель. Если покапаться в сети можно найти модели и для других языков. Если покапаться в сети можно найти модели и для других языков.  

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

 

Оставить комментарий

 
  2019-11-16

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 вольта от которого запитал и микроконтроллер.

Вот код прошивки.

Вот так выглядит моя схема. 

На реальной схеме было несколько больше деталей, но в данной прошивке они не используются:

Вот что выводится в терминал:

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

 

Оставить комментарий

 
  2019-11-13

Namelix

Обнаружил забавный сервис для генерации названий для ваших проектов от Netflix'a - https://namelix.com/

Забиваете ключевые слова, вводите желаемую длинну названия и выбираете из понравившийся вариант из предложенного списка - вместе с логотипом и фирменным написанием. Красота!

 

Коментариев: 2

 
  2019-11-08

Задача Трех Тел

Одолел Задачу Трех Тел Лисицына Лю Сыциня.

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

Несомненно, вещь очень сильная, хотя местами автора уносит, местами автор скатывается в нудное обьяснение тех или иных явлений, что выглядит довольно неубедительно - он явно не читал Стругацких :) 

 

Оставить комментарий

 
  2019-11-04

Подстава от Лукьяненко

Есть у Сергея Лукьяненко серия книг Пограничье.

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

Первую книгу Подстава "Застава" прочитал с удовольствием оказалась вообще даже ничего - задорно и весело в духе раннего Лукьяненко. Треться книга тоже оказалась неплохой. Однако, вторую книгу осилить так не смог - редкостная скукотища.

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

 

Оставить комментарий

 
  2019-10-31

Про борьбу с парниковыми газами

Я недоумеваю почему многие люди думают, что для того чтобы бороться с парниковыми газами нужно высаживать деревья. Да у нас сейчас несколько повышается концентрация углекислого газа в атмосфере, но она повышается не от того что мало деревьев а от того что мы сжигаем тот углерод который накопила земля в в себе за миллионы лет. Сейчас мы возвращаем в воздух тот углерод который растения и животные накопили. От того что мы высаживаем деревья это ничего не меняет - ведь тот углерод который они накопят в своих стволах, скорее всего мы опять сожгем и превратим снова в углекислый газ. Леса это не химические заводы - они производять ровно столько кислорода, сколько им самим нужно для дыхания. Чтобы уменьшить концентрацию углекислого газа в воздухе нужно не сажать леса а, например, разводить болота - болота накапливают торф - а это как раз и есть связанный углекислый газ. Кроме угля углекислый газ жизнь связывает в виде карбонатов - так что все производства бетона нужо тоже запрерить. Увы другого способа уменьшить концентрацию СО2 в воздухе нет.

 

Оставить комментарий

 
  2019-10-28

Raspberry Pi W как медиа сервер

Есть такой проект - OSMC - медиа плейер который можно поставить куда угодно, хоть на Raspberry Pi и превратить его в навороченный медиа девайс.

Записываем образ на карточку, подключаем к телевизору и вуаля - ваш телевизор превращается в умный телевизор.

Проект очень интересный - поигрался на выходных, очень впечатлило. Едиственное что не понравилось - работает такой комбайн очень неторопливо - если ролики с youtube играет неплохо, но различные стримминговые сервисы использовать очень проблемотично - маленькая антенка малинки ловит Wifi весьма посредственно. 

Чтобы это решение работало быстрее - нужен LAN. Возникает желание купить старшую модель Raspberry 4 у ней есть LAN и быстрый USB - но за эти деньги уже можно приобрести готовый медиа плейер на Android.

 

Оставить комментарий