Суббота, 22.11.2025
Завод горного оборудования
Меню сайта
Google_Translate
Категории раздела
Мои статьи [126]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Рейтинг@Mail.ru

Яндекс.Метрика
Главная » Статьи » Мои статьи

Метеостанция с датчиком BME280 на Raspberry Pi

 
Картинки из оригинальной статьи

В статье описывается о том, как обойти ошибки, которые могут возникнуть при реализации проекта метеостанции https://blog.avislab.com/raspberry-pi-meteo_ru/.
В проекте использовалась система Raspbian buster десктопная версия от 2020-05-27 на Raspberry Pi 3.

Вначале соберите схему по проекту автора:

Обновите в своей системе информацию о пакетах командой
sudo apt update

Затем в Меню -> Параметры -> Raspberry Pi Configuration запустите или в терминале дайте команду sudo raspi-config.
Активируйте интерфейс I2C, пройдя по пути Interfacing Options -> P5 I2C -> Yes -> Ok.

Для правильного отображения даты и времени установите свою часовую зону. Для этого пройдите по пути Localisation Options -> I2 Change Time Zone. Выберите часть света и затем свой или ближайший город. Я выбираю Asia -> Chita.

Нажмите Tab и выберите Finish.

Проверьте адрес BME280, подав в терминале команду
sudo i2cdetect -y 1

Если адрес отличается от 76, тогда вам придется в скриптах изменить адрес на свой.
В браузере откройте страницу https://www.raspberrypi-spy.co.uk/2016/07/using-bme280-i2c-temperature-pressure-sensor-in-python/ и скачайте скрипт командой
wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/bme280.py

Проверьте работу BME280, набрав в терминале команду
python bme280.py

Должны быть выведены показания температуры, давления и влажности.

Далее согласно оригиналу статьи установите базу данных sqlite3 и  веб-сервер apache2 командами
sudo apt-get install sqlite3
sudo apt-get install apache2

Запустите веб-сервер командой
sudo service apache2 start

На компьютере локальной сети в браузере введите IP адрес Raspberry Pi и проверьте вывод веб-страницы Apache2

В установленной версии каталогом Document Root по умолчанию является /var/www/html.
Если в Windows вы пользовались файловым менеджером Total Commander или FAR, то можете установить файловый менеджер Midnight Commander командой
sudo apt install mc

В Midnight Commander можно быстро перемещаться по каталогам, просматривать и редактировать текстовые файлы. Для ввода команд в терминале можно скрыть панели, нажав Ctrl+o. Чтобы вернуть панели, снова нажмите Ctrl+o. Чтобы выйти из mc, в нижней строке меню щелкните по пункту 10 Quit.

Далее по проекту скачиваем файлы с github.com и создаем базу данных:
cd /home/pi
git clone https://github.com/avislab/weather.git

Если выдается сообщение о том, что команда git не найдена, тогда установите её командой
sudo apt install git
После скачивания командой git в домашней папке /home/pi/ появится папка weather. В случае затруднений можете скачать её в Каталоге файлов. Перейдите в этот каталог командой
cd /home/pi/weather

Далее выполните:
python ./install.py

В случае если вы скачали файлы с Каталога файлов, то могут быть проблемы в работе скачанных файлов. В этом случае установите права доступа на эти файлы (владелец pi, права 777) командами:
sudo chown -R pi:pi /home/pi/weather/
sudo chmod -R 777 /home/pi/weather/
 

Теперь требуется отредактировать скрипт командой
nano /home/pi/weather/weather.py

Найдите в тексте скрипта строки home_dir, www_dir и отредактируйте следующим образом:
home_dir = "/home/pi/weather/"
www_dir = "/var/www/html/weather/"

Заметьте, что после /var/www/ перед /weather надо вставить html.

Выйдите из редактора, нажав Ctrl+X, подтвердите сохранение буфера, нажав y и затем нажмите Enter для перезаписи файла.
Для облегчения запуска скрипта установите права доступа на каталог /var/www/:
sudo chown -R pi:pi /var/www/
sudo chmod -R 777 /var/www/

Создайте папку weather:
mkdir /var/www/html/weather

и в ней пустой файл index.htm:
touch /var/www/html/weather/index.htm

Если вы установили mc, то запустите его и убедитесь в том, что каталог и файл созданы.
Попробуйте тестовый запуск скрипта:
python /home/pi/weather/weather.py

