28.08.2024: Последняя среда лета 2024
Иногда кажется, что если бы выкинуть из временного потока какой-нибудь сезон, день или час, то той трагической случайности не произошло бы и жизнь пошла совсем другая.
Лето 1991-го как раз из таких. Сначала брат погиб в автоаварии, затем этот дурацкий лагерь (единственным плюсом которого стал подросший навык фотографии и проявки плёнок), а следом августовский путч, с которого можно начинать отсчёт начала “лихих девяностых”.
А нынешнее? Нет ответа.
Утро. Среда. Пью чай за рабочим столом и прикидываю план на день.
- Сегодня было бы здорово написать ещё один модуль, по работе.
В идеале, пообщаться с руководством отдела по мануальному тестированию, чтобы прояснить бизнес-процесс, который покрываю автотестами. Однако, там у них очередное событие, из за которого все стоят на ушах и им не до меня.
- По Учебному Центру (вечером) хорошо бы закрыть задачу с правками почтового модуля.
- По проекту #атнидрыщ2024, хочу превысить дневной норматив приседаний на 60.
Что ещё, если будет время?
- Побить зомбей в 7d2d. Хотя бы сотню.
- Прошить ESP8266 из под ESP Home и проверить работоспособность написанной для неё конфигурации.
Пожалуй, вряд-ли успею даже это, но почему бы не попытаться?
Самое быстрое и очевидное, с чего стоит начать, это 1 подход на 40 приседаний. Всего их нужно делать по 5 в день, если хочу догнать график.
С этими приседаниями есть одна большая странность. Стоит только наметить очередной подход и собраться его делать, как спустя время обнаруживаю, что занимаюсь чем-то совсем другим. Прямо магия какая-то.
А вот теперь можно сделать и запушить коммит с правками.
Ознакомился с тем, что такое есть ТОН-коин. Оказывается – криптовалюта, завязанная на ТГ. И да, в связи с недавними событиями во Франции, ценник на неё несколько подумал.Купить ТОН-коин можно, но схема покупки трансректальная, поскольку заплатить с российской карты напрямую никак нельзя. Можно через жителей НЕ-РФ, кидая деньги им на карту, прикладывая чек и т.п. Кошелёк ТГ контролирует сделку, чтобы не плодить “кидалово”, но это всё-равно как-то…
В принципе, в ТОН-коинах (как и в прочей крипте) был бы смысл, если бы ими можно было вот так запросто оплатить Суно АИ, или ПХПШторм, например. Однако – нет. Разве что трансректально, опять же, но этими путями можно и с карты. Даже выгоднее получится.
В общем, штука интересная, но бесполезная для меня.
“Умная” макроклавиатура: Этап 1: ESP8266 + Home Assistant
К вечеру решил по-быстрому прошить ESP8266 из ESPHome. И не смог.
Сначала контроллер тупо не обнаруживался системой.
Надо бить по рукам тем производителям, которые делают USB-кабели чисто под питание, без DATA-канала. Линейкой! Потому, что из четырёх кабелей, только один оказался подходящим. Я понимаю стремление сделать дешевле. Но тогда их хотя-бы маркировать как-нибудь надо! Это же вредительство какое-то.
Потом оказалось, что конфигурация, которую я написал, отказывается приниматься компилятором.
Пока возился с ней, отрубился счётчик приседаний. Пощупал питальник, к которому он подключен, и чуть не обжёгся. Оказалось, что один из кабелей, с магнитным коннектором, примагнитил монету (пока я копался на столе) и устроил короткое замыкание.
К счастью, после устранения “неполадки” и охлаждения, он работает снова. Но осадочек остался. Этим коннектором явно нужны колпачки для защиты.
Взял базовую (пустую) конфигурацию для контроллера и поставил прошиваться. Это оказалось капецки долго. Однако, в и тоге, нашёл подходящее решение.
Это решение (через platform: gpio) отжирает половину доступных пинов.
При том, совершенно бесполезно отжирает. На них не получилось повесить хардварные кнопки, но они нужны для изменения состояния. Таким образом, у меня четыре пина – переключатели, и ещё четыре – оутпут на 3.3 V.
В принципе, четыре оутпута, это именно то, что я и планировал, а значит “шалость удалась”. Но…
А что если свитчи сделать через “platform: template”? – подумал я, и засел экспериментировать.
И у меня получилось! Теперь задействованы 9 пинов. Не уверен, что все будут работать, но выясню экспериментально.
А вот так выглядит конфигурация.
esphome: name: kb-machro friendly_name: "Управление компьютером" esp8266: board: nodemcuv2 # Enable logging logger: #======================== # Кусок с ключами и паролями # не покажу #======================== captive_portal: # Клавиши switch: - platform: template name: "Клавиша 1" id: onboard__key1 optimistic: true on_turn_on: - output.turn_on: pin__keyout1 - delay: 500ms - output.turn_off: pin__keyout1 - switch.turn_off: onboard__key1 - platform: template name: "Клавиша 2" id: onboard__key2 optimistic: true on_turn_on: - output.turn_on: pin__keyout2 - delay: 500ms - output.turn_off: pin__keyout2 - switch.turn_off: onboard__key2 - platform: template name: "Клавиша 3" id: onboard__key3 optimistic: true on_turn_on: - output.turn_on: pin__keyout3 - delay: 500ms - output.turn_off: pin__keyout3 - switch.turn_off: onboard__key3 - platform: template name: "Клавиша 4" id: onboard__key4 optimistic: true on_turn_on: - output.turn_on: pin__keyout4 - delay: 500ms - output.turn_off: pin__keyout4 - switch.turn_off: onboard__key4 - platform: template name: "Клавиша 5" id: onboard__key5 optimistic: true on_turn_on: - output.turn_on: pin__keyout5 - delay: 500ms - output.turn_off: pin__keyout5 - switch.turn_off: onboard__key5 - platform: template name: "Клавиша 6" id: onboard__key6 optimistic: true on_turn_on: - output.turn_on: pin__keyout6 - delay: 500ms - output.turn_off: pin__keyout6 - switch.turn_off: onboard__key6 - platform: template name: "Клавиша 7" id: onboard__key7 optimistic: true on_turn_on: - output.turn_on: pin__keyout7 - delay: 500ms - output.turn_off: pin__keyout7 - switch.turn_off: onboard__key7 - platform: template name: "Тестовая кнопка" id: onboard__key10 optimistic: true on_turn_on: - output.turn_on: onboard_test_led - delay: 500ms - output.turn_off: onboard_test_led - switch.turn_off: onboard__key10 # Нажатие клавиш output: - platform: gpio pin: D1 id: pin__keyout1 - platform: gpio pin: D2 id: pin__keyout2 - platform: gpio pin: D3 id: pin__keyout3 - platform: gpio pin: D4 inverted: true id: onboard_test_led - platform: gpio pin: D5 id: pin__keyout4 - platform: gpio pin: D6 id: pin__keyout5 - platform: gpio pin: D7 id: pin__keyout6 - platform: gpio pin: D8 id: pin__keyout7
Выпилил из неё тот кусок, который отвечает за явки-пароли. Это добро генерируется при добавлении нового устройства на базе ESP.
После экспериментов, выпилил кнопку 0, которая висела на пине D0. Этот пин выдаёт логическую единицу при старте контроллера. Не хотелось бы, чтобы в этот момент нажималась, например, красная кнопка. Так что, мне хватит семи виртуальных кнопочек.
Пин D4 тоже убираю.
С ним вообще весело. Если поставить inverted: true, то при подаче на пин логической единицы, светодиод на борту контроллера загорается (без inverted: true он горит постоянно). А вот сам пин ровно наоборот. При inverted: true он будет постоянно выдавать напряжение, и переключится на ноль только если послать в него единицу.
Таким образом, если хочется использовать D4, то inverted: true ставить не нужно, но придётся смириться с постоянно горящим светодиодом на борту контроллера.
Мне такое не надо. Пусть “Тестовая кнопка” мигает набортным светодиодом, и больше не делает ничего. Так я сразу смогу убедиться, что сигнал до контроллера доходит и обрабатывается.
Раз с этим всё, пошёл прогуляться до овощного ларька. Нужно картошки прикупить, а то совсем закончилась.
Вернулся, разгрузился и сел работать.
Нет, по-хорошему следовало бы прошить второй контроллер, пока кураж есть, но у меня по плану задачи Учебного Центра. Так что, посмотрел пару видосов, да и засел исследовать легаси-код.
Ох я и намаялся, пока искал точки входа для новых правок.
Вынырнул почти через три часа, и решил что на сегодня достаточно.
Конечно, можно и еще одну задачу начать, но боюсь накосячить. Всё-таки подустал, внимание притупилось.
Пожалуй, неспешно выпью полкружки воды, почитаю пару страниц книги, да и спать пойду. Минут через пять будет полночь.
Напишите комментарий