Я недавно писал здесь статья О проект системы управления умным домом , в разработке которого я участвую.
Это служба .
NET Windows, которая может управлять домом с помощью сценариев и веб-интерфейса.
Это было как раз в октябре релиз версии 2.0 .
Весь функционал системы содержится в плагинах.
Если вам чего-то не хватает, вы можете легко писать свой собственный плагин, который будет взаимодействовать с необходимым оборудованием, интернет-сервисами или делать что-то еще.
Чтобы упростить написание собственных плагинов, я создал небольшой проект, который можно использовать в качестве примера.
Этот демонстрационный плагин собирает информацию с датчиков температуры/влажности nooLite и отображает полученную информацию в веб-интерфейсе.
Результат выглядит примерно так: график изменения температуры за последние два дня
текущая температура в помещениях (точнее, последние значения, полученные с датчиков)
Предлагаю вашему вниманию немного хардкорную статью о том, как писался этот плагин.
Там шаг за шагом объясняется процесс разработки собственного плагина для умного дома и приводятся ссылки на GitHub, где можно скачать готовый код и запустить его.
В этой статье вы узнаете, как создать шаблон плагина и запустить его в режиме отладки, как настроить автоматическое создание таблиц в базе данных системы и сохранять там данные.
И, наконец, вы узнаете, как получать информацию о температуре и влажности с датчиков (если это единственное, что вас интересует, то листайте прямиком до самого конца статьи).
Настройка среды и создание шаблона проекта
Итак, то, что мы пишем, это плагин для приложения — службы Windows. Соответственно, вам сначала необходимо развернуть на своем компьютере сервис, к которому будет подключаться наш плагин.Это очень легко сделать: просто скачайте установщик , запустите его и несколько раз нажмите «Далее».
Во время установки никаких параметров не запрашивается.
Сервис устанавливается в папку C:\Program Files (x86)\ThinkingHome\service .
Большой! Теперь давайте создадим пустой проект C# в Visual Studio. Библиотека классов , при создании выберите .
NET Framework 4.5 .
В принципе подойдет не только VS, но и любая другая IDE, например бесплатная Хамарин Студия (и, конечно же, вы можете воспользоваться бесплатным Визуальная Студия Экспресс ).
Теперь вам нужно добавить ссылку на библиотеку в проект. ThinkingHome.Core.Plugins , который содержит базовые классы для плагинов.
Самый простой способ сделать это — включить его через менеджер пакетов NuGet. Просто введите в консоли менеджера пакетов:
Дальше все просто: создаем класс МикроклиматПлагин , мы наследуем его от базового класса ThinkingHome.Core.Plugins.PluginBase и отметьте его атрибутом [ThinkingHome.Core.Plugins.PluginAttribute].Install-Package ThinkingHome.Core.Plugins
Класс PluginBase реализует базовый функционал плагина (подробнее об этом чуть позже), а атрибут нужен для подключения плагина к сервису через МЭФ .
Пытаемся скомпилировать проект и получаем ошибку.
Ага, забыли добавить в проект ссылку на библиотеку System.ComponentModel.Composition (эта библиотека входит в состав .
NET Framework и именно эта библиотека содержит реализацию MEF).
Добавили его, проект стал компилироваться без ошибок.
Теперь мы переопределяем методы базового класса, чтобы добавить в плагин собственную логику.
[Plugin]
public class MicroclimatePlugin : PluginBase
{
Теги: #Умный дом #.
NET #датчики #noolite #домашняя автоматизация #домашняя автоматизация
-
Решения Oracle Для Бизнес-Аналитики
19 Oct, 24 -
Онлайн-Запись: Можно Ли Заработать Деньги?
19 Oct, 24 -
Поиск Домена И Сетевой Менеджер
19 Oct, 24 -
Рунет На Радио, Гл. Я
19 Oct, 24 -
Какого Цвета Луна?
19 Oct, 24