Arduino Nano: использование сдвигового регистра, пример

Сдвиговые регистры — это два вида микроскхем 74HC595 и 74HC165. первый соответственно предназначен для расширения пинов для выхода (например помигать светодиодиками, включать выключать реле и т.п.), а второй для расширения пинов для входа (чтение состояние кнопочек, датчики движения и т.п.). Наиважнейшим моментом отмечу, что считывать/посылать состояние можем только в виде 0 и 1. Соответственно подключать можем устройства которые могут принимать только два состояния: вкл и выкл. Рассмотрим схему 74HC595

Соответственно на выходы Q0-Q7 мы сможем подавать состояние включено-выключено (1/0), отослав на ногу DS маску из 8 бит. Например 01010101. Остальные ноги:

  • GND — земля
  • MR — сброс значений регистра. Сброс происходит при получении LOW
  • SH_CP (SRCLK) — линия синхроимпульса для передачи данных из DS во внутренние ячейки (вход для тактовых импульсов).
  • SH — shift, CP — clock pin ST_CP (RCLK) — линия синхроимпульса для передачи данных из внутренних ячеек, во внешние (синхронизация выходов).
  • ST — storage, CP — clock pin OE — инверсный, разрешение на вывод данных с внешних ячеек (вход для переключения состояния выходов из высокоомного в рабочее)
  • DS (SER) — линия последовательных данных (Data Serial)
  • VCC — питание, 5В

Пример подключения 8 светодиодов в виде схемы:

И в виде сборки на макетных платах:

Простейший скетч для такой схемы подключения:

WordPress: Плагин для комментирования записей при помощи vk

Много лет пользовался плагином Social API. Да много лет заброшен и не поддерживается, но работало. Но тут случился переезд сайта с PHP 7.4 на PHP 8.2. И плагин отвалился., Поискал актуальные рабочие плагины — аналоги. Не нашел. Заброшены все. Пришлось закатать рукава и один из самых простых заброшенных плагинов довести до рабочего состояния. Результат выложен тут. Возможно дойдут руки и для того чтобы выложить в репозитарии WordPress.

cf7 Telegram: ошибка 400 при отправке сообщения

Симптомы: При отправке сообщения из контактной формы, сообщение не отправляется в бота, а в логах появляется ошибка вида:

Изучив чуть плагин, нашел непосредственную функцию отправки сообщения, и чуть её дополнил:

Ошибка стала чуть вняетнее:

{«ok»:false,»error_code»:400,»description»:»Bad Request: can’t parse entities: Can’t find end of the entity starting at byte offset 289″}

Но ни сколько не понятнее… Стал рыть дальше. Отправка в wordpress осуществляется функцией:

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

И оно заработало.. Ну так и оставил..

Ubuntu: устранение уязвимости OpenSSH cve-2023-48795

Вообще, если дистрибутив LTS, то просто выполнив:

Уязвимость уже будет теоретически будет устранена, НО! дополнительно можно (на будущее) отключить вообще протоколы ChaCha20-Poly1305 и Encrypt-then-MAC в ssh, которые собственно и эксплуатируются для этой уязвимости:

Теперь если выполнить:

Можно увидеть список используемых алгоритмов для соединения, и соотвественно узнать, что эти протоколы исчезли из списка доступных

Grafana: Аннотации

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

Создадим ключ API:

Далее, необходимо узнать id дашборда (гаходится как orgId в url) и id панели дашборда, чтобы таргетировать аннотацию.

Далее наваяем небольшой скрипт на PHP, который положим в крон и будем выполнять ночью:

В результате на графике получим нечто подобное:

1 13 14 15 16 17 293