Termostat by Duch__

User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

10.png
Witam.

Dzisiaj prezentuje moją wersję termostatu ;)
Uwaga. Kod nie działa w żadnym stopniu z serwerem SUPLA.

Zarządzanie tylko z poziomu przeglądarki.
Przystosowany do modułu YUNSHAN.
Normalna praca sygnalizowana jest 1 szybkim mignięciem LED, a następnie sekunda przerwy.
Tryb konfiguracyjny sygnalizowany jest 3 szybkimi mignięciami LED, a następnie sekunda przerwy.
Łącznie z WIFI sygnalizowane jest świeceniem LED w trybie 0.5s / 0.5s.
Wejście w tryb konfiguracyjny w czasie uruchamiania układu (szybkie miganie LED przez około 10 sekund) poprzez zwarcie GPIO 0 do masy.
Wejście w tryb konfiguracyjny w czasie normalej pracy układu poprzez zwarcie GPIO 0 do masy.

Automatyczne wyjście z trybu konfiguracji po około 180 sekundach niezależnie od tego czy zostały wprowadzone zmiany czy nie.
Dane na stronie WWW odnośnie parametrów pracy urządzenia aktualizowane są na bierząco dzięki poleceniom AJAX bez konieczności odświeżania strony.
Harmonogram temperatury dla poszczególnych godzin dla dni roboczych z dokładnością do 0.01*C
Harmonogram temperatury dla poszczególnych godzin dla weekendów z dokładnością do 0.01*C
Histereza ustawiana w zakresie od 0 do 2*C z dokładnością do 0.01*C
Ustawianie temp. minimalnej CO z dokładnością do 0.01*C. Grzanie jest uruchamiane jeśli temp. czynnika CO spadnie poniżej wartości zadanej.
Ustawianie temp. maksymalnej CO z dokładnością do 0.01*C. Grzanie jest wyłączane natychmiast jeśli temp. czynnika CO przekroczy zadany próg.
Aktualizacja daty i godziny z NTP.
Tryb urlopowy z zadaną datą (dzień-miesiąc-rok) ponownego uruchomienia pieca i temperaturą utrzymania w czasie urlopu. Kasowanie trybu urlopowego o godzinie 0:00:00.
Możliwość wyłączenia wyświetlania do kiedy jest urlop (w trybie konfiguracyjnym).
Ręczne wyłącznie trybu urlopowego po wpisaniu 0-0-0 lub poprzez reset urządzenia.
Blokada grzania. Ta funkcja całkowicie wyłącza przekaźnik (może to zrobić po czasie do 180 sekund). Układ nie reaguje na żadne zmiany temperatury. Uwaga!!! W tym trybie nie działa żadne zabezpiecznie ANTYZAMARZANIOWE.
Tryb urlopowy nie zapisuje się do eeprom. Po restarcie urządzenia wraca do normalnego harmonogramu.
Wymagany kod PIN do zatwierdzenia wielu funkcji jako dodatkowe zabezpieczenie przed nieautoryzowanym dostępem. Kod pin ustawia się w trybie konfiguracyjnym.
Pobieranie danych odnośnie temperatury z serwera JSON (program wymaga przerobienia na DS18b20).
Ograniczenie czasowe kliknięć przekaźnika (domyślnie 180 sekund) względem poprzedniego kliknięcia - ustawiane w kodzie.
Zdalna aktualizacja oprogramowania z poziomu przeglądaraki
Ustawienie minimalnej i maksymalnej temperatury w przeglądarce np. 15 i 27. Jeśli wprowadzone wartości będą spoza tego przedziału to urządzenie ich nie zapisze - ustawiane w kodzie. Jest to zabezpiecznie przed nieautoryzowanym wgraniem ustawień.
Login: "admin" - ustawiane w kodzie.
Hasło: "temperatura" - ustawiane w kodzie.

Uwaga. Piec musi mieć możliwość zdalnego sterowania poprzez zwarcie styków bezpotencjałowych za pomocą przekaźnika.

Widok w trybie urlopu:
1.png
Widok w trybie blokady:
7.png
You do not have the required permissions to view the files attached to this post.
Last edited by Duch__ on Sat Nov 07, 2020 6:29 pm, edited 2 times in total.
User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

Ustawianie temperatur dla dni roboczych:
2.png
Ustawianie temperatur dla wolnych:
3.png
Ustawianie daty urlopu:
4.png
You do not have the required permissions to view the files attached to this post.
Last edited by Duch__ on Sat Nov 07, 2020 6:24 pm, edited 1 time in total.
User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

Ustawianie Histerezy, minimalnej i maksymalnej temperatury CO, oraz ewentualnej blokady grzania (1-ON, 2-OFF).
5.png
Strona aktualizacji z adresem MAC i RSSI
6.png
Strona konfiguracyjna z SSID, Hasłem, kodem PIN, znacznikiem wyświetlania do kiedy urlop i wgraniem ustawień fabrycznych (bez SSID, hasła i kodu PIN).
9.png
You do not have the required permissions to view the files attached to this post.
Last edited by Duch__ on Sat Nov 07, 2020 6:27 pm, edited 1 time in total.
User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

8.png
Kod źródłowy:
Termostat.7z
Zapraszam do testowania, modyfikacji i komentowania.
You do not have the required permissions to view the files attached to this post.
andras
Posts: 636
Joined: Fri Dec 30, 2016 5:51 pm
Has thanked: 2 times
Been thanked: 4 times

Post

Czy możesz napisać jak do tego wykorzystać czujniki temp z supli ?
User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

Trzeba by odpytywac serwer poprzez API, pytanie do @pzygmunt czy API wystawia JSON.
ibs
Posts: 13
Joined: Tue Jan 16, 2018 7:22 am

Post

andras wrote: Mon Nov 09, 2020 11:47 am Czy możesz napisać jak do tego wykorzystać czujniki temp z supli ?
Cześć, ja mam coś takiego odpalone na malince co mi odczytuje temperaturę z czujników supli i malinka bezpośrednio steruje piecem.

import sys
import requests
import json
import RPi.GPIO as GPIO


# read temperature from device 1
response_1 = requests.get('link bezpośredni z svrxx.supla.org')

temp = json.loads(response_1.text)["temperature"]
print temp

# read temperature and humidity from device 2 (taras)
response_2 = requests.get('link bezpośredni z svrxx.supla.org')

humid_2 = json.loads(response_2.text)["humidity"]
temp_2 = json.loads(response_2.text)["temperature"]

print temp_2
print humid_2

Return to “Projekty użytkowników”