Raspberry pi вывести температуру

Датчик температуры Raspberry Pi с выводом на ЖК-экран

Отобразим текущую температуру окружающей среды и среднее значение в течение определенного дня на ЖК-дисплее с помощью Raspberry Pi.

Что нам понадобится?

  • Raspberry Pi 3 Модель B+ (примерно $60)
  • Аналоговый датчик температуры (примерно $8)
  • Модуль преобразователя AD/DA (примерно $9)
  • ЖК-экран LCD1602 (примерно $12)

Все эти комплектующие нам помогут отобразить текущую температуру окружающей среды и средний показатель за определенный день на ЖК-дисплее, используя Raspberry Pi, aWhere API и библиотеки SunFounder.

Датчик температуры Raspberry Pi

В уроке использован Sensor Kit V2.0 от SunFounder, который поставляется с аналоговым температурным датчиком, и их PCF8591, который является устройством сбора данных. Мы использовали схему проекта от SunFounder, как показано ниже:

После правильной сборки схемы используйте код для проверки конфигурации. Вы можете скачать его на официальной странице здесь. Их код идет как на Python, так и на C, мы будем использовать Python.

Если вы делаете всё дистанционно, вы можете загрузить код на свой компьютер и использовать FileZilla, чтобы перенести его на свой Raspberry Pi.

Читайте также:  Как вывести кабель с плинтуса

Чтобы протестировать схему, запустите файл «18_thermistor.py». Результат должен выглядеть примерно так.

Использование ЖК-дисплея Raspberry Pi

Дисплей, который был использован, имеет только четыре провода. Оставьте датчик температуры подключенным. Используя схему ниже, предоставленную SunFounder, подключите ЖК-дисплей.

ЖК-дисплей и датчик температуры перекрываются на контактах «SDA1» и «SCL1». Он работает с этими контактами.

Чтобы отобразить текущую температуру на ЖК-дисплее, создайте новый каталог, например «LCDTemp», и скопируйте два файла, выделенные ниже на рисунке из каталога кода SunFounder, в ваш новый каталог. Это библиотеки, специфичные для оборудования SunFounder Kit (мы не тестировали их работу с другими датчиками).

Теперь, когда у вас есть эти библиотеки, настало время начать писать код для отображения текущей температуры на ЖК-дисплее:

При правильном соединении всех деталей код выше сработает так, что ваш результат будет выглядеть как на фотографии ниже, в зависимости от вашей температуры:

Получение исторических данных погоды с использованием API aWhere

Самый простой бесплатный API, который получилось найти для получения средних исторических температур для определенного местоположения, — использовать aWhere. С помощью aWhere вы можете получать всевозможные исторические данные о погоде.

Вы можете получить на бесплатную учетную запись на сайте aWhere здесь. Зарегистрировавшись, перейдите в «Моя учетная запись» (англ. — My Account) в верхнем правом углу и нажмите на «Мои приложения» (англ. — My apps). Внутри «Мои приложения» нажмите синюю кнопку «Добавить новое приложение» (англ. — Add a new App), как показано ниже:

Создав приложение, вы получите ключ «Consumer Key» и «Consumer Secret», мы будем использовать их, чтобы получить токен аутентификации в приведенном ниже коде.

Создание поля

Ощущение, что сервис aWhere больше направлен на сельскохозяйственное направление, поэтому, естественно, чтобы указать местоположение, чтобы получить температуру, нам нужно «добавить поле» (англ. — add a field) в наше приложение.

Документацию для добавления поля можно найти по ссылке. Сначала мы попробовали два разных способа, используя запросы «requests» и «urllib», но не смогли заставить всё работать. Единственный пример Python, который был найден, который работал, был в разделе ответов здесь, и именно на этом основан код ниже:

После выполнения кода выше, если вы успешно добавили поле, результат должен выглядеть примерно так (в зависимости от выбранного вами местоположения):

Получение исторических данных о погоде

Теперь, когда вы успешно создали поле, вы можете извлекать исторические данные о погоде для географического местоположения. Здесь можно найти документацию от aWhere.

Этот шаг довольно прост, приведенный ниже код должен только вернуть среднюю температуру за этот день за последние 10 лет.

Результат должен выглядеть примерно так:

Цифра 15 на рисунке выше — средняя температура в градусах Цельсия.

Собираем всё вместе

Теперь, когда мы имеем текущую температуру окружающей среды, а также среднюю историческую температуру, пришло время собрать все это и отобразить на ЖК-дисплее.

Код предназначен для обновления температуры окружающей среды каждую секунду, но средняя температура — только один раз в день. Он сравнивает день с помощью счетчика «currDay»:

Код был прокомментирован с пояснениями, но конечный результат должен выглядеть примерно так, как показано на рисунке ниже:

На этом пока всё. Больше о проектах на Raspberry в следующих публикациях.

