Создайте свой первый IoT-проект с Raspberry Pi, DHT11 и ThingSpeak
Интернет вещей (IoT) меняет то, как мы взаимодействуем с бытовыми устройствами. Датчики, отправляющие данные в облако, позволяют мониторить и управлять средой из любой точки. Если вы новичок в IoT, простой монитор температуры, влажности и освещенности — отличная отправная точка.
Влажное лето на северо-востоке создает резкие колебания условий в подвале. Моя мастерская находится в подвале с осушителем, поддерживающим сухой воздух, но температура всё равно ниже летней уличной. Я хотел точно знать, насколько прохладно и влажно становится, что и вдохновило этот первый IoT-проект.
Датчики DHT11 доступны и измеряют температуру и относительную влажность. Они не лабораторно-точны, но достаточно для мониторинга подвала. Также добавил дешевый фоторезистор для обнаружения оставленного включенным света.
Вместо собственного веб-сервера я выбрал ThingSpeak — облачный сервис с простым API для отправки и визуализации данных датчиков.
Шаг 1: Что нужно для проекта
Прототипируем на макетной плате — пайка не требуется. После проверки можно перенести на печатную плату.
Железо:
- Raspberry Pi 2 с SD-картой и Raspbian OS
- Блок питания USB
- USB-кабель
- Макетная плата и перемычки
- 2 × датчика DHT11
- 2 × резистора 10 кОм
- 2 × фоторезистора
- 2 × конденсатора 1 мкФ
Шаг 2: Подготовка Raspberry Pi
Сначала установите Raspbian на Pi. Помощь: руководство Soldering Sunday или официальное руководство по установке Raspberry Pi OS.
Затем включите поддержку Python для доступа к GPIO. Потребуются библиотеки Adafruit GPIO и DHT. Следуйте официальным туториалам Adafruit:
Шаг 3: Понимание GPIO-выводов
GPIO (General Purpose Input/Output) — мост между ПО Pi и внешним железом. Все модели Pi имеют выводы 1–26; новые добавляют 27–40. Всегда сверяйте физический номер вывода с нумерацией GPIO в коде, чтобы избежать ошибок подключения.
Подробнее: учебник по GPIO.
Шаг 4: Сборка схемы
Выключите Pi перед подключением макетной платы, чтобы избежать повреждений. Используйте перемычки Dupont (female к заголовку Pi, male к макетной плате).
Подключите следующее:
- DHT11 — вывод 1 к 3,3 В, вывод 2 к GPIO 23 (pin 16) с подтягивающим резистором 4,7 кОм к 3,3 В, вывод 4 к земле.
- Фоторезистор — одна нога к 3,3 В, вторая к GPIO 24 (pin 18). Конденсатор 1 мкФ между ногой фоторезистора и землей для фильтрации шумов.
Проверьте подключение по прилагаемой схеме Fritzing и фото.
Шаг 5: Настройка ThingSpeak для данных IoT
Перейдите на ThingSpeak, создайте бесплатный аккаунт и добавьте новый канал. Назовите канал и его поля (например, Temperature, Humidity, Light). Порядок полей определяет, как вы будете отправлять данные позже.
Выберите видимость канала (публичный/приватный) и при желании укажите местоположение. Скопируйте Write API Key канала — он понадобится в Python-скрипте для публикации данных.
С собранным железом и настроенным каналом вы готовы написать Python-скрипт, считывающий значения датчиков и отправляющий их в ThingSpeak. Запустив скрипт, вы будете видеть состояние подвала из любой точки.
Производственный процесс
- Подключение нескольких DS18B20 1-Wire датчиков к Raspberry Pi для точного мониторинга температуры
- Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
- Учебник для начинающих по IoT: стриминг данных температуры с Raspberry Pi
- Интеграция метеостанции с CWOP: практическое руководство
- Интеграция данных сенсоров в Raspberry Pi: практическое руководство
- Создание монитора температуры ThingSpeak с Raspberry Pi и BrickPi
- Создание многодатчиковой системы мониторинга температуры и света с Raspberry Pi и DS18B20
- Мастерство управления датчиками и исполнительными механизмами на Raspberry Pi: акселерометр, сервопривод и потоко…
- Создайте автоматизированную аэропоническую систему с Raspberry Pi и датчиком влажности
- Мастерство GPIO Raspberry Pi: подключение PIR-датчика движения на B+/Model 2