Если скрипт не запускается, то  дайте ему права на выполнение:
sudo chmod +x /home/pi/weather/weather.py
Скрипт отработает с ошибками, но файл index.htm будет записан.

Повторите ещё пару раз запуск скрипта. Затем на компьютере локальной сети в адресной строке браузера введите http://IP-адрес_Raspberry_Pi/weather/. Скорее всего вы увидите показания и графики в виде наклонных линий. Постепенно по мере заполнения базы данными графики превратятся в более-менее плавные кривые.

При запуске скрипта показания записываются в базу данных. Для записи показаний каждые 15 минут отредактируйте crontab командой
sudo crontab -e

Обязательно в начале команды вставьте sudo, иначе скрипт запускаться не будет.
После строк комментариев добавьте строку
*/15 * * * * /home/pi/weather/weather.py

и в конце строки нажмите Enter. Сохраните файл.

Скрипт должен отрабатывать без ошибок, иначе через crontab он запускаться не будет. Отредактируйте скрипт weather.py командой
nano /home/pi/weather/weather.py

Переместитесь в самый конец скрипта и закомментируйте две последние строчки со ссылками на сайт автора. Сохраните изменения. После этого скрипт должен работать без ошибок.

Подождите 15-20 минут и снова в браузере откройте или обновите веб-страницу проекта. Должны измениться показания, время и графики.

Для редактирования базы данных и удаления ошибочных записей удобно использовать DB Browser for SQLite. Скачать можно с сайта разработчика sqlitebrowser.org/dl/. Доступна версия для Windows и Linux.
Используя эту программу, я удалил сбойную первую запись, в которой было записано значение атмосферного давления 431.34 мм ртутного столба. Сбойные значения искажают графики, поэтому их надо своевременно удалять, чтобы привести графики к нормальному виду.

Как удалить ошибочную запись из базы данных описано в статье Система домашней автоматизации WebHomePi - первые шаги (в самом конце статьи).

Можно отключить монитор, клавиатуру, установить Raspberry Pi в укромном месте и подключаться к микрокомпьютеру по ssh. Как это сделать, читайте в статье Как подключиться к Raspberry Pi из Windows по SSH. Подключение по ssh из Linux описано в статье Ubuntu и Armbian — установка LAMP и WordPress.

Для сведения: все настройки проекта произведены по ssh. Подключался к Raspberry Pi по локальной сети с компьютера с системой Linux Mint 19.1.

На  данный момент у вас доступ к веб-странице проекта только из локальной сети. Как настроить доступ к проекту из интернета, читайте в статье Как получить доступ по интернету к датчикам в квартире. В роутере вашей локальной сети для Raspberry Pi надо будет настроить статический IP адрес и пробросить для него порт 80 (port forwarding). Также понадобится зарегистрировать домен на динамическом DNS сервисе.

P.S. Если вам по какой-либо причине не удалось скачать файлы с github.com, то можете скачать с Яндекс.диска. Распакуйте скачанный архив командой unzip weather-master.zip, у вас появится папка weather-master. Создайте в домашнем каталоге папку weather и скопируйте содержимое папки weather-master в папку weather. Всё это удобно делать в Midnight Commander (mc).



Источник: https://blog.avislab.com/raspberry-pi-meteo_ru/
Категория: Мои статьи | Добавил: zgo (30.05.2020)
Просмотров: 2318 | Комментарии: 1 | Теги: метеостанция, weather station, graphs of temperature pressure humi, BME280, raspberry pi, графики температуры давления влажно, display of temperature pressure hum, DB Browser for SQLite | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Сайт завода zgo.ucoz.ru
  • Забайкальский край
    Дарасун
    Яндекс.Погода


    Хостинг Ucoz опять навязал видеорекламу, но обещает - "мы настроили систему так, чтобы в сутки на уникального посетителя приходилось не более двух показов."
    Совет, как не смотреть видеорекламу.

    Или используйте Uran - браузер от Ucoz без рекламы Скачать

    или подключите к браузеру блокировщик рекламы, например, Adblock Plus или uBlock Origin

    Универсальный декодер кириллицы



    Защита, контроль, управление.



    DONATE (поддержи автора)
    Все статьи авторские, при использовании прошу ссылаться на сайт
    Copyright Дарасунский завод горного оборудования © 2004 - 2025
    Бесплатный конструктор сайтовuCoz