Источник

Raspberry Pi: температура процессора, ее измерение и уровень нормы

Пользователи «малинки» знают, что ее процессор имеет пассивное охлаждение, а это означает , что температура процессора в R aspberry Pi должна регулярно проверяться, чтобы не допустить перегрева своего мини-компьютера. Тем более делать это не очень сложно — именно об этом и поговорим сегодня в нашей статье.

Температура процессора R aspberry Pi

Рабочая температура процессора на R aspberry Pi составляет до 80 С. Если допустить перегрев процессора, то первое , что начнет происходит , — это ужасное торможение работы системы. Так происходит, потому что на R aspberry Pi есть собственная небольшая защита от перегрева — это замедление работы системы, чтобы избежать гибел и всего устройства. Но не нужно доводить до такого состояния вашу «малинку», лучше периодически проверять , какая температура на данный момент у процессора R aspberry Pi. Особенно это нужно делать тогда , когда вы знаете, что система работает с усилием.

Что вам нужно, чтобы проверить температуру процессора R aspberry Pi

Чтобы температура процессора R aspberry Pi была проверена, нужно:

  • само устройство R aspberry Pi;
  • чтобы был настроен удаленный доступ к устройству — это необязательное, но желательное условие;
  • чтобы на устройстве была установлена R aspberry OS;
  • наличие клавиатуры и экрана;
  • чтобы была организована локальная сеть.

Как проверяется температура процессора R aspberry Pi?

Есть 3 разных, но проверенных способа, как проверяется температура:

  • при помощи консольных команд;
  • используя системный монитор;
  • через браузер.

Как происходит проверка температуры процессора R aspberry Pi при помощи консольных команд?

Чтобы проверить температуру этим способом , нужно:

  1. Открыть консоль для взаимодействия с вашей «малинкой».
  2. Ввести в консоли команду : «vcgencmd measure_temp». После ввода этой команды в консоли вам будет дан результат температуры в измерениях по шкале Цельсия.

Если вам нужно считать максимально точную « нагреваемость » процессора R aspberry Pi, то это возможно сделать, применив команду:

Это консольное выражение позволяет «считывать» температуру непосредственно с температурного индикатора « малинки » . Результат вам будет выдан максимально точным и отображаться будет в миллиградусах Цельсия, поэтому , чтобы «перевести» его в нормальные градусы, его нужно будет «поделить» на 100.

Для чего нужна будет такая точная температура процессора R aspberry Pi в повседневном использовании «малинки» — неизвестно. Но способ, как она проверяется , нужно знать.

Проверяем температуру процессора R aspberry Pi, используя системный монитор

Использовать системный монитор — это довольно продвинутый способ. Этот способ позволяет мониторить не только температуру процессора, но и другие системные показатели. Поэтому если вам важно следить за своей «малинкой» по-особому, то берите этот способ на вооружение. Для такого мон и торинга есть возможность применять общесистемный монитор Conky.

Чтобы им воспользоваться, нужно:

  1. Инсталлировать системную программу Conky из стандартного репозитория. Это возможно сделать , применив команду: «sudo apt-get install conky».
  2. Осуществить настройку Conky под собственные потребности. Для этого нужно будет разработать и отредактировать небольшой файлик «.con k yrc». Делается это посредством консольного выражения «sudo nano .conkyrc». Данный системный монитор позволяет очень гибко его настраивать. Чтобы это сделать, можно ознакомит ь ся с очень подробной инструкцией по его настройке по этой ссылке.
  3. После проведенной настройки запустить эту программу.

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

Как проверяется температура процессора R aspberry Pi при помощи браузера

Температура процессора R aspberry Pi и многие различные системные показатели могут быть исследованы непосредственно в браузере. Для этого нужно будет инсталлировать специальный пакет дополнений Rpi-Monitor. Данный пакет специально разработан для миникомпьютера R aspberry Pi. Он отслеживает многие системные показатели, например , такие:

  • температура процессора R aspberry Pi;
  • загруженность процессора и оперативки;
  • uptime системы;
  • объемы трафика;
  • и др.

Но самое интересное, что все эти показатели можно представить в виде графиков и диаграмм, а значит , за ними легче будет уследить.

Основная проблема этого пакета заключается в том, что он недоступен из официального репозитория, поэтому его установка будет состоять из нескольких команд.

Чтобы установить библиотеку Rpi-Monitor, нужно:

  1. Разрешить поддержку «https» в менеджере пакетов. Это возможно сделать консольным выражением: «sudo apt-get install apt-transport-https ca-certificates».
  2. Открыть доступность к нашей библиотеке посредством консольного выражения «sudo apt-key adv —recv-keys —keyserver keyserver.ubuntu.com 2C0D3C0F».
  3. Добавить наш пакет в перечень допустимых библиотек командой «sudo wget goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list».
  4. Установить саму библиотеку последовательными консольными выражениями «sudo apt-get update» и «sudo apt-get install rpimonitor».

