Skip to content

FreeBSD драйвер для приёмника кодов с пульта управления 433МГц (или 315 МГц)

FreeBSD kernel driver for gpio based remote control codes receiver. Я рад представить свой новый FreeBSD драйвер для радиомодуля MX-RM-5V. Хочу заострить внимание, что это приёмник радио сигнала - моя задача была именно в получении кода нажатой кнопки с пульта управления и выполнения соответствующей этому коду задачи. Драйвер, как раз, и занимается получением и декодированием радио импульсов до того момента, пока не сочтёт, что получилось что-то похожее на RC-код. Поиском соответствующей задачи и её выполнением будет заниматься отдельный сервис (aka daemon), который большую часть времени проводит в ожидании события kevent (или poll) от драйвера. Получение данного события для демона означает, что у драйвера для него есть новый код, который можно считать непосредственно с символьного устройства драйвера или с помощью вызова ioctl(). В моём случае, пара драйвер и демон, служит для ручного включения и выключения света и аэрации аквариума, которые в обычном режиме управляются по расписанию моим OrangePI Zero. "Апельсинка" скрыта от посторонних глаз за аквариумом, а для ручного управления используется 4х-кнопочный пульт rf-433МГц от китайских настенных выключателей "miniTiger", закреплённый в распечатанном на 3D-принтере держателе.
Продолжить чтение "FreeBSD драйвер для приёмника кодов с пульта управления 433МГц (или 315 МГц)"

И снова про tm1637 на FreeBSD

tm1637 4-digit 7-segment displayСегодня снова речь пойдёт про недрогой 7 сегментный дисплей tm1637, пригодный для отображения 4х цифр и двоеточия, характерного для электронных часов. Особенность дисплея в том, что он не следует стандарту i2c, хотя подключение его к GPIO шине и протокол передачи данных по ней очень похож.
Несмотря на то, что я уже написал библиотеку для tm1637 на FreeBSD и в целом она меня вполне устраивает (два года на этом дисплее моя "малинка" показывала время), отчасти из-за некоей обиды, что такое простое устройство для простого общения с ним требует весьма непростых усилий, а отчасти из-за желания попробовать свои силы, я решил написать простенький драйвер для символьного устройства, на которое можно было бы просто отправить строку цифр.
Теперь же, с помощью этого драйвера, отображение на этом дисплее возможно и из PHP, и из Python, и, даже, из bash с помощью команды echo.

Продолжить чтение "И снова про tm1637 на FreeBSD"

FreeBSD на armv7. Подключение датчиков dht11/dht22 и ds18b20

АквариумИдея подключить термометр к arm-платформе, да ещё и под управлением ОС FreeBSD появилась у меня в процессе автоматизации управления аквариумом. Не буду углубляться в причины выбора FreeBSD, тогда как выбор платформы мне видится очевидным большинству (невысокая стоимость, удобство разработки, привычное ПО, многообразие доступных датчиков, да и моду на SoC следует упомянуть). Собрав воедино Orange PI Zero, 4-хканальное реле на 250в и четыре розетки, написав ПО на python для управления ими по 7-дневному расписанию и визуализировав управляемые события с помощью веб-связки nginx + php-fpm я с удивлением осознал "... что это хорошо" (копирайт не указываю). Захотелось добавить рюшечек и цветочков. Отображение температуры воды в банке стало одной из таких рюшечек. Беда в том, что информация о том, как подключить разнообразные устройства к ПК под FreeBSD значительно глубже закопана и найти её сложнее, чем аналогичные примеры и даже уроки по подключению устройств к Linux Armbian и Raspbian.
Продолжить чтение "FreeBSD на armv7. Подключение датчиков dht11/dht22 и ds18b20"