Код на python для контроллера на linux
410 PLNДобрый день, необходимо написать логику отопления для контроллера Умного Дома на 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.
-
Aktualne zlecenia dla freelancerów w kategorii Python
Stworzenie Human AI Assistant dla grup Telegram### 1.1. Kluczowa koncepcja systemuSystem powinien pełnić dwie główne funkcje:#### 1. Analiza komunikacji z klientemAsystent AI ma automatycznie analizować całą komunikację w grupach Telegram i rozumieć kontekst rozmowy.W szczególności system powinien:- określać istotę zapytania… AI i uczenie maszynowe, Python ∙ 23 godziny 35 minut temu ∙ 36 ofert |
Czarna Ukraina (projekt RP na bazie MTA)
4237 PLN
|
Automatyzacja wysyłania wiadomości w czatach TelegramTrzeba wysyłać wiadomości do czatów na Telegramie. Aby uniknąć banów. Czatów jest kilka setek. Aby ustawiać częstotliwość i zmienność tekstów. Python, Tworzenie chatbota ∙ 1 dzień temu ∙ 30 ofert |
Rozwój oprogramowania z AIPotrzebne jest opracowanie oprogramowania do automatycznego wykrywania, śledzenia i towarzyszenia obiektowi za pomocą kamery wideo i mechanizmu obrotowego.Dane wyjściowe: Kamera wideo z optyką. Urządzenie obrotowe w dwóch osiach (azymut/kąt elewacji). Serwomotory z kontrolą… AI i uczenie maszynowe, Python ∙ 2 dni 7 godzin temu ∙ 17 ofert |
Automatyzacja procesów przez API i PythonaPoniżej opisałem aktualny proces i to, do jakiego wyniku chciałbym dojść. Dołączam również pliki rzeczywistego procesu, aby lepiej zrozumieć, jak on wygląda w rzeczywistości Aktualny proces Obecnie cały proces wykonywany jest ręcznie: ładowanie/wyładowanie plików,… AI i uczenie maszynowe, Python ∙ 2 dni 12 godzin temu ∙ 44 oferty |