Od dnia 16.10.2024 zostały wyłączone stacjonarne numery telefonów. Zapraszamy do kontaktu pod numerem: 574 443 555.
Forum  eSterownik.pl  Biblioteka w Pythonie do obsługi sterownika Subskrybuj
Pierwsza stronaPoprzednia strona10 / 18Następna stronaOstatnia strona
2014-08-29 18:03
  uzi18 Posty: 765 Ostrzeżenie: 0
Bruliego, wiem ze troche OT. python nie jest dla mnie wiekszym problemem.
Zastanawiam sie za to czy nie zrobic w koncu swojego sterownika do pieca, widzac ze jest tu troszke chetnych do uruchomienia wlasnych roziwazan ..., mozna by stworzyc jakas nowa platforme sprzetowo - programowa.
Powiedzmy w postaci modulu zamiennego dla plytki bruliego. Tak jak widze to teraz to z tym wysylaniem zapytan do sterownika po ethernecie to jakas atrapa jest.
2014-08-31 14:34
  Stan Posty: 630 Ostrzeżenie: 0
Dokładnie tak, ale w temacie o TRK wyjaśniłem mój pogląd dlaczego uważam że puki co tak jest dobrze.
Do RPi łatwo jest dorobić końcówki wykonawcze tak więc po dopracowaniu oprogramowania droga jest otwarta.
2014-09-04 20:46
  uzi18 Posty: 765 Ostrzeżenie: 0
Dla chętnych zaktualizowana wersja pliku sterownik.py: wklejka
Udostępnione na 24h.

Może ktoś teraz przetestuje temat z przerwaniem połączenia w trakcie gdy jest uruchomiony podajnikiem/dmuchawa?
Widziałem że były z tym jakieś problemy?
2014-09-04 22:52
  Stan Posty: 630 Ostrzeżenie: 0
A co tam konkretnie poprawiłeś (zmieniłeś) ?
2014-09-04 23:41
  uzi18 Posty: 765 Ostrzeżenie: 0
Troszke oczyscilem:

diff --git a/sterownik.py b/sterownik.py
index 629565f..8c47674 100644
--- a/sterownik.py
+++ b/sterownik.py
@@ -23,10 +23,10 @@ from base64 import b64encode
 class sterownik:
       
        s_address = '127.0.0.';
-       s_port = 80;
        s_user = 'admin';
        s_password = 'admin';
        s_statusdata = None;
+        h = httplib2.Http()
 
        def __init__(self, address, user, password):
                """Konstruktor. Podajemy adres sterownika (adres ip), login i hasło"""
@@ -46,19 +46,14 @@ class sterownik:
                 254, 207,156, 173,58, 11, 88, 105,4, 53, 102, 87, 192, 241,162, 147,189, 140,223, 238,
                 121, 72, 27, 42, 193, 240,163, 146,5, 52, 103, 86, 120, 73, 26, 43, 188, 141,222, 239,
                 130, 179,224, 209,70, 119,36, 21, 59, 10, 89, 104,255, 206,157, 172];
+                self.h.add_credentials(self.s_user, self.s_password)
                
 
        def getStatus(self):
                """Pobiera status ze sterownika i zapamiętuje go"""
                try:
