Код на python для контроллера на linux
4245 UAHДобрый день, необходимо написать логику отопления для контроллера Умного Дома на python по ТЗ.
Контроллер от компании Wirenboard https://wirenboard.com/ru/
К контроллеру подключены исполнительные устройства: релешки, датчики и т.д, общение с которыми происходит по MQTT каналу.
Для работы с mqtt можно использовать wbmqtt.py от производителя https://github.com/wirenboard/wb-common
Необходимо написать код на python и настроить работу через wbmqtt.py
Второстепенные задачи решим самостоятельно, разбираться в них не нужно.
Это только часть работ, поэтому бюджет частичный. Главное разобраться в самом начале, далее просто пишем логики
Для пользователя
Создаются комнаты:
- Гостиная
- Кухня
- Туалет
К этим группам привязываются отопительные приборы и кондиционеры.
Доп. требования
Для задачи нужно грамотно выстроить архитектуру кода.
Главное, чтобы при усложнении логики отопления (например, решили добавить кондиционер или контур отопления), не пришлось менять уже имеющийся кусок кода отопительных приборов.
Код должен быть максимально гибким для масштабирования
Логика отопления
t°1 – температура в помещении 1
t°п1 – температура пола в помещении 1
t1 – комфортная температура в помещении 1
tп – комфортная температура пола
t°п(min) – минимальная температура пола
Поддержание t°
Задаем t1, tп
Если t°1 < t1-1, включить обогрев (1, 2, 3, 4 реле)
Если t°1 > t1+1, выключить обогрев (1, 2, 3, 4 реле)
Функция комфортный пол
Если t°п(min) < tп, включить обогрев пола (1, 2, 3 реле)
Логика кондиционера
t°1 – температура в помещении 1
t1 – комфортная температура в помещении 1
t°ул – температура на улице
tул – температура отключения кондиционера
Обработчик кондиционера wb-mir
Здесь расписываем взаимодействие модуля управления кондиционером с самим кондиционером.
- Отправка ИК команд
- Проверка вкл/выкл кондиционера с помощью значений температур
Данная логика реализована на javascript, нужно перевести на python
Суть логики, модуль управления имитирует нажатия пульта кондиционера. В модуле ограниченное количество команд, поэтому мы решили выстроить вот так:
1. Включение на 16 (для t1 17-19), ROM1
2. Включение на 20 (для t1 20-22), ROM2
3. Включение на 23 (для t1 23-25), ROM3
4. Включение на 26 (для t1 26-28), ROM4
5. Включение на 29 (для t1 29-30), ROM5
6. ВЫКЛЮЧЕНИЕ кондиционера, ROM6
Поддержание t°
Если t°1 < t1-1, выключить кондиционер
Если t°1 > t1+1, включить кондиционер
Не знаю нужно ли отдельно прописывать, чтобы кондиционер отключался при включенном отоплении (кроме функции комфортный пол)
Проверка зима-лето
Если t°ул < tул, кондер выключается и не включается
Проверка открытые окна
При открытии окон дома, кондер выключается и не должен включаться. Что-то по типу force shutdown
Проверка никого нет дома
При установке режима никого нет дома, кондер выключается и не должен включаться. Что-то по типу force shutdown
-
459 10 1 1 Здравствуйте! Я занимаюсь разработкой электроники для управления сельхозтехникой. Работаю с контроллерами типа avr, stm, esp, rpi.
программы для контроллеров пишу на C/C++, Micropython
GUI для управления и мониторинга Python, C++
Android для управления и мониторинга на Java
Ваша задача очень специфична но имеет свои плюсы, даже имея ввиду что есть уже готовые реализации.
Задача сложная и требует уточнения всех деталей. То что написано в заголовке не поясняет даже 1%
В любом случае можем продолжить обсуждение
-
То, что Вы хотите это сложная,долгая и дорогая задача. Воспользуйтесь готовым решением - home assistant.
-
homeassistant скорее всего не позволит создать настолько утонченное решение. Интерфейс пользователя есть, с ним нет проблем. Нужно всего лишь создать скрипты, отображаться все будет в уже реализованных дашбордах, которые ловят все данные по mqtt
-
Дело в том, что отопление это не большая часть в автоматизации дома Эта проблема шире. Вы изначально делаете задачу узкой и ограниченной. В результате пользователи, которые захотят автоматизацию не выберут Ваше решение, потому, что оно ограничено.
-
Да, именно так. Здесь представлена только малая часть автоматизации. С большинством устройств мы уже умеем работать: шторы, освещение, тот же самый климат контроль на минималках и т.д.
Осталось только реализовать крайне специфичные алгоритмы, и те, которые требуют привлечение специалистов
-
Ок. Ваше право. Скажу только из собственного опыта эксплуатации автоматизированной системы управления домом - после того, как я настроил все через Home assistant, я не смотрю на графики и интерфейс. Оно просто работает. И так большинство пользователей. Недавно подключил робот пылесос и переключение на отопление от солнечных батарей, когда есть избыток накопленной электроэнергии. И все, что мне потребовалось уже было в Home assistant.
-
Актуальные фриланс-проекты в категории Python
Создание Human AI Assistant для Telegram-групп### 1.1. Ключевая концепция системы Система должна выполнять две основные функции: #### 1. Анализ клиентской коммуникации AI-ассистент должен автоматически анализировать всю коммуникацию в Telegram-группах и понимать контекст общения. В частности, система должна: -… AI и машинное обучение, Python ∙ 17 часов 9 минут назад ∙ 34 ставки |
Чёрная Украина (RP-проект на базе MTA)
51 525 UAH
|
Betting нужно сделать букмекерскую контору! С ОПЫТОМНужно разработать betting-платформу / букмекерский продукт на базе готового шаблона. Основная задача — адаптировать шаблон под полноценную букмекерскую контору: подключить парсинг спортивных событий и коэффициентов, реализовать личный кабинет пользователя, баланс, ставки,… Python, Веб-программирование ∙ 17 часов 51 минута назад ∙ 32 ставки |
Telegram автоматизация рассылки сообщений в чатыНужно рассылать в телеграмм чаты сообщения. Что бы не было банов. Чатов несколько сотен. Что бы настраивать перодичность и вариативность текстов. Python, Разработка ботов ∙ 18 часов 2 минуты назад ∙ 28 ставок |
Разработка программного обеспечения с ИИНеобходимо разработать программное обеспечение для автоматического обнаружения, захвата и сопровождения объекта с помощью видеокамеры и поворотного механизма.Исходные данные: Видеокамера с оптикой. Поворотное устройство по двум осям (азимут/угол места). Сервоприводы с… AI и машинное обучение, Python ∙ 2 дня 1 час назад ∙ 17 ставок |