Представляю вам образовательный проект — “Метеостанция”, разработанный в рамках учебно-методического комплекса на базе одноплатного компьютера Repka PI 4.
Это система для мониторинга погодных условий в реальном времени. С помощью датчика BME280, который измеряет атмосферное давление, температуру и влажность, данные отображаются как на ЖК дисплее 1602 I2C, так и в консоли.
Проект будет собираться с использованием “Учебно-методический комплекс REPKA”. Схему сборки можно найти в разделе "Примеры готовых проектов" учебного пособия “УМК “REPKA”.
Также все необходимые материалы и схемы подключения доступны в репозитории на платформе Gitflic.
Компоненты проекта
1. Датчик атмосферного давления и температуры (BME280) см. рисунок 1. Измеряет атмосферное давление, температуру и влажность.
2. ЖК дисплей (1602 I2C). Отображает показания с датчика BME280 и позволяет пользователю видеть информацию о текущих погодных условиях.
Вы можете приобрести все необходимые компоненты отдельно от "Учебно-методический комплекс REPKA". Ссылки на модули приведены в таблице ниже.
Компонент | Ссылка на приобретение |
---|---|
Монтажная/макетная плата | Ссылка |
Шлейф | Ссылка |
Переходник с шлейфа на макетную плату | Ссылка |
Соединительные провода | |
Датчик атмосферного давления и температуры (BME280) | Ссылка |
ЖК дисплей (1602 I2C) | Ссылка |
Подготовительный этап
1. Подключим дополнительное питание 5V к макетной плате:
2. После чего выведем дополнительное питание на макетную плату:
3. Подключим переходник с шлейфа на макетную плату:
4. Соединим шлейф с переходником для подключения к макетной плате и Repka Pi 4:
5. Итоговый результат должен выглядеть таким образом:
Сборка проекта
Во время сборки проекта будем регулярно обращаться к электрической принципиальной схеме и монтажной схеме, представленными в учебном пособии (см. рисунки 3 и 4). Эти схемы будут служить основным ориентиром на всех этапах подключения компонентов, обеспечивая точность и правильность сборки устройства.
Для разработки кода будет использоваться текстовый редактор Geany, который входит в состав стандартного ПО Репка ОС.
Электрическая принципиальная схема
1. Подключение датчика BME280.
Как видно из рисунков 3 и 4 датчик подключается через интерфейс I2C и питается от 3.3V.
1.1. Подключаем BME280 к макетной плате согласно таблице 1:
Макетная плата | BME280 |
---|---|
3.3V | VIN |
GND | GND |
SCL1 | SCL |
SDA1 | SDA |
Таблица 1. Подключение датчика BME280 к макетной плате.
1.2. Результат подключения будет выглядеть следующим образом, см. рисунок 5:
2. Для проверки правильности подключения используем Python скрипт из репозитория repka-pi_iot-examples.
2.1. Клонируем репозиторий:
git clone git@gitflic.ru:repka_pi/repka-pi_iot-examples.git
2.2. Переходим в репозиторий:
cd repka-pi_iot-examples/
2.3. Выполним установку зависимостей.
2.3.1. Если хотите установить зависимости только для датчик атмосферного давления и температуры (BME280), выполните:
make setup-bme280
2.3.2. Если хотите установить зависимости для всех датчиков и проектов, выполните:
make setup-all
2.4. Запускаем скрипт для проверки:
make bme280
2.5. Если на этапе 2.4. возникает ошибка, то измените в python скрипте, который находится по пути: /devices/sensors/BME280_example/py, номер шины – bus_number, если ошибок нет, то пропустите данный пункт.
# Укажите номер шины
bus_number = 1
# Инициализация I2C-шины
bus = SMBus(bus_number)
sensor = BME280(i2c_dev=bus) # Инициализация
2.6. Из рисунка 6 видим, что скрипт успешно выполнился, нам удалось считать показания с датчика.
3. Подключение ЖК дисплея (1602 I2C).
Из рисунков 3 и 4 видно, что устройство подключается аналогично датчику BME280 по интерфейсу I2c, но питается уже от 5V.
3.1. Выполним подключение к макетной плате согласно таблице 2.
Макетная плата | 1602 I2C |
5V | VCC |
GND | GND |
SCL1 | SCL |
SDA1 | SDA |
Таблица 2. Подключение ЖК дисплея (1602 I2C) к макетной плате.
3.2. Результат подключения будет выглядеть следующим образом, см. рисунок 7:
4. Аналогично пункту 2 выполним проверку подключения датчика.
4.1. Установим зависимости для ЖК дисплея (1602 I2C), выполнив:
make setup-display-1602-i2c
4.2. Выполните команду:
make display-1602-i2c
4.3. Как видно из рисунка 8 датчик успешно подключен.
Запуск проекта
Теперь, когда все компоненты подключены, можно запустить проект "Метеостанция". Для этого в репозитории repka-pi_iot-examples выполняем команду:
make weather-station
Данные о температуре, давлении и влажности теперь отображаются на дисплее и выводятся в консоль, см. рисунок 9 и 10.
Практическая значимость проекта:
Проект "Метеостанция" имеет широкую практическую значимость в различных областях. В первую очередь, он является отличным образовательным инструментом, позволяющим студентам и учащимся изучать работу с датчиками, интерфейсами и осваивать программирование на Python. Кроме того, проект может быть использован для мониторинга климатических условий, что важно для научных исследований в области экологии, сельского хозяйства и других направлений.
Метеостанция может также стать полезным инструментом для наблюдения за изменениями микроклимата, а также для анализа влияния погодных условий на окружающую среду. В сельском хозяйстве, например, она может помочь оптимизировать аграрные процессы, предупреждая о неблагоприятных климатических явлениях.
Проект легко расширяется, что открывает возможности для интеграции дополнительных датчиков, таких как измерители осадков или качества воздуха. Эти дополнения могут сделать систему более мощной для более точного мониторинга окружающей среды. Более того, возможность удаленного мониторинга через интернет или мобильные устройства позволяет собирать данные в реальном времени, что удобно для использования в удаленных районах или в экстренных ситуациях для предупреждения природных катастроф.
Расширение проекта
Проект "Метеостанция" можно значительно расширить, добавив новые функциональные возможности. Например, можно интегрировать дополнительные датчики, такие как:
Датчики для измерения уровня осадков — это позволит получить полную картину погодных условий, включая дождевые осадки.
Датчик UV-излучения — для измерения уровня ультрафиолетового излучения, что может быть полезно для контроля солнечной активности.
Сенсоры качества воздуха — для мониторинга загрязнения воздуха в реальном времени.
Глобальная система позиционирования (GPS) — для отслеживания точных координат метеостанции и анализа данных по географическому расположению.
Видеообзор проекта
Для более детального ознакомления с проектом, вы можете посмотреть видеообзор на платформе Rutube.
Пример использования с Python
Проект полностью реализован на языке Python. Код для работы с метеостанцией можно найти в репозитории на платформе Gitflic.