Raspberry Pi Датчик влажности и температуры и приборная панель
- Часть 1. Настройка оборудования
- Часть 2. Скрипт для считывания значений датчика
- Установка PubNub
- Ходить по Кодексу
- Графики в реальном времени с EON
Соединение показаний датчика IoT с приборной панелью в реальном времени было проблемой, поэтому мы создали EON, JavaScript-фреймворк с открытым исходным кодом для диаграмм, карт и информационных панелей в реальном времени , Это открывает массу вариантов использования для встраиваемых систем - от Raspberry Pi до Arduino и от микроконтроллеров Atmel, что позволяет собирать показания датчиков и визуализировать показания данных в обновляемом пользовательском интерфейсе в режиме реального времени.
В этом посте мы будем использовать датчик Raspberry Pi Model B и DHT, чтобы собирать данные о влажности и температуре и передавать их в реальном времени, обновляемые в реальном времени линии и диаграммы. Весь репозиторий кода можно найти здесь ,
В этом уроке есть три основных компонента:
- Схема Raspberry Pi и датчик для сбора температуры и влажности.
- PubNub подключает датчик Pi к интерфейсу веб-браузера и отправляет данные в режиме реального времени.
- 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 учебники ,