DIY солнечная метеостанция на Raspberry Pi
Это руководство описывает, как построить легкую, солнечную метеостанцию на Raspberry Pi и дешевых датчиках. Система записывает температуру, давление, влажность и может быть расширена для скорости/направления ветра, UV и инсоляции.
Шаг 1: Описание железа
- Raspberry Pi A+ (любая модель Pi работает)
- Bosch BMP180 датчик температуры/давления
- HTU21D датчик температуры/влажности
- Беспроводной адаптер
- Micro-SD карта
- 10 W солнечная панель (3 × 3.5 W модуля)
- 7.2 Ah 12 V батарея
- 12 V солнечный контроллер заряда
- 5V стабилизатор (7805)
- Разная проводка и коннекторы (напр., 4-проводной телефонный кабель)
Шаг 2: Базовая настройка
Установите Raspbian на свежую SD карту. Скачайте последний образ с Raspberry Pi Downloads. Если есть предконфигурированная карта, просто клонируйте образ на новую.
Для быстрого старта см. Raspberry Pi Quick-Start Guide. Если предпочитаете беспроводную связь, следуйте Wireless Configuration.
Включите I²C на Pi по туториалу Adafruit: Configuring I²C.
Шаг 3: Установка необходимого ПО
Весь софт ставится через командную строку. Для BMP180 установите библиотеку Adafruit из Adafruit BMP085 Tutorial.
Для чтения HTU21D скачайте и установите библиотеку Pigpio с Pigpio Downloads. После установки обеспечьте автозапуск Pigpio на буте, добавив sudo pigpiod в /etc/rc.local.
Шаг 4: Проводка датчиков
BMP180 и HTU21D — I²C устройства. Подключите их к 3.3V, GND, SDA, SCL пинам Pi. 4-проводной кабель (напр., телефонный) удобен для обоих датчиков.
У каждого датчика уникальный I²C адрес, позволяющий несколько устройств на одной шине.
Шаг 5: Основная программа
Кор скрипт — temp-monitor.py (или обновленный temp-monitor-online.py). Он запускается на буте и загружает данные в Weather Underground каждые две минуты.
Фрагмент кода:
import Adafruit_BMP.BMP085 as BMP085
import smbus
import os
import sys
import getopt
import sqlite3
import math
import pigpio
import time
# Функции чтения температуры и влажности
# (реализация по даташитам датчиков)
# Команда загрузки
cmd = (
"curl 'https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?"
"ID=YOUR_ID&PASSWORD=YOUR_PASSWORD&dateutc=now&tempf=" + str((temp * 1.8) + 32) +
"&humidity=" + str(round(humidity, 2)) +
"&baromin=" + str((pressure / 100) * 0.0295299) +
"&action=updateraw'" )
# Запуск скрипта на буте
# Добавьте в /etc/rc.local:
# sudo python /usr/lib/cgi-bin/temp-monitor.py &
Замените YOUR_ID и YOUR_PASSWORD на креды из аккаунта Weather Underground. & в конце обеспечивает фоновый запуск скрипта.
Шаг 6: Солнечное питание
Для автономного уличного деплоя используйте три 3.5W модуля последовательно для получения 18V, подходящих для 12V солнечной системы. Соедините выход с 12V батареей через контроллер заряда, затем питайте Pi через 5V стабилизатор.
Пока 10W панель и 7.2Ah батарея могут показаться избыточными для Pi, они дают несколько дней работы в пасмурные периоды Ирландии.
Для детальных схем проводки и спеков компонентов консультируйтесь с оригинальными проектными заметками.
Дополнительные ресурсы
- BMP180 даташит: BMP180 Datasheet
- HTU21D даташит: HTU21D Datasheet
Производственный процесс
- DIY солнечная метеостанция на Raspberry Pi
- Сборка уличной метеостанции на Raspberry Pi 2 и ADS‑WS1
- Создание метеостанции на Raspberry Pi с ежедневными email-отчётами о погоде
- Удалённый мониторинг погоды на Raspberry Pi 3 с PubNub
- Neon: динамичный открытый/закрытый знак мейкерспейса на Raspberry Pi 2 — Эль-Пасо, TX
- Интеграция метеостанции с CWOP: практическое руководство
- Продвинутое отслеживание теннисного мяча на Raspberry Pi с OpenCV
- Подключение Raspberry Pi 3 к датчику DHT11 и загрузка данных в облако ThingsIo.ai
- Продвинутая метеостанция v2.0: мониторинг температуры, давления, влажности и высоты в реальном времени
- Установка камеры Raspberry Pi в скворечнике — пошаговое руководство