Raspberry Pi Датчик влажности и температуры и приборная панель

  1. Часть 1. Настройка оборудования
  2. Часть 2. Скрипт для считывания значений датчика
  3. Установка PubNub
  4. Ходить по Кодексу
  5. Графики в реальном времени с EON

Соединение показаний датчика IoT с приборной панелью в реальном времени было проблемой, поэтому мы создали EON, JavaScript-фреймворк с открытым исходным кодом для диаграмм, карт и информационных панелей в реальном времени , Это открывает массу вариантов использования для встраиваемых систем - от Raspberry Pi до Arduino и от микроконтроллеров Atmel, что позволяет собирать показания датчиков и визуализировать показания данных в обновляемом пользовательском интерфейсе в режиме реального времени.

В этом посте мы будем использовать датчик Raspberry Pi Model B и DHT, чтобы собирать данные о влажности и температуре и передавать их в реальном времени, обновляемые в реальном времени линии и диаграммы. Весь репозиторий кода можно найти здесь ,

В этом уроке есть три основных компонента:

  1. Схема Raspberry Pi и датчик для сбора температуры и влажности.
  2. PubNub подключает датчик Pi к интерфейсу веб-браузера и отправляет данные в режиме реального времени.
  3. EON отображает данные в реальном времени.

DHT22 - это базовый недорогой цифровой датчик температуры и влажности , Он использует емкостный датчик влажности и термистор для измерения окружающего воздуха и выплевывает цифровой сигнал на вывод данных. Подключите первый вывод слева к источнику питания 3,3 В, второй - к выводу ввода данных, а самый правый - к заземлению.

Часть 1. Настройка оборудования

1. Датчик DHT22

2. 3 перемычки

3. Макет

4. 4.7 кОм (или 10 кОм) резистор 5. Raspberry Pi 2, загруженный Raspbian OS.

Настройте схему в соответствии со следующим рисунком:

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

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

Подключите к GPIO4 (контакт 7), контакт 1 для напряжения (3v3) и контакт 6 для заземления. Резистор проходит между первыми двумя контактами датчика. Третий контакт датчика не должен быть подключен ни к чему.

Часть 2. Скрипт для считывания значений датчика

Затем нам нужно будет передать показания температуры, собранные DHT22, в наш пользовательский интерфейс. Для потоковой передачи данных через PubNub сначала нужно настроить PubNub на Raspberry Pi. Вам придется выполнить следующие команды на вашем терминале.

Установка PubNub

Откройте LXTerminal, скачайте и установите следующее:

Установить Python: pi @ raspberrypi ~ $ sudo apt-get установить python-dev

Установить pip: pi @ raspberrypi ~ $ sudo apt-get установить python-pip

установить PubNub: pi @ raspberrypi ~ $ sudo pip установить pubnub

Для углубленного ознакомления с настройкой PubNub с Raspberry Pi, у нас есть полное руководство по началу работы ,

Когда вы подключаетесь к PubNub, вам необходимо использовать ключи публикации и подписки. Чтобы получить уникальные ключи паба / саба, сначала вам нужно зарегистрировать учетную запись PubNub , После регистрации вы можете получить уникальные ключи PubNub в Панель разработчика PubNub , Наш бесплатный уровень Sandbox должен предоставить вам всю полосу пропускания, необходимую для создания и тестирования приложения обмена сообщениями с помощью API обмена веб-сообщениями.

Загрузка библиотеки Adafruit DHT

Нам нужно использовать Библиотека Адафрута DHT чтобы иметь возможность считывать значения температуры с датчика. Чтобы загрузить библиотеку, выполните следующее:

pi @ raspberrypi ~ $ git clone https://github.com/adafruit/Adafruit_Python_DHT.git
pi @ raspberrypi ~ $ cd Adafruit_Python_DHT

Ходить по Кодексу

Импортируйте библиотеки, необходимые для этого проекта. Затем инициализируйте объект PubNub с помощью ключей публикации / подписки PubNub.

Используя метод read.retry из библиотеки Adafruit_DHT, мы можем получить температуру, обозначенную как «t» и «h» соответственно.

Опубликуйте данные о температуре в канале с именем temp_eon и о влажности на hum_eon. Это повторяется до тех пор, пока программа не будет завершена, поэтому показания постоянной температуры и влажности постоянно передаются.

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

Графики в реальном времени с EON

открыто Консоль разработчика и отладчик PubNub , затем введите те же ключи и имя канала, что и в приведенном выше скрипте Python. Вы увидите показания температуры на темпеоне и влажности на humeonchannel соответственно.

Теперь пришло время визуализировать данные с помощью EON.

Данные о температуре (линейный график)

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

temp-line.html: подписывается на канал, по которому публикуются данные, на тип графика и способ отображения осей.

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

hum-gauge.html: вы можете выбрать различные параметры, такие как min и max для графика, а также различные пороговые значения и цвета для каждого из них.

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

И это все! Если вы хотите больше, проверьте некоторые из наших других Raspberry Pi учебники ,