Метеостанция на основе Raspberry Pi
Это простой проект метеостанции.
Первоначально он считывает температуру, давление и влажность. Следующим шагом будет измерение направления ветра, а затем скорости ветра.
Основой проекта является Raspberry PI A +, который был выбран из-за его небольшого потребления, поскольку идея заключалась в том, что метеостанция питается от солнечной энергии.
Операционная система представляет собой распбианский дистрибутив с некоторыми готовыми библиотеками Python.
Основная программа написана на Python.
Метеостанция загружает все данные на www.wunderground.com каждые 2 минуты.
Шаг 1. Описание оборудования
Для завершения проекта нам потребуется следующее:
Raspberry Pi A + (можно использовать любую модель)
Датчик температуры / давления Bosch BMP180
Датчик температуры / влажности HTU21D
Беспроводной адаптер
SD-карта
Солнечная панель 10 Вт
Аккумулятор 7,2 Ач, 12 В
Универсальный солнечный контроллер / зарядное устройство 12 В
Регулятор 5В 7805
Требуются биты и болота
Шаг 2. Настройка основных параметров
Я не буду тратить время на объяснение того, как установить raspbian на Rpi. Я предполагаю, что тот, кто хочет создать этот проект, достаточно разбирается в этих вопросах.
В любом случае ссылка на дистрибутивы http://www.raspberrypi.org/downloads/
Поскольку у меня есть несколько Rpi, у меня уже есть SD-образ, готовый к работе с беспроводной связью, так что оставалось только переписать его на новую карту.
Если у вас нет такой «резервной копии», вероятно, вам лучше использовать модель B + или другую с Ethernet и настроить все с помощью одного из множества доступных руководств.
Хорошее руководство по настройке Rpi:http://www.raspberrypi.org/help/quick-start-guide/
Для беспроводной связи лучше всего подходит http://www.raspberrypi.org/documentation/configuration/wireless/
.Если все прошло хорошо, у вас должен быть Rpi с беспроводным доступом в Интернет.
Вам по-прежнему нужно, чтобы ваш Rpi был готов к использованию протокола I2C.
Хороший - https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c
Шаг 3. Настройка другого программного обеспечения
После того, как вы настроите свой Rpi, нам понадобится несколько программ, чтобы мы могли считывать используемые датчики.
Я все делал, используя Rpi «Headless» и используя командную строку
Я использовал библиотеку Adafruit для BMP180, просто перейдите по ссылке, чтобы установить ее
https://learn.adafruit.com/using-the-bmp085-with-raspberry-pi/using-the-adafruit-bmp085-python-library
Еще нам понадобится библиотека Pigpio для чтения датчика влажности. Вы можете скачать с
http://abyz.co.uk/rpi/pigpio/download.html и следуйте инструкциям по установке
После этого вы должны убедиться, что при каждой перезагрузке Rpi также загружается Pigpio. Я сделал это, добавив следующую строку в /etc/rc.local
sudo pigpiod
В моем случае этого достаточно, но это зависит от того, где вы установили pigpio. Если у вас возникнут проблемы, просто укажите полный путь к файлу, и все будет в порядке.
Представленные руководства довольно просты, но если вам понадобится помощь, я здесь 😀
Шаг 4. Настройка датчиков
Я получил оба датчика от Ebay, так как проще (и дешевле) собрать небольшие платы с уже припаянными датчиками, чтобы сделать их самостоятельно. Если вы поищете на Ebay BMP180 и HTU21D, вы обязательно их найдете.
Это датчики I2C, с которыми очень легко общаться. Протокол I2C позволяет подключать несколько датчиков параллельно и обмениваться данными с каждым из них, потому что каждый имеет уникальный адрес.
Я спаял их вместе с некоторыми навыками, сопоставив все сигналы, как показано на картинках.
Датчикам потребуются сигналы + 3,3 В, GND, SDA и SCL от Rpi.
Вы можете использовать любую проводку, которая вам нравится, но, вероятно, неплохо подойдет четырехжильный кабель (телефония).
Шаг 5. Основная программа
Основная программа - temp-monitor.py
У вас должен быть установлен python, если нет, просто следуйте http://raspberry.io/wiki/how-to-get-python-on-your-raspberrypi/
В первой части программы показаны необходимые библиотеки.
import Adafruit_BMP.BMP085 как BMP085
import smbus
import os
import sys
import getopt
import sqlite3
import math
import pigpio
время импорта
Следуя программе, у нас есть 2 функции, которые будут считывать влажность. Read_temperature - это функция, которая считывает температуру HUT21D для компенсации при вычислении относительной влажности. Это необходимо для следующей функции read_humidity.
Внутри этих функций есть несколько вычислений, но все это согласно паспорту датчиков. Неважные вещи, но вы всегда можете их проверить, если хотите
BMP180 http://www.vssec.vic.edu.au/media/41229/BMP180-datasheet.pdf
HTU21D http://www.meas-spec.com/downloads/HTU21D.pdf
Переменная cmd отвечает за отправку данных на www.wundergroud.com с помощью curl. Этот веб-сайт предоставляет действительно хорошую статистику и графики. Вам необходимо зарегистрировать (это бесплатно) учетную запись для загрузки данных.
После этого у вас будет идентификатор и пароль, которые вы можете изменить в переменной cmd, как показано
cmd ="curl" + "'http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=&PASSWORD=&dateutc=now&tempf=" + str ((temp * 1.8) +32) + "&влажность =" + str (round (влажность, 2)) + ”&baromin =” + str ((давление / 100) * 0,0295299) + ”&action =updateraw” + ”'”
Затем вам нужно снова изменить /etc/rc.local и вставить строку для запуска программы при перезагрузке Rpi:
sudo python /usr/lib/cgi-bin/temp-monitor.py &
Символ &важен, потому что он поместит вашу программу в память и освободит командную строку для использования.
ОБНОВЛЕНИЕ
Для любопытных:temp-monitor-online.py - это текущая программа, которую я использую, с показаниями температуры, давления, влажности, точки росы, скорости и направления ветра, а также ультрафиолетового излучения и инсоляции.
Шаг 6. Создание солнечной панели
Итак, если вы все разобрались и работаете хорошо, пора вынести метеостанцию на улицу.
Я решил питать свой Rpi от солнечной системы, используя 3 модуля мощностью 3,5 Вт, купленных на Ebay.
Модули выдают 6 В, поэтому 3 последовательных модуля дадут нам 18 В, что является стандартом для солнечной системы на 12 В.
Вы можете расположить их так же, как и я, и в итоге вы получите довольно симпатичную небольшую панель, на которой будет работать система.
Возможно, вы думаете, что 10 Вт и батарея 7,2 Ач - это многовато для Rpi, но, поскольку я нахожусь в Ирландии, я ожидаю, что несколько дней проработаю без солнца, так что…
Подробнее:Метеостанция на базе Raspberry Pi
Производственный процесс
- Метеостанция на основе Raspberry Pi
- Метеостанция Raspberry Pi 2
- Метеостанция Raspberry Pi
- Удаленный мониторинг погоды с помощью Raspberry Pi
- Знак Neon A Shop Open / Closed Makerspace на Raspberry Pi 2 (Эль-Пасо, Техас)
- Присоединяйтесь к IOT со своей метеостанцией - CWOP
- Отслеживание Raspberry Pi Ball
- Проект Интернета вещей на основе Raspberry PI Подключение датчика DHT11
- Метеостанция V 2.0
- Малина с кулачком в скворечнике