Программирование газонного разбрызгивателя кажется сложнее, чем нужно? Есть решение на Netduino/Azure/WP7…

Грэг Дункан

Не знаю как вам, но мне иногда кажется, что программирование моего газонного разбрызгивателя – урок тщетности, и я, должно быть, довольно тупой, потому что его программирование не может быть настолько сложным, не правда ли?

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

Да, мы не делаем, но есть надежда. Существуют замечательные связанные системы, такие как Cyber Rain, но что в них прикольного? Было бы удивительно, если бы нельзя было построить систему, соединенную с облаком, основывающуюся на Netduino, которой можно было бы управлять c помощью Windows Phone 7!

Майк Линнен (Mike Linnen) сделал именно такую…

Введение в газонный разбрызгиватель. Часть 1

Новой идеей фикс домашней автоматизации стало использование технологии для реализации инициативы «Go Green». Одной из сторон этой инициативы является наиболее эффективное управление ресурсами. Я просмотрел ряд проектов других энтузиастов, которые управляли количеством потребляемого дома электричества или газа. В этом проекте я собираюсь управлять воды, используемом для полива лужайки. В первой части серии статей я собираюсь нарисовать общую картину того, что собираюсь сделать.

Требования

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

  • Поддержка до четырех зон полива.
  • Возможность вручную включить одну или более зон полива (максимум 4) и заставить их работать заданное время.
  • Возможность запланировать включение одной или более зон (максимум 4) в определенное время дня несколько раз в день.
  • Возможность запланировать включение одной или более зон (максимум 4) каждый понедельник, среду и пятницу в определенное время дня несколько раз в день.
  • Возможность запланировать включение одной или более зон (максимум 4) каждый вторник и четверг в определенное время дня несколько раз в день.
  • Возможность такого выключения системы, при котором зоны, включенные по плану или вручную, будут немедленно выключены и не включатся в запланированное время.
  • Возможность выполнения всех этих требований удаленно.
  • Не включать разбрызгиватель, если по прогнозу ожидается дождь (Go Green).
  • Не включать разбрызгиватель, если почва достаточно влажная (Go Green).
  • Возможность автоматически перевести часы при переходе на летнее время.

...

Разбрызгиватель

Я использую Netduino Plus в качестве микроконтроллера, управляющего моими разбрызгивающими головками. Я выбрал это устройство, так как для его программирования применяется .Net Micro framework и он имеет на борту контроллер Ethernet, с помощью которого можно легко подсоединиться к моей локальной сети. Можно легко использовать любое другое устройство для управления разбрызгивателями, если оно сможет управлять HTTP-сообщениями и имеет достаточно средств ввода-вывода для взаимодействия с остальным оборудованием.

Это устройство отвечает за следующее:

  • Следит за расписанием и включает разбрызгиватели
    • Четыре цифровых канала вывода
    • Встроенные часы для определения наступления времени полива
  • Следит за HTTP JSON-запросами, приходящими от Windows Phone
    • С этим прекрасно справляется бортовой Ethernet
  • Следит за HTTP JSON-запросами, приходящими от сервиса погоды, сообщающего о вероятности дождя
    • С этим прекрасно справляется бортовой Ethernet
  • Следит за HTTP JSON-запросами, приходящими от сервиса времени, сообщающего о необходимости перевода часов
    • С этим прекрасно справляется бортовой Ethernet
  • Спросить при включении сервис времени о правильном времени
    • С этим прекрасно справляется бортовой Ethernet
  • Слежение за кнопкой «Выключить» и организация цикла по режимам работы распылителя Выключить/Ручное управление/По плану
    • Один цифровой ввод
  • Желтый светодиод (LED) включается в режиме ручного управления
    • Один цифровой выход
  • Зеленый светодиод (LED) включается в режиме управления по плану
    • Один цифровой выход
  • Слежение за влажностью почвы (Замечание: я еще не изучил, как работают эти сенсоры, поэтому эта часть может измениться)
    • Один аналоговый ввод
  • Продолжение программ ручного управления и управления по плану, так чтобы переключение состояния не меняло программ

..."

Демонстрация газонного разбрызгивателя. Часть 2

Вот видео, которое демонстрирует, как работает система газонного разбрызгивателя.

Вот несколько снимков из документации.

clip_image002

clip_image004

clip_image006

clip_image008

И даже очень интересная и полная презентация

clip_image010

Наконец, снимок решения (Замечание. Вам потребуется бета-версия [я использовал RC1] .Net MicroFramework 4.2, которую можно скачать с https://netmf.codeplex.com).

clip_image012

Если вы интересовались, как сделать собственную подключенную систему полива газона, эти два сообщения станут отличным местом для начала работ.

Вот несколько ссылок, которые могут оказаться интересными: