HC-SR04 на Raspberry Pi: делитель напряжения 5 В → 3,3 В и Python

Обложка статьи: HC-SR04 на Raspberry Pi

Ультразвуковой датчик HC-SR04 — классика любительской электроники: за пару долларов он измеряет расстояние до препятствия от 2 до 400 сантиметров. На его основе делают парктроники, роботов-«объезжалки», уровнемеры в баках и «умные» шлагбаумы. Но у Raspberry Pi с ним есть подвох, о котором молчат многие короткие инструкции: датчик работает от 5 В, и его выход Echo … Читать далее

OLED SSD1306 на Raspberry Pi: подключение по I2C и вывод текста в Python

OLED-экран SSD1306 на Raspberry Pi 5 показывает время, IP-адрес и температуру процессора

Маленький OLED-экран на контроллере SSD1306 есть в каждом наборе для начинающих. Он стоит недорого, потребляет мало, подключается четырьмя проводами и очень контрастный: каждая точка светится сама. К Raspberry Pi его подключают, чтобы показывать на платах без монитора полезную информацию: IP-адрес, температуру процессора, показания датчиков. В статье подключим такой экран к Raspberry Pi, проверим его на … Читать далее

GPIO в Python: gpiozero и lgpio — светодиод, кнопка, ШИМ; почему RPi.GPIO не работает на Pi 5

Обложка статьи: GPIO на Python: gpiozero

Если вы держали в руках старые инструкции по Raspberry Pi, то помните строки вроде import RPi.GPIO as GPIO. Долгое время это был главный способ управлять светодиодами и читать кнопки из Python. А потом вышла Raspberry Pi 5, и такой код перестал работать: Python отвечает ошибкой, а светодиод не мигает. В статье разберёмся, как работать с … Читать далее

Telegram-бот на Raspberry Pi 5: уведомления от датчиков и управление командами

Обложка статьи: Telegram-бот на Raspberry Pi

Raspberry Pi стоит где-то в шкафу и следит за температурой, дверью, датчиком воды. Как узнать, что что-то случилось, если вы не дома? Самый простой и бесплатный способ: чтобы плата сама написала вам в Telegram. А если научить её отвечать на команды, то из чата можно будет узнавать температуру, просить фотографию с камеры или включать устройство. … Читать далее

Веб-интерфейс для управления GPIO на Raspberry Pi 5: Flask, кнопки и пароль

Обложка статьи: Веб-интерфейс для GPIO на Flask

Хочется включать свет, вентилятор или реле с телефона, не устанавливая никаких приложений? Для этого достаточно маленького веб-сервера на самой Raspberry Pi: вы открываете страницу в браузере, нажимаете кнопку, а плата управляет GPIO. Сделать такой сервер на Python можно за полчаса с помощью микрофреймворка Flask. В статье напишем веб-интерфейс для Raspberry Pi 5: страницу с кнопками … Читать далее

Сервопривод SG90 на Raspberry Pi 5: управление из Python без дрожания

Обложка статьи: Сервопривод SG90 на Raspberry Pi 5

Сервопривод SG90 поворачивает вал на заданный угол и удерживает его. Он нужен для поворотных камер, замков, роботов-манипуляторов и «умных» кормушек. Подключить его к Raspberry Pi проще простого: три провода, но на Raspberry Pi 5 у такого подключения есть нюанс. Обычный программный ШИМ из gpiozero даёт заметное дрожание вала, а привычная библиотека pigpio на этой плате … Читать далее

MQTT на Raspberry Pi: Mosquitto и Python (paho), отправка показаний датчиков

Обложка статьи: MQTT и Mosquitto на Raspberry Pi

Датчик на ESP32 измерил температуру. Как сообщить об этом Home Assistant, графику в Grafana и телефону, не привязывая каждое устройство к другим? Для этой задачи придумали MQTT — лёгкий протокол обмена сообщениями, который стал стандартом в «интернете вещей» и умных домах. Датчики, платы, контроллеры и программы просто «бросают» сообщения в общее место, а нужные получатели … Читать далее

Автозапуск программ на Raspberry Pi: systemd-сервис, cron, @reboot

Обложка статьи: Автозапуск программ через systemd

Программа работает, когда вы запускаете её вручную, а после выключения питания всё пропадает? Для датчиков, умного дома, метеостанции и любых проектов, которые должны работать «сами по себе», этого мало. Нужно, чтобы плата, включившись, запустила нужную программу, а если та упадёт, запустила её снова. В Linux для этого есть systemd. Это система, которая запускает всё, что … Читать далее

Python на Raspberry Pi: с чего начать, Thonny, venv и ошибка externally-managed-environment

Обложка статьи: Python и venv на Raspberry Pi

Python — главный язык для Raspberry Pi. На нём пишут программы для датчиков, умного дома, роботов и серверов, и он уже установлен в системе. Но почти каждый новичок упирается в одну и ту же ошибку, как только пытается поставить библиотеку командой pip install: Это не поломка. Система сознательно запрещает такой способ установки, и в статье … Читать далее

Управление сервоприводом SG90 с помощью PCA9685 из Python на Raspberry Pi/Orange Pi/Banana Pi

Сервопривод — это мотор-редуктор, способный поворачивать выходной вал в заданное положение (на заданный угол) и удерживать его в этом положении, вопреки сопротивлениям и возмущениям. Сервопривод Tower Pro 9g SG90 не имеет мощных характеристик (всего 1,2-1,6 кг×см), но имеет недорогую цену. Отлично подходит для управления небольшими легкими механизмами под управлением контроллеров Arduino, Raspberry Pi и т.п. … Читать далее