И снова проект на Arduino: подсветка лестницы

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

Разработку платы вёл традиционно в веб версии EasyEDA, Принципиальная схема получилась следующая:

А вот тут она-же, но уже в виде текстолитовой однослойной платы, которую вполне можно потравить и самому:

В «железе» пока еще готового варианта нет, детальки едут и Китая и прочих источников, но теоретическую модель в эмуляторе уже можно потрогать тут:

https://wokwi.com/projects/417413301092687873

Код следующий:

Печать на принтере TSC-210 из консоли

В ходе эксплуатации принтера этикеток TSC-210 в среде 1С под Linux выявилась особенность, что он не выдерживает правильные отступы при печати, даже при установке нужных параметров бумаги. Выходом явилось сохранение печати в файл, а затем печать полученного файла при помощи просто скрипта вида:

Яндекс OCR: разметка данных

В ходе использования облака Yandex OCR для распознавания данных, выявилось что при анализе получаемого на выходе JSON, очень не достаёт визуализации полученных данных. Для того чтобы эту ситуацию чуть улучшить, написал скриптик, который на входе получает картинку для распознавания и JSON полученный от Яндекса, а на выходе выдаёт картинку с нанесенными распознанными блоками и таблицами.

Собственно код:

Получаем картинку вида:

разметка на основе Yandex.ocr

PHP и его странная математика

Столкнулся с очень чудесной ошибкой на PHP:

Что вы ожидаете увидеть в выводе? 115? А вот и нет. Если echo выведет 115, то var_dump выведет 114.99999

Что не так с float?

Тип float в языке PHP, как и его “родственник” тип double, вовсе не предназначен для точного представления десятичных дробей. Всё что мы записали в float, хранится в приближенном значении, с некоторой погрешностью.

Решение: в виду того что в PHP это считается фичей, а не багом, то для точной работы с математикой нужно использовать модуль bcmath. Ну или использовать округления до нужной точности

P.S. Не первый раз уже вспотыкаюсь об это

GitItea: does not appear to be a git repository

Как оказалось такая совершенно не очевидная ошибка показывается (помимо варианта что и на самом деле вы напутали с URL репозитария) и когда что-то случилось с вашим открытым SSH ключём. Соответственно достаточно сгенерировать новый:

А затем добавить содержимое файла ~/.ssh/id_ed25519.pub в админке GitItea в раздел «Ключи SSH»

1 2 3 292