Код на python для контроллера на linux
102 USDДобрый день, необходимо написать логику отопления для контроллера Умного Дома на 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.
-
Current freelance projects in the category Embedded Systems & Microcontrollers
Software development for Arduino (RF modules 3–7.5 GHz, automatic frequency scanning)It is necessary to develop a system on Arduino for the automatic search of active analog video signals and the automatic tuning of the transmitter to the detected frequency.It is planned to use three separate transceiver modules: 3000–4200 MHz; 4900–6000 MHz; 6100–7500… C & C++, Embedded Systems & Microcontrollers ∙ 18 hours 8 minutes back ∙ 4 proposals |
Development of an intelligent control system for an oil refinery
5809 USD
We are looking for an experienced team or specialists to implement an industrial AI platform for monitoring and managing oil production (sunflower, cold and hot pressing). Stack and technologies: Beckhoff TwinCAT 3 (Structured Text) · Python 3.11 · Node-RED · InfluxDB 2 ·… AI & Machine Learning, Embedded Systems & Microcontrollers ∙ 1 day 9 hours back ∙ 25 proposals |
Reprogramming of an automatic industrial press
113 USD
Describing the operating principle in effect, as well as the changes that need to be made Please suggest prices Operating principle of the equipmentThe equipment consists of three main units that operate synchronously:stepper motor feeder (feeder);die for punching… Embedded Systems & Microcontrollers, Engineering ∙ 6 days 16 hours back ∙ 4 proposals |
Writing code for ArduinoIt is necessary to develop software for a weight dispenser based on Arduino Uno. Components: Arduino Uno R3 HX711 + load cell LCD1602 I2C display MAX7219 LED matrix 8x32 5 control buttons 4-channel relay 2 signal lamps Coarse dosing vibrator Precise dosing vibrator Operation… C & C++, Embedded Systems & Microcontrollers ∙ 13 days 16 hours back ∙ 15 proposals |