Co prawda czujnik zmierzchu chodzi mi po głowie i pewnie będzie zainstalowany, ale jest chyba możliwość w module ethernet wysyłania ramki o określonej porze. Działałoby to idealnie oprócz dni pochmurnych oczywiście. Z czasem zmieniałoby się tylko godzinę wysyłania wiadomości do CAN.
Np. codziennie 20:00 - instrukcja zmierzch
codziennie 5:30 - instrukcja świt
Pytanie jak wpisać tą instrukcję, zamiast domyślnych =FF =FF ... ? Czy musi być zachowany jakiś format?
Ramka wysyłana przez moduł ethernetowy może mieć dowolne wartości z dwoma zastrzeżeniami:
1. musi być niepowtarzalna, czyli różna od istniejących już w sieci (np ramek modułu przycisk lub przekaźnika)
2. aby każdy moduł ją odebrał, nie może być ramką odpowiedzi, czyli bit odpowiedzi musi być ustawiony na '0' np.
o godzinie 6:00 wyślij FF F0 FF FF FF FF FF FF FF FF FF 01 - świt
o godzinie 21:00 wyślij FF F0 FF FF FF FF FF FF FF FF FF 02 - zmierzch
Następnie w każdym module, który ma reagować na tę informację należny ustawić odpowiednią instrukcję np
zablokuj boks 1 gdy odbierzesz =FF =F0 =FF =FF =FF =FF =FF =FF =FF =FF =FF =01 (świt)
odblokuj boks 1 gdy odbierzesz =FF =F0 =FF =FF =FF =FF =FF =FF =FF =FF =FF =02 (zmierzch)
W ten sposób instrukcja zapisana w boksie 1 nie będzie wykonywana od świtu do zmierzchu
tylko to jest zablokowanie wykonywania jakiejś instrukcji np. z przycisku, że nie będzie on działał od świtu do zmierzchu,
a czy da się zrobić coś na wzór Schedulera, że moduł Eth, wyśle o 22:00
np. FF F0 FF FF FF FF FF FF FF FF FF 02
i na tą komendę zareaguje przekaźnik załączając światło zew. i moduł rolet opuszczając je,
natomiast
nad ranem zostanie wysłana ramka
np. FF F0 FF FF FF FF FF FF FF FF FF 01
i przekaźnik zgasi światło zew. i rolety się podniosą
choć w sumie sam sobie odpowiem bo oczywiście da się
moduł Eth wysyła co minutę ramkę z czasem:
300 0 02 02 ff16060601183000 Module-0202 data: 160606 zegar: 1830 dzientyg-01
więc wystarczy ustawić, żeby przekaźnik reagował na:
=30 =00 =02 =02 =FF x00 x00 x00 x00 =22 =00 x00
i o 22:00 wykona jakąś instrukcję
Ja mam w ten sposób w zimie włączane światło z rana jak trzeba wstawać, chwilę przed budzikiem - właśnie od strony modułu, a eth co minutę spamuje aktualną godziną.
Ale co innego włączanie światła jak trzeba wstawać, bo jest to raczej stała godzina, a co innego zapalanie na wieczór światła zewnętrznego i sterowanie rolet czy jeszcze paru innych rzeczy. Okresowo np. raz w tygodniu - jak dzień się wydłuża czy skraca - zmieniasz tylko w jednym module ethernet czas wysyłania ramki "świt" i zmierzch, a nie robisz zmian w kilku innych modułach. Moim zdaniem rozwiązanie bardzo przydatne.
djsuszi wrote:tylko to jest zablokowanie wykonywania jakiejś instrukcji np. z przycisku, że nie będzie on działał od świtu do zmierzchu,
a czy da się zrobić coś na wzór Schedulera, że moduł Eth, wyśle o 22:00...
Przykład kóry podałem dotyczy wysyłania ramek świt/zmierzch przez moduł ethernetowy. Jeśli chcesz sterować nimi moduł przekaźnika to w przekaźniku należy ustawić: wyłacz przekaźnik 1 gdy odbierzesz =FF =F0 =FF =FF =FF =FF =FF =FF =FF =FF =FF =01 (świt)
włacz przekaźnik 1 gdy odbierzesz =FF =F0 =FF =FF =FF =FF =FF =FF =FF =FF =FF =02 (zmierzch)
Zaletą talkiego sterowania, a nie sterowania przez ramkę czasu, jest to, że zmianę czasu zmierzchu/świtu wykonuję się tylko w jednym miejscu - interfejsie ethernetowym.
Zgadza się. A czy nie rozważałeś zaprzęgnięcie do tego zewnętrznego komputera, na którym stoi jakiś system do automatyki? Wtedy odpada Ci w ogóle programowanie tego raz w tygodniu, bo wierz mi, po 3 tygodniach konieczność przeprogramowywania nawet tego jednego modułu Ci się znudzi. Aplikacje do automatyki wiedzą doskonale kiedy w danej strefie czasowej jest ranek a kiedy zmierzch i na tej podstawie możesz nie tyle wysyłać jakieś własne ramki, co po prostu bezpośrednio sterować modułami hapcana.
Automatykę powinno się stosować po to, aby zautomatyzować rzeczy powtarzalne, nie po to, żeby co chwilę grzebać w programie, no bo co to za sługa w domu, którego trzeba co chwilę poprawiać - taka moja opinia.
Mylne wrażenie. Jestem wielkim fanem Hapcana ale szkoda, że Jacek nie ma czasu na jego rozwój, bo chętnie ujrzałbym nowe moduły, chociażby wejścia analogowe. Powoli przymierzam się do dalszej rozbudowy mojego małego systemu. Są natomiast pewne rzeczy, które łatwiej zaimplementować poza nim i łatwiej je potem utrzymywać.
Panowie, miałem wrażenie, że zabawa ma polegać właśnie na zmianie czasów zmierzchu/świtu. Jeśli nie, to zastosowałbym do tego czujnik zmierzchowy lub lepiej zegar astronomiczny np http://www.fif.com.pl/produkt/24/309 podłączony do modułu przycisk.
Czy Hapcan (jako system) będzie współpracował z F&F który chyba też jest realizowany na CAN-ie ? Gdyby był taki zegar (o którym Jacek wspominał) z CAN-em i dodatkowo jakoś współpracował by z Hapcanem to by była bajka.
Ja na razie poradziłem sobie tak że na RPi mam skrypt obliczający astronomiczny wschód, południe i zachód słońca i wysyłający (przez skrypt w perlu) na magistrale informację typu, wschód, południe, zachód słońca. Odpowiednie moduły (np. rolety) to interpretują i to mi wystarcza, ale gdyby się dało zrobić to 100% bez PC to może bym w to poszedł, dlatego zastanawiam się jak by połączyć np. taki moduł F&F z CAN-em bez użycia IP ...