Создайте свой первый IOT с помощью Raspberry Pi, датчика DHT11 и Thingspeak.
IOT или Интернет вещей горячая тема! По словам экспертов, все будет подключено к Интернету, и все наши устройства и их данные скоро будут на расстоянии одного IP-адреса от нас. Итак, с чего начать, если вы хотите исследовать мир Интернета вещей? Как насчет простого датчика температуры, влажности и освещенности для вашего подвала?
Пришло лето, и поскольку он находится на северо-востоке, это означает ВЛАЖНОСТЬ с большой буквы. У многих из нас в подвалах есть какая-то система осушения. Моя мастерская находится в моем подвале, и у меня есть небольшой осушитель воздуха, который сохраняет ее сухость в течение этих месяцев. Несмотря на то, что в подвале влажно, здесь прохладнее, чем над землей летом. Я решил, что хочу знать, насколько здесь прохладно и насколько влажно, и поэтому это стало источником вдохновения для моего первого проекта IOT.
Датчики DHT11 измеряют температуру и относительную влажность и стоят недорого. Идеально для первого проекта. DHT11 не является тем, что я бы назвал «научно» точным, но его достаточно, чтобы контролировать мой подвал. Пока я занимался этим, я подумал, что могу добавить датчик освещенности, чтобы знать, оставил ли я свет включенным. Еще одно простое и дешевое решение, все, что мне нужно, - это фоторезистор.
Следующим вопросом стало куда складывать данные. Я мог бы создать веб-сервер, но я хотел, чтобы это было просто, поэтому я решил использовать службу под названием Thingspeak, которая имеет API и позволит мне публиковать и просматривать данные с моего монитора IOT.
Шаг 1. Что вам нужно для завершения этого проекта
Приступим к созданию нашего проекта. Мы построим его на макете, поэтому не нужно беспокоиться о пайке или проектировании печатной платы. Как только мы будем довольны дизайном, мы сможем это сделать.
Оборудование:
–Raspberry PI 2 и SD-карта с операционной системой Raspbian
–– Источник питания USB
–USB-кабель
–– Макетная плата и перемычки
-2 датчика DHT 11
- 2 резистора 10 кОм
-2 фотоэлемента
-2 конденсатора 1 мкФ
Шаг 2. Приготовьте Raspberry PI
Если вы еще не сделали этого, загрузите Raspbian на свой Raspberry PI. Если у вас нет Raspberry PI, вы можете получить его на Soldering Sunday, который включает NOOBS, предварительно загруженные на карту MicroSD, или вы можете следовать нашему руководству по загрузке операционной системы для Raspberry PI.
После того, как ваш Raspberry Pi запущен и работает, нам нужно настроить Python для взаимодействия с контактами GPIO. Контакты GPIO - это наш интерфейс для датчика температуры / влажности DHT11 и фотоэлемента. Для более подробного ознакомления с выводом GPIO Raspberry Pi перейдите к нашему руководству по GPIO.
Настройка Python
Не все библиотеки, необходимые для создания этого проекта, предварительно загружены на Raspberry Pi. Вам потребуются библиотека Python Adafruit GPIO и библиотека Adafruit DHT 11.
Мы будем использовать руководство и библиотеку Adafruit для настройки Python для связи с выводами Raspberry Pi GPIO.
https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring- gpio
Нам также нужна библиотека Python от Adafruit для датчика DHT11, которую вы можете найти здесь:
https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/overview
Шаг 3. Raspberry PI - общие сведения о выводах GPIO
GPIO означает ввод / вывод общего назначения, а на Raspberry Pi они являются физическим интерфейсом между программной стороной Raspberry PI и внешним миром. Нам нужно будет использовать контакты GPIO для подключения к DHT11 и фоторезистору.
Различные версии Raspberry Pi имеют разное количество контактов GPIO. В ранних версиях Raspberry Pi было 26 контактов, а в более поздних версиях - 40 контактов. Несмотря на то, что было добавлено больше контактов, контакты с 1 по 26 одинаковы для всех версий. Когда вы посмотрите ссылку на контакты Raspberry Pi GPIO, вы найдете несколько обозначений для каждого контакта. Чаще всего вы найдете одну ссылку для физического имени контакта (от 1 до 40), а другую - для имени GPIO (GPIO1 и т. Д.). Физическое имя - это просто физический порядковый номер вывода. С Python мы будем использовать ссылку GPIO для идентификации нашего пина. Имя GPIO определяется набором микросхем и чаще используется в сложных проектах.
Ссылка на неправильный номер контакта GPIO очень распространена, и если вы не получаете ожидаемых результатов при работе с GPIO, дважды проверьте контакт, к которому вы подключены, и контакт, на который вы ссылаетесь в своем коде.
Если вам нужен более подробный обзор контактов GPIO Raspberry Pi, у нас есть учебное пособие по ним на нашем сайте.
Шаг 4. Создайте схему
Мы сохраняем простоту схемы и строим ее на макетной плате, используя наши компоненты и перемычки. Перед подключением чего-либо к Raspberry PI отключите питание.
Предупреждение - вы можете уничтожить Raspberry Pi коротким замыканием из-за неправильного подключения. Просто будьте осторожны и дважды проверьте все, прежде чем снова включить питание.
Для подключения Raspberry PI к макетной плате я предпочитаю использовать кабели Dupont Cables, они представляют собой перемычки с внутренней и мужской стороной. Женская сторона подключается справа к штырям штыревого заголовка Raspberry Pi, а штепсельная сторона - прямо к макетной плате.
Для этой схемы нам нужно использовать 3,3 В на выходе Raspberry Pi Pin 1 (не используйте 5 В на контакте 2), и нам, конечно же, понадобится земля (GND). Подключите их от Pi к макетной плате.
DHT 11 имеет 4 контакта. Контакт 1 - это VCC, контакты 2 - данные, контакт 3 НЕ ИСПОЛЬЗУЕТСЯ, контакт 4 - заземление.
- Подключите контакт 1 DHT 11 к 3,3 В
- Подключите контакт 2 DHT 11 к контакту 16 Raspberry PI / GPIO 23 и подключите резистор 4,7 или 10 кОм от контакта 2 DHT 11 к контакту 1 DHT.
- Подключите контакт 4 DHT 11 к земле.
Фоторезистор имеет 2 контакта
- Подключите один контакт к 3.3.v
- Подключите другой контакт к Raspberry Pi Pin 18 / GPIO 24
- Подключите конденсатор емкостью 1 мкФ к тому же выводу, к которому подключен фоторезистор на GPIO24. Сторона заземления (белая полоса) конденсатора должна перейти к заземлению.
Сравните свою работу с прилагаемой диаграммой Фритцинга и фотографиями.
Шаг 5. Настройте Thingspeak для наших данных IOT
Наш скрипт Python будет считывать данные с датчика DHT11 и фоторезистора, а затем публиковать значения этих данных на нашем канале на Thingspeak. Сначала нам нужно его настроить.
Перейдите на сайт Thingspeak.com и создайте бесплатную учетную запись или войдите в существующую учетную запись. Щелкните «Мои каналы», а затем щелкните «Новый канал». Назовите свой новый канал и назовите поля. Порядок полей важен позже, когда мы публикуем данные. Они могут быть в любом порядке, но когда вы публикуете данные, вам необходимо запомнить положение.
Вы можете решить, хотите ли вы, чтобы канал был общедоступным, а также опубликовать информацию о его местонахождении. Это все зависит от вас и не повлияет на наш код. Вам также понадобится ключ API записи для канала, так как он потребуется для публикации данных на канале.
Подробнее:создайте свой первый IOT с помощью Raspberry Pi, датчика DHT11 и Thingspeak.
Производственный процесс
- Измерение температуры с помощью однопроводного датчика DS18B20 и Raspberry Pi
- Датчик температуры Python и Raspberry Pi
- Проект IoT 101:потоковая температура с вашего Raspberry Pi
- Присоединяйтесь к IOT со своей метеостанцией - CWOP
- Интеграция данных датчика с микропроцессором Raspberry Pi
- Монитор температуры ThingSpeak с Raspberry Pi
- Датчик температуры и освещенности Raspberry Pi
- Управление датчиком и исполнительным механизмом Raspberry Pi
- Аэропоника с Raspberry Pi и датчиком влажности
- Raspberry Pi GPIO с датчиком движения PIR:Лучшее руководство