Все, инсталляцию библиотеки завершили. Осталось немного настроить, для этого необходимо:

  1. Включить специальную опцию, чтобы мониторинг показателей системы происходил в автоматическом режиме. Это можно сделать командой «sudo /etc/init.d/rpimonitor install_auto_package_status_update».
  2. Включить обновление статуса показателей , применив команду «sudo /etc/init.d/rpimonitor update».
  3. Перезагрузить нашу библиотеку, чтобы настройки вступили в силу, используя консольное выражение «sudo service rpimonitor restart».

Вот теперь точно можно сказать, что установка и настройка закончена, а значит , температура процессора R aspberry Pi может быть проверена при помощи браузера. Кстати, это делается по ссылке:

Заключение

Как вы успели заметить, температура процессора R aspberry Pi проверяется довольно несложно. Если вам нужна только температура, то лучше это сделать при помощи специализированных консольных команд — это проще и быстрее.

Если же вы хотите полноценно отслеживать показатели своей «малинки», то лучше воспользоваться системным монитором или браузером. Монитор будет полезен в том случае, когда R aspberry Pi используется по принципу обычного компьютера, то есть к ней подключен монитор с графическим интерфейсом «малины» и клавиатура. Пакет Rpi-Monitor будет полезен тогда, когда ваша «малинка» применяется удаленно и управляется по локальной сети из другого устройства. Потому что этот «браузерный» способ работает на всех устройствах, подключенных по локальной сети к R aspberry Pi.Как вы успели заметить, температура процессора Raspberry Pi проверяется довольно несложно. Если вам нужна только температура, то лучше это сделать при помощи специализированных консольных команд — это проще и быстрее.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Raspberry Pi: измеряем влажность и температуру с помощью DHT11/DHT22

На Хабре уже публиковалась статья о подключении датчика температуры DS18B20 к Raspberry Pi. В нашем новом проекте, который строится на Raspberry Pi, понадобилось измерять не только температуру, но и влажность. Я расскажу, как подключить недорогие китайские датчики влажности к Raspberry Pi. Просмотрев несколько вариантов различных датчиков, остановился на двух наиболее массовых на рынке датчиков. Это DHT11, который привлек своей ценой $3 (с доставкой) и датчик DHT22 (около $10 с доставкой).

Основная разница между ними в диапазоне температур и точности измерения:

DHT11
DHT22
  • Влажность 0-100% +- 5%
  • Температура -40-125 °С +- 0.5%
  • Данные считываются с точностью до десятых.

Подключение

Подключение к Raspberry Pi особой сложности не представляет: подключаем + от датчика к +5V на Raspberry Pi, «-» — к земле, и сигнал к одному из GPIO выводов.

Устанавливаем ПО

Оба датччика используют свой протокол вместо стандартизированного 1 wire, поэтому программное обеспечение для снятия показаний датчика тоже будет отличаться.

Сначала установим библиотеку на С для работы с GPIO www.open.com.au/mikem/bcm2835/index.html

Для чтения данных с датчика за основу был взят файл на С Adafruit_DHT_Driver. Без внесения некоторых изменений работать с DHT22, этот код отказывался, пришлось немного изменить.

Пробуем считывать данные

Например DHT11 подключен к GPIO4

или DHT22 подключен к GPIO17

При реализации вызова readDHT нужно учитывать, что если скорость обращения будет высокая ( чаще чем раз в секунду) вместо данных Вы будете получать CRC Error.

Сохранение данных с датчиков

Полученные данные нужно куда-то сохранять, приведу пример как можно сохранять данные в Google.docs. Т.к. мне ближе PHP, сохранение сделал на PHP с использованием Zend_Gdata_Spreadsheets.

Подготовим google docs. Создадим новую таблицу и дадим ей имя. Дадим имена колонкам первой datetime, второй temperature, третей humidity. Из адресной строки скопируем id нашей таблицы, по нему будет производиться обращение к таблице.

Создадим папку для нашего проекта:

Загрузим и распакуем Zend Framework:

Проверяем работу файла, запускаем:

Осталось только поставить вызов «php DHTtoGoogleDocs.php» в cron.

В качестве эксперимента данные собирались почти месяц с интервалом в 10 минут в одном помещении и сохранялись в google docs, датчики были расположены рядом. Кому интересно можете посмотреть на разброс значений.
Из данных, которые собирали оба дачика, можно сказать, что если нужно просто понять меняется ли влажность, то датчика DHT11 вполне достаточно. Но, если Вы хотите, что бы отображаемое значение было близко к значению бытовой метеостанции, то лучше использовать DHT22.

Источник

Оцените статью