-                       #conn = httplib.HTTPConnection(self.s_address)
-                       #userAndPass = b64encode(self.s_user + ":" + self.s_password).decode("ascii")
-                       #headers = { 'Authorization' : 'Basic %s' %  userAndPass }
-                       #conn.request("GET","/?com=02010006000000006103", headers=headers)
-                       #res = conn.getresponse();
-                       h = httplib2.Http()
-                       h.add_credentials(self.s_user, self.s_password)
-                       res, content = h.request("http://" + self.s_address + "/?com=02010006000000006103", "GET", headers={'Connection': 'close'} )
+                       res, content = self.h.request("http://" + self.s_address + "/?com=02010006000000006103", "GET")
+                      
                        if (res.status == 200):
                                txt = str(content);
                                txt = txt[txt.index('[' + 1:txt.index(']']
@@ -76,15 +71,10 @@ class sterownik:
                       
        def _getRequest(self, req):
                try:
-                       h = httplib2.Http()
-                       h.add_credentials(self.s_user, self.s_password)
-                       res, content = h.request("http://" + self.s_address + "/?com=" + req, "GET" , headers={'Connection': 'close'})
+                       #h = httplib2.Http()
+                       #h.add_credentials(self.s_user, self.s_password)
+                       res, content = self.h.request("http://" + self.s_address + "/?com=" + req, "GET")
                       
-                       #conn = httplib.HTTPConnection(self.s_address)
-                       #userAndPass = b64encode(self.s_user + ":" + self.s_password).decode("ascii")
-                       #headers = { 'Authorization' : 'Basic %s' %  userAndPass }
-                       #conn.request("GET","/?com=" + req, headers=headers)
-                       #res = conn.getresponse();
                        if (res.status == 200):
                                return ("Ok");
                        else:

2014-09-14 23:13
  zagata Posty: 2 Ostrzeżenie: 0
Proszę o dodanie do Biblioteki funkcji do odczytu czasu pracy podajnika.
2014-09-15 16:29
  uzi18 Posty: 765 Ostrzeżenie: 0
trzeba to wkleic na koncu pliku sterownik.py wynikiem jest czas w minutach (jesli ma byc w sekundach to trzeba skasowac "/60.0"):

        def getCzasPodajnika(self):
                if (bool(self.s_statusdata)):
                        return (self.s_statusdata[65] << 8 | self.s_statusdata[64]) / 60.0;



dodane 2014-09-15 14:29Dla zainteresowanych update wklejka

dodane metody:
getCzasPodajnika() - zwraca ilosc minut pracy podajnika
setTrybAuto(x) - ustawia tryb auto/manual , x = True lub False
setIleProb(x) - podajemy ile razy probowac laczyc sie ze sterownikiem, x = ilosc (domyslnie 20)

dodane funkcjonalnosci:
kilukrotne laczenie sie do sterownika na wypadek bledu polaczenia lub braku poprawnej odpowiedzi sterownika

skrypt nalezy podmienic z oryginalnym - wklejka wazna 7 dni.
zapraszam do testow

VERB: mozesz podeslac mi swoj skrypt do testow?
2014-09-23 18:14
  konto usunięte Posty: 7174 Ostrzeżenie: 0
I ch bombki strzelił... wywala "odczyt statusu się nie powiódł, praca przerwana".
Nie da się używać po letnim postoju.
Po jakiego diabła ES w ogóle udostępniało jakieś narzędzia, których nie ma zamiaru poprawiać  ?
Czas na przesiadkę.
2014-09-24 23:21
  zagata Posty: 2 Ostrzeżenie: 0
uzi18, dzięki, działa!
2014-09-25 02:04
  uzi18 Posty: 765 Ostrzeżenie: 0
Jakby cos jeszcze bylo potrzebne to daj znac poszukamy zobaczymy ...

dodane 2014-09-25 00:04VERB: zainwestuj w RPi na poczatek i polacz sie go ze sterownikiem adapterem RS232 - USB.
Najstabilniejsze polaczenie jest przez biblioteke DarekB. Moze warto je polaczyc i rownolegle rozwijac.
Teoretycznie roznia sie tylko sposobem polaczenia i rodzajem zapytan.
2014-09-25 08:14
  konto usunięte Posty: 7174 Ostrzeżenie: 0
uzi18 napisał » 2014-09-25 00:04
Najstabilniejsze polaczenie jest przez biblioteke DarekB.
Używam, a raczej używałem..
Nad RPI się zastanawiam, Stan ma poskładać do kupy coś samodzielnego.
Jak mi wcześniej bezpiecznik strzeli, kupię inny, dobry, ciągle rozwijany ster.
2014-09-25 11:13
  uzi18 Posty: 765 Ostrzeżenie: 0
Z Twoja pomocą mozemy cos dzialac. Wpierw dopracujemy sprawe tandemu RPi i sterownika
aktualnego, a równolegle bede szykował cos na boku sprzetowego.
Cos na zasadzie modulu do Arduino aby bylo mozliwie proste, tanie i z przyszloscia.
Plytka procka kosztuje ok 70 zl, modul ethernet z portem na karte mikro SD 35 zl.
Pozniej przepisze sie sterownik.py aby obslugiwal nowy sprzet i wszystko bedzie grać bez ograniczeń jakie mamy teraz.
2014-09-25 14:58
  konto usunięte Posty: 7174 Ostrzeżenie: 0
Ja się na sprzęcie nie znam.
Z algorytmem auto trza dać spokój, bo tak naprawdę nikogo to nie interesuje poza kilkoma zapaleńcami.
A może wypłynie "samo" bo ktoś "myślał" i "wymyślił" ?

Przy okazji pytanie do ES: dlaczego nie mogę usunąć konta ? Przeprowadziłem kilka prób i jedynie ster wyleciał.
Proszę o usunięcie konta z forum, wraz z wpisami - tyle chyba możecie dla mnie zrobić.

added 2014-09-25 12:58Jeszcze na koniec kawałek loga - temp min. 54,5 / zadana 55.0 / max 57 / moc w kagańcu 50-80%.
Parametry auto "x". Kto kumaty, niech sobie działa.

Moc: 80%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:22:29 2014. CO: 53.9°C.  CWU: 52.6°C.  Spaliny: 112.7°C. - Praca.
Moc: 80%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:23:42 2014. CO: 54.2°C.  CWU: 52.6°C.  Spaliny: 113.7°C. - Praca.
Moc: 80%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:24:55 2014. CO: 54.2°C.  CWU: 52.6°C.  Spaliny: 114.6°C. - Praca.
Moc: 80%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:26:08 2014. CO: 54.5°C.  CWU: 52.5°C.  Spaliny: 114.9°C. - Praca.
Moc: 80%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:27:21 2014. CO: 54.5°C.  CWU: 52.5°C.  Spaliny: 114.7°C. - Praca.
Moc: 50%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:28:34 2014. CO: 54.9°C.  CWU: 52.5°C.  Spaliny: 114.2°C. - Praca.
Moc: 60%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:29:35 2014. CO: 54.9°C.  CWU: 52.5°C.  Spaliny: 113.4°C. - Praca.
Moc: 70%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:30:41 2014. CO: 54.9°C.  CWU: 52.5°C.  Spaliny: 110.2°C. - Praca.
Moc: 50%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:31:50 2014. CO: 55.1°C.  CWU: 52.5°C.  Spaliny: 108.3°C. - Praca.
Moc: 50%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:32:51 2014. CO: 55.3°C.  CWU: 52.5°C.  Spaliny: 107.7°C. - Praca.
Moc: 50%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:33:52 2014. CO: 55.4°C.  CWU: 52.5°C.  Spaliny: 106.2°C. - Praca.
Moc: 50%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:34:53 2014. CO: 55.4°C.  CWU: 52.5°C.  Spaliny: 105.0°C. - Praca.
Moc: 50%
czasPraca: x, dmuchawaMoc: x%, przedmuchPlus: x
Thu Sep 25 12:35:54 2014. CO: 55.4°C.  CWU: 52.5°C.  Spaliny: 104.3°C. - Praca.
2014-09-25 21:45
  mark3k Posty: 383 Ostrzeżenie: 0
Rozumiem Twoje rozczarowanie brakiem zainteresowania wrzucenia dobrego algorytmu do sterownika przez ES. Gotowca podanego na tacy jak sądzę.
Sterowanie przez RPi czy cokolwiek innego ( u mnie router) zawsze będzie protezą.
Wrzucenie lepszego algorytmu sterowania procesem spalania węgla w "starym" nie rozwojowym sterze nie jest w strefie zainteresowania ES. Bo kto kupi nowy wynalazek za kilka klocków.
Nie rezygnuj jednak, bo może coś wspólnie wymyślimy.
Pozdrawiam.
Ps: logi które zapodałeś sugerują bardzo poprawne sterowanie spalaniem w kociołku. Gratuluję.
Ja już także powoli skłaniam się do zakupu SPP. A może stanie się CUD ???
2014-09-25 22:23
  seba Posty: 354 Ostrzeżenie: 0 ELEKTRO-SYSTEM
VERB nie rozumiem Twojego rozgoryczenia. Zaprosiliśmy Was na spotkanie - testy, które miało potwierdzić działanie algorytmu - niestety nic z tego nie wyszło. Wspólnie ustaliliśmy, że przyjedziecie raz jeszcze. Niestety do kolejnego spotkania nie doszło. 
Zaproszenie nadal jest aktualne. Jeśli tylko macie czas i ochotę zapraszam. Podtrzymuję również wcześniejsze ustalenia co do wprowadzenia działającego algorytmu do oficjalnej wersji softu. Będziecie widnieć jako autorzy algorytmu na stronie www oraz w instrukcji obsługi.
2014-09-25 23:32
  uzi18 Posty: 765 Ostrzeżenie: 0
seba: czemu w trybie manualnym załącza się pompka CO? Jaki jest warunek do tego?
Myślałem, że w trybie manualnym, nic się samo nie dzieje.

2014-09-26 01:21
  elezibi Posty: 51 Ostrzeżenie: 0
uzi18 napisał » 2014-09-25 21:32
seba: czemu w trybie manualnym załącza się pompka CO? Jaki jest warunek do tego?
Myślałem, że w trybie manualnym, nic się samo nie dzieje.

nie miałeś więcej niź 60 na kogle?


2014-09-26 01:28
  uzi18 Posty: 765 Ostrzeżenie: 0
Moze i mialem, a to nie mozna miec 60 stopni na kotle?
Przykladowo nastawa CO 55, na kotle 60, wiec po co sie pompka sama wlacza?
Tryb Lato w dodatku.

... o CWU tak samo ...

Ok teraz jest jasne ze pompy sa i tak sterowane automatycznie ze sterownika,
wiec cała ta zabawa z pythonem o kant ... skoro nie mozna miec wladzy nad wszystkim.
2014-09-26 08:25
  konto usunięte Posty: 7174 Ostrzeżenie: 0
seba napisał » 2014-09-25 20:23
VERB nie rozumiem Twojego rozgoryczenia. Zaprosiliśmy Was na spotkanie - testy, które miało potwierdzić działanie algorytmu - niestety nic z tego nie wyszło.
Rozgoryczony jestem brakiem obiecanego wsparcia dla pythona. Algorytm działa, ale mam wątpliwości co do poprawnego działania w całym zakresie mocy - potrzeba auto-kalibracji, podobnie jak zrobili
ście w grupowym. Niestety podpięcie trendów w pętli jest pozbawione sensu, a threading i multiprocessing nie działają.
Wreszcie mam trochę czasu, i sprzyjające testom warunki - mógłbym spokojnie testować, ale pojawiły się kłopoty z komunikacją - trzeba siedzieć przy kompie, i obserwować, a aż tyle czasu nie mam.
seba napisał » 2014-09-25 20:23
Wspólnie ustaliliśmy, że przyjedziecie raz jeszcze. Niestety do kolejnego spotkania nie doszło.
Żyję z pracy najemnej, dość specyficznej - nie mogę odmówić pracy na okrągło, jeśli pracodawca tak sobie zażyczy.
seba napisał » 2014-09-25 20:23
Zaproszenie nadal jest aktualne. Jeśli tylko macie czas i ochotę zapraszam.
Pogadam z Rajmundem. Ale nie chcielibyśmy niespodzianek jak za pierwszym razem
- kocioł ma być taki, jaki klient kupuje do domu.
seba napisał » 2014-09-25 20:23
Podtrzymuję również wcześniejsze ustalenia co do wprowadzenia działającego algorytmu do oficjalnej wersji softu.
Zima zweryfikuje, czy pomysł miałem dobry czy nie.
seba napisał » 2014-09-25 20:23
Będziecie widnieć jako autorzy algorytmu na stronie www oraz w instrukcji obsługi.
To akurat jest najmniej ważne, i mogłoby być kłopotliwe.
2014-09-26 11:07
  kowal Posty: 14 Ostrzeżenie: 0 ELEKTRO-SYSTEM
uzi18 napisał » 2014-09-25 21:32
seba: czemu w trybie manualnym załącza się pompka CO? Jaki jest warunek do tego?
Myślałem, że w trybie manualnym, nic się samo nie dzieje.



W trybie ręcznym jak pojawi się temp powyżej 60stC to załączane są pompy aby rozładować nadmiar ciepła.
Spowodowane jest to sygnałami że użytkownicy rozpalają w ręcznym i zapominają przełączyć w auto
Pierwsza stronaPoprzednia strona10 / 18Następna stronaOstatnia strona
Użytkownicy online: baker, Gaz-tech, kotel1111, Sahryn66