Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

WaterPi:система удаленного полива и мониторинга комнатных растений

Компоненты и расходные материалы

Raspberry Pi 1, модель B
× 1
Arduino UNO
× 1
Датчик температуры и влажности DHT11 (4 контакта)
× 1
Датчик влажности почвы YL-69
× 1
Датчик уровня воды
× 1
Стандартный ЖК-дисплей 16x2
× 1
Двигатель водяного насоса
× 1
реле 5 В
× 1
Держатель батареи 4xAA
× 1

Приложения и онлайн-сервисы

Amazon Web Services AWS IoT
Amazon Web Services AWS DynamoDB
Johnny-Five

Об этом проекте

Введение

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


Система отслеживает температуру и влажность места, влажность почвы, удаленно поливает растения, а затем сохраняет все данные в DynamoDB через AWS IoT. Собранные данные визуализируются различными диаграммами и рисунками, чтобы лучше понять условия, в которых растет растение.


Raspberry Pi запускает приложение nodejs для управления всеми датчиками и водяным насосом. Для этого я предпочел использовать библиотеку Johnny-Five. Для связи с AWS я использовал AWS IoT SDK для javascript.


Шаг 1. Настройте DynamoDB

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

  • Название таблицы: waterpi_sensor_data
  • Ключ раздела: ключ
  • Нажмите "Добавить ключ сортировки" и добавьте метку времени .

Важно то, что тип ключа и метки времени должен быть String.

Шаг 2. Настройте AWS IoT

Перейдите на страницу консоли AWS IoT и выполните следующие действия:

Создайте вещь под названием raspi-water-pump

Создайте новую политику. Название политики pump-policy, Действие iot:*, ресурс * выберите Разрешить затем нажмите "Добавить выписку" и "Создать".

Создайте сертификат с помощью создания сертификата в 1 клик . Затем загрузите открытый ключ, закрытый ключ и сертификат.

Затем вы должны выбрать сертификат, который вы создали, и сделать следующее:

  • нажмите Действия .> Активировать кнопка сертификат
  • нажмите Действия> Прикрепить политику . введите название созданной политики и нажмите Прикрепить .
  • нажмите Действия> Прикрепить вещь . введите raspi-water-pump и нажмите Прикрепить .

Создайте правило со следующим:

  • название saveToDynamoDB
  • Атрибут *
  • Фильтр тем датчик / данные
  • Выберите действие вставить сообщение в таблицу базы данных .
  • Название таблицы waterpi_sensor_data
  • Хеш-ключ и значение $ {topic ()}
  • Диапазон значений ключа $ {timestamp ()}
  • Название роли> Нажмите создать новую роль . и нажмите Разрешить на начальной странице, затем выберите ее в раскрывающемся списке "Имя роли".

Шаг 3. Подготовка Arduino

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

Если у вас нет Arduino IDE, следуйте приведенным здесь инструкциям, чтобы установить ее.

  • Открыть Arduino IDE
  • Откройте Файл> Примеры> Фирма> Стандартные данные . пример
  • Загрузить эскиз для Arduino




Подключение Soil Moisture к схеме Arduino должно быть таким, как показано ниже:

  • VCC (питание) -> PIN 7
  • GND (земля) -> GND
  • AO (аналоговый выход) -> A1

Подключение датчика уровня воды к схеме Arduino должно быть таким, как показано ниже;

  • (+) -> PIN 4
  • (-) -> GND
  • S -> A0

После этого вы должны подключить ваш arduino к raspberry pi через usb-кабель. Также не забудьте поместить датчик влажности почвы в цветочный горшок, а датчик уровня воды - в резервуар для воды.

Шаг 4:Подготовка Raspberry Pi

Провод жк-экрана, dht11, водяной насос через реле с raspberry pi.

Подключение DHT11 к Pi

  • S -> GPIO4 (вывод 7)
  • (+) -> 3V3 (вывод 1)
  • (-) -> GND (контакт 25)

Подключение ЖК-экрана

  • VCC -> 5 В (контакт 2)
  • GND -> GND (контакт 6)
  • SDA -> GPIO2 (контакт 3)
  • SCL -> GPIO3 (вывод 5)

Электропроводка реле водяного насоса

  • S -> GPIO18 (контакт 12)
  • (+) -> 5 В (вывод 4)
  • (-) -> GND (контакт 20)


