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

Контроллер полива Win10 IOT с датчиками влажности

Используя Win10 IOT, RPi2 и XBee, измеряйте влажность почвы газона и при необходимости автоматически запускайте полив.

Фон

Большие части США пострадали от маловодья или засухи в течение последних нескольких лет. Домовладелец может многое сделать, чтобы сократить потребление воды в доме, и орошение газонов - одна из них. Работа с наиболее распространенными контроллерами полива в жилых помещениях неудобна и утомительна. Спрятанные в гаражах сложные циферблаты и непонятные инструкции на этих контроллерах затрудняют настройку продолжительности ежедневной работы системы. И они до сих пор не знают, сколько воды на самом деле нужно растениям.

Мой проект направлен на решение хотя бы части проблемы, позволяя контроллеру орошения знать, насколько влажна почва, чтобы он знал, нужно ли бежать, а когда остановиться. Кроме того, я добавил управление через Интернет, так что я могу управлять разбрызгивателями с помощью своего смартфона с заднего двора или со всей страны.

Шаг 1. Обнаружение

Во-первых, нам нужно заставить датчики влажности почвы отправлять данные на RPi2. Мы хотим, чтобы датчики были на лужайке или непосредственно рядом с ней, но RPi2 должен быть расположен в безопасном месте, недалеко от источника питания и Ethernet. Датчики будут изолированы от элементов, питаться от батарей и должны иметь возможность считывать данные с датчика влажности почвы. К счастью, линейка микросхем XBee от Digi International хорошо приспособлена для решения всех трех условий.

Для простоты я предпочитаю использовать XBee Pro - Series 1 . модули. Хотя у Digi есть собственный коммуникационный уровень DigiMesh и реализация ZigBee (вот отличная сводная таблица), самым простым и прямым решением было использование базовой реализации «802.15.4». В этой конфигурации каждый беспроводной датчик взаимодействует напрямую с микросхемой XBee, подключенной к RPi2. Каждый отдельный датчик XBee управляет собственным циклом сна и бодрствования, что значительно увеличивает срок службы батареи. А датчик XBee имеет 6 встроенных 10-битных аналого-цифровых входов, идеально подходящих для подключения нашего датчика влажности почвы. Имеется даже достаточно дополнительных входных данных, чтобы позже собирать показания температуры или освещенности.

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

Наконец, мне нужно было запрограммировать чип XBee. В правой части таблицы бюджета энергии в столбцах «G» и «H» указаны значения, которые я изменил с помощью программного обеспечения Digi X-CTU. Я смог использовать USB-компонент XBee Explorer от SparkFun, подключенный к моему ПК, вместо того, чтобы покупать отдельный комплект разработчика в Digi.

Шаг 2. Программирование Raspberry Pi

Самая большая проблема при программировании Raspberry Pi - это взаимодействие с модулем XBee. XBee говорит только через последовательный порт, а RPi2 не имеет доступных встроенных последовательных возможностей. Решил использовать USB-модуль Sparkfun XBee Explorer. Используемый на плате чип производства FTDI не имеет собственных драйверов для Win10 IOT Core. Однако, следуя инструкциям, предоставленным Джарком в его репозитории GitHub, я смог связаться с модулем XBee.

Согласно документации XBee, датчики будут периодически отправлять данные датчиков в RPi, которые принимаются в виде кадра API. Существует много-много разных библиотек для обработки данных кадра XBee API, но я решил использовать свою собственную, чтобы избежать проблем с лицензированием.

После анализа показаний данные отправляются в облачную службу, размещенную в Azure. Затем облачная служба может определить, открывать ли значение или нет, и запускать спринклеры в заданной зоне.

Шаг 3. Облачная служба для журналов датчиков, управления поливом

Для облачной службы я решил использовать ServiceStack, работающий в веб-приложении Windows Azure. ServiceStack - это веб-ориентированная среда, которая является альтернативой ASP.Net с Entity Framework. Он имеет дополнительные компоненты для поддержки Redis, клиентов C #, имеет двойную коммерческую лицензию / лицензию AGPL и щедрые бесплатные квоты для хобби-проектов. Используя Azure, мы можем задействовать множество дополнительных ресурсов, таких как серверная часть Redis, база данных SQL, служебная шина, а также множество возможностей для масштабирования при необходимости.

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

  1. Ссылка на события, отправленные сервером, открывается с помощью ServerEvents ServiceStack, что обеспечивает двустороннюю связь между RPi2 и сервером. Это похоже на использование SignalR, но проще и менее надежно.
  2. RPi отправляет данные датчиков в облако по мере их получения.
  3. Сервер сообщает контроллеру полива, чтобы включить или выключить спринклерные клапаны.

Сила этого подхода заключается в том, что сервер может выполнять сложное планирование или логику, например просматривать прогнозы погоды или соблюдать местные постановления (например, полив в четный / нечетный день). Он также позволяет удаленно управлять множеством разных мест с помощью единого веб-интерфейса. Обратной стороной является то, что спринклеры не будут работать, если подключение к Интернету не будет работать должным образом.

Шаг 4:будущее

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

Источник:Контроллер полива Win10 IOT с датчиками влажности


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

  1. Базовый IoT - RaspberryPI HDC2010 как
  2. Измерение температуры с помощью однопроводного датчика DS18B20 и Raspberry Pi
  3. Датчик отслеживания линии с RPi
  4. API датчика окружающей среды с RPi
  5. Датчик влажности почвы Raspberry Pi
  6. Создайте свой первый IOT с помощью Raspberry Pi, датчика DHT11 и Thingspeak.
  7. Windows 10 IoT Core и SHT15
  8. GoPiGo v2 с Windows IoT
  9. Улучшение мониторинга загрязнения воздуха с помощью датчиков Интернета вещей
  10. Миниатюризация Интернета вещей порождает миниатюрные датчики горючих газов