Создание headless сигнализации утечки воды на Raspberry Pi 2 с Adafruit T‑Cobbler Plus
Наш первый практический проект с Raspberry Pi 2 — создание headless-сигнализации утечки воды. Цель — компактное, низкопотребляющее решение, способное работать без присмотра и оповещать при обнаружении воды.
Ниже подробное описание оборудования, программного обеспечения и шагов устранения неполадок, которые мы выполнили.
Используемое оборудование
- Raspberry Pi 2 (BCM2836, 1 ГГц, 1 ГБ ОЗУ)
- Цифровой датчик воды Funduino (3 В, резистор 1 кОм, красный светодиод)
- Adafruit T‑Cobbler Plus (предоставляет 3,3 В/5 В GPIO и шины питания)
- Большая макетная плата (для прототипирования и проводки)
Шаг 1: Настройка Pi 2
Имея только один монитор на шестерых участников, мы выбрали headless-настройку через SSH. Подключили Pi к устаревшему монитору через HDMI‑to‑VGA конвертер; первая установка ОС прошла хорошо, но экран перестал работать после первой перезагрузки. К счастью, мы все еще могли получить доступ к Pi по сети с PuTTY и передавать файлы с FileZilla.
Во время установки ОС мы случайно установили устаревшую библиотеку RPI.GPIO, вызвав проблемы совместимости. Мы перепрошили ОС, установили последнюю RPi.GPIO и проверили базовый тест «Hello, world» мигания, чтобы убедиться, что подсистема GPIO работает.
Шаг 2: Выбор датчика
Нам нужен был цифровой датчик, работающий на 3 В и надежно сигнализирующий о влажном состоянии. Оценив несколько вариантов, мы выбрали датчик воды Funduino из-за его простого 2-пинового интерфейса и встроенного резистора 1 кОм.
Датчик был подключен к GPIO-пину, а красный светодиод — к другому пину. Когда датчик погружался в воду, светодиод загорался.
Шаг 3: Финальный прототип
Рабочая схема была минимальной: один GPIO-пин к выходу датчика, другой к светодиоду, и шины питания от T‑Cobbler. Сопутствующий скрипт на Python (wet.py) считывает состояние датчика и переключает светодиод соответственно. Запустите его:
sudo python wet.py
Мы также экспериментировали с WebIOPi для веб-интерфейса, но Pi 2 не мог надежно его поддерживать, поэтому мы остались на локальном скрипте.
Шаг 4: Интеграция Adafruit T‑Cobbler Plus
После пайки T‑Cobbler мы обнаружили, что ориентация разъема была перевернута в нашей начальной сборке. Документация Adafruit прояснила, что кабель нужно перевернуть для соответствия расположению пинов Pi. После исправления все GPIO-пины работали как ожидалось.
Шаг 5: Полезные ресурсы
Для более глубокого погружения в код и проводку обратитесь к полному репозиторию проекта на GitHub.
Производственный процесс
- Как считывать температуру с DS18B20 на Raspberry Pi 2
- Raspberry Pi управляемая аквапоника: гайд по сборке и код
- Измерение температуры на Raspberry Pi с датчиками Maxim 1-Wire и мостом DS2482 I2C
- Домашний энергетический центр: мониторинг солнечных панелей, тепловых коллекторов и температуры комнат на Ra…
- Точный мониторинг температуры в серверной на Raspberry Pi
- Интеграция данных сенсоров в Raspberry Pi: практическое руководство
- Надёжный домашний мониторинг с Home Assistant на Raspberry Pi: движение, алермы и видеозахват
- Обнаружение молний с Raspberry Pi и AS3935: практическое руководство
- Создание монитора температуры ThingSpeak с Raspberry Pi и BrickPi
- Создание бюджетного детектора плача ребенка на Raspberry Pi — DIY-руководство