Электромонтаж водяного насоса с реле и аккумулятором

  • Водяной насос имеет два кабеля. Один должен быть подключен к реле, другой - с помощью кабеля аккумуляторной батареи.
  • Другой кабель аккумуляторной батареи должен быть подключен к реле. Ознакомьтесь с диаграммой выше, чтобы узнать, как их соединить.

Шаг 5. Запуск приложения Nodejs на Pi

В этой части мы запустим приложение nodejs на Pi для сбора данных с датчиков и управления водяным насосом. Raspberry pi должен быть подключен к Интернету. Вы можете сделать это через Ethernet или Wi-Fi.

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

Подключите свой raspberry pi и запустите следующее:

  git clone [email protected]:demirhanaydin / waterpi-node.gitcd waterpi-nodenpm install  

Вы должны поместить свой открытый ключ, закрытый ключ и файлы сертификата, которые вы загрузили со страницы aws iot, в сертификаты . папка. Также вы должны загрузить файл сертификата корневого ЦС из корневого сертификата. Сохраните этот файл как rootCA.pem и поместите его в сертификаты . папка.

Затем откройте device.js . файл с помощью вашего любимого текстового редактора и обновите эти строки, указав пути к файлам. Вы должны получить свой IOT_DEVICE_URL с платформы AWS IoT, нажав на свою вещь. Это должно быть похоже на https://XXXXXXXXX.iot.us-east-1.amazonaws.com

Затем запустите

  sudo node index.js  

Если все в порядке, вы должны увидеть значения датчиков, напечатанные на ЖК-экране.

Также вы должны увидеть значения в своей таблице DynamoDB. Приложение отправляет данные датчиков на платформу Интернета вещей каждые 20 секунд

Шаг 6. Запуск веб-приложения

Базовое приложение sinatra визуализирует данные, которые находятся в таблице Dynamodb, с использованием highcharts. Также он может управлять водяным насосом удаленно. Что он делает, так это то, что всякий раз, когда пользователь нажимает кнопку запуска / остановки, он публикует событие на платформе AWS IoT. Raspberry Pi принимает это событие и обрабатывает его независимо от того, запускает ли насос или останавливает его.

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

Откройте свой терминал и выполните следующие команды

  git clone [email protected]:demirhanaydin / waterpi-web.gitcd waterpi-webbundle install  

Вы должны поместить свой открытый ключ, закрытый ключ, сертификат и файлы rootCA в сертификаты . папка. Затем откройте boot.rb и обновите эти строки соответствующими значениями. Ключ и секрет доступа к aws следует взять на странице «Учетные данные безопасности» в Консоли управления AWS.

Если вы закончили, запустите проект как

  ruby ​​app.rb  

Откройте браузер и введите http:// localhost:4567 / . Вы должны увидеть на диаграммах собранные данные датчиков, поступающие от Dynamodb.

При нажатии кнопки «Пуск» насос начнет поливать растение.

Вот несколько фотографий, которые я сделал, когда разрабатывал проект

Поздравляем!

Код

Исходный код Raspberry Pi Nodejs
клонируйте исходный код в raspberry pi и добавьте файлы сертификатов aws iot в папку сертификатов. вам также следует обновить device.js, указав URL-адрес aws iot thing https://github.com/demirhanaydin/waterpi-node
Веб-клиент WaterPi
не забудьте обновить boot.rb своими учетными данными https://github.com/demirhanaydin/waterpi-web

Схема

pi-wout-camera.fzz arduino.fzz

Производственный процесс

  1. Решение MCM от ADLINK обеспечивает удаленный мониторинг и управление
  2. Аквапоника под управлением Raspberry Pi
  3. Мониторинг комнатной температуры с помощью Moteino’s и Raspberry Pi
  4. Удаленный мониторинг погоды с помощью Raspberry Pi
  5. Датчик температуры и освещенности Raspberry Pi
  6. Управление датчиком и исполнительным механизмом Raspberry Pi
  7. Домашняя система безопасности Raspberry Pi с камерой и ИК-датчиком
  8. GE приобретает фирму SmartSignal по удаленному мониторингу и диагностике
  9. Cisco представляет решения удаленного мониторинга IoT для ИТ и ОТ
  10. Система удаленного мониторинга нефтяных и дизельных резервуаров на основе IoT