Skocz do zawartości

Rozszerzenie GPIO i domoticz


bplukaszbp

Pomocna odpowiedź

Witam,

W sieci jest dużo instrukcji jak sterować przekaźnikiem, do załóżmy włączania lampki za pomocą domoticza i rzeczywiście po konfiguracji działa . Ja mam następujące pytanie, jak do tego wszystkiego dodać przełącznik dzwonkowy? Nie wiem jak ustawić pin GPIO w domoticzu jako wejście i spiąć tego w programie tak, żeby można było przełącznik włączać zarówno przełącznikiem dzwonkowym jak i zdalnie domoticzem.
Dodam, że chcę wykorzystać raspberry do sterowania oświetleniem w domu i tutaj rodzi się kolejne pytanie. W raspberry jest zbyt mało pinów GPIO, żebym mógł je wykorzystać je jako wejścia i wyjścia dla tegoż oświetlenia. Czy do rozwiązania tego problemu wystarczy kupić rozszerzenie zewnętrzne pinów GPIO i będzie możliwość konfiguracji tego, tak żeby w domoticzu te piny były również widoczne, czy muszę to wszystko spiąć np. pod arduinono mega(tutaj pinów starczyło i na tym aktualnie działa sterowanie) i połączyć je z raspberry za pomocą mysensors? Dodam, że wolałbym pominąć arduino całkowicie, jeżeli byłoby to możliwe... Z góry dziękuję za pomoc.

Link do komentarza
Share on other sites

@bplukaszbp, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.

1 godzinę temu, bplukaszbp napisał:

Ja mam następujące pytanie, jak do tego wszystkiego dodać przełącznik dzwonkowy? Nie wiem jak ustawić pin GPIO w domoticzu jako wejście i spiąć tego w programie tak, żeby można było przełącznik włączać zarówno przełącznikiem dzwonkowym jak i zdalnie domoticzem.

Tutaj możesz utworzyć odpowiednie skrypty za pomocą Blocky lub wykorzystać pośrednie elementy wirtualne nazywane jako Dummy.

2 godziny temu, bplukaszbp napisał:

Dodam, że chcę wykorzystać raspberry do sterowania oświetleniem w domu i tutaj rodzi się kolejne pytanie. W raspberry jest zbyt mało pinów GPIO, żebym mógł je wykorzystać je jako wejścia i wyjścia dla tegoż oświetlenia

Możesz wykorzystać ekspandery portów na I2C. Pytanie tylko czy na pewno chcesz wszystko łączyć przewodowo. Może przy dużej instalacji wygodniej będzie połączyć kilka modułów ESP bezprzewodowo, a do nich podłączyć odpowiednie peryferia? Wtedy zniknie potrzeba podpinania wielu elementów bezpośrednio do malinki.

Link do komentarza
Share on other sites

Jeżeli chodzi o okablowanie to mam wszystko podciągnięte do skrzynki, więc kabelki bezpośrednio do malinki  nie stanowią problemu, ESP zostawię na czujniki, gniazdka i kontaktrony.

Czyli jeżeli podepnę 4 układy PCF8574, co da mi dodatkowe 32 wyjścia wejścia GPIO, będę w stanie wykorzystać je do sterowania. Pytanie tylko w jaki sposób mam zmienić plik domoticz.sh : żeby GPIO było widoczne w domoticzu, jak skonfigurować je jako In, żeby były widziane jako wejścia? I jak sprawdzić, która konfiguracja zworek przypisuje jaki adres do danego modułu?. Aha i jak korzystając z funkcji Dummy w konfiguracji domoticza skonfigurować później przycisk, żeby był widziany jako dzwonkowy?

 

 

Link do komentarza
Share on other sites

(edytowany)
Dnia 28.09.2018 o 14:43, bplukaszbp napisał:

Jeżeli chodzi o okablowanie to mam wszystko podciągnięte do skrzynki, więc kabelki bezpośrednio do malinki  nie stanowią problemu, ESP zostawię na czujniki, gniazdka i kontaktrony.

Czyli jeżeli podepnę 4 układy PCF8574, co da mi dodatkowe 32 wyjścia wejścia GPIO, będę w stanie wykorzystać je do sterowania. Pytanie tylko w jaki sposób mam zmienić plik domoticz.sh : żeby GPIO było widoczne w domoticzu, jak skonfigurować je jako In, żeby były widziane jako wejścia? I jak sprawdzić, która konfiguracja zworek przypisuje jaki adres do danego modułu?. Aha i jak korzystając z funkcji Dummy w konfiguracji domoticza skonfigurować później przycisk, żeby był widziany jako dzwonkowy?

 

 

Udało się już postawić przełączniki dzwonkowe, mam jeszcze ostatnie pytanie.

Żeby zdefiniować np pin 21 jako OUTPUT widziany w domoticzu edytuję plik domoticz.sh dopisując komendę: /usr/local/bin/gpio export 20 out.

Jaką komendę mam dopisać, żeby zdefiniować output po rozszerzeniu modułem i2c PCF8574 ustawionym na adres 0x20?

Edytowano przez bplukaszbp
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Gość es2
Dnia 28.09.2018 o 14:43, bplukaszbp napisał:

jeżeli podepnę 4 układy PCF8574

PCF8574 ma tylko jedna zaletę - cenę. Użyj czegoś nowszego po SPI czy I2C ale I2C nie wykorzystasz na max w Rasberry. Nowe układy maja po 16 GPIO, więc zamiast 4 wystarczą dwa (pewnie okaże się, ze to tańsze rozwiązanie niż 4 szt PCF8574). Nowe ekspandery mają wyjścia PP a nie OD (jak pamiętam z chwilowym podciąganiem jak 8051) więc nie trzeba kombinować z dodatkowymi rezystorami. Porządnie zrobione przerwania, bo to co jest w PCF8574 to namiastka przerwań.

Link do komentarza
Share on other sites

31 minut temu, bplukaszbp napisał:

na tym forum nikt nie wie, jak skonfigurować domoticza

No widzisz, otoczyłeś się samymi  id...

Co za pech.Może nie lubią jak pisany jest post pod postem przez tą sama osobę?  A może nie lubią, jak ktoś chce gotowca a nie pokazuje swoich prób rozwiązania problemu? Może wystarczy użyć Google, a jak autorowi postu się nie chciało, to dlaczego innym ma się chcieć? Niektórzy nie lubią błedów ortograficznych, składniowych. A może trzeba zachęcić i dać jakąś nagrodę (byle nie Euro-gąbki)?

 

 

Edytowano przez es2
Link do komentarza
Share on other sites

Powiedział co wiedział... Otóż kolego, gdybym znalazł odpowiedź na google (może nie potrafię szukać) to bym nie zawracał ludziom głowy na forum. Dodatkowo,  nie mam sobie nic do zarzucenia, jeżeli chodzi o moją składnię, czy ortografię.

Czy chcę gotowca? Nie wiem co w Twoim mniemaniu oznacza "gotowiec". Oczekuję konkretnej odpowiedzi na konkretne pytanie. JAK SKONFIGUROWAĆ DOMOTICZA (jestem zwolennikiem odmieniania nazw własnych po polsku), ŻEBY PORTY Z EKSPANDERA MCP23017 BYŁY W NIM WIDOCZNE.

Nie wiem po co Ci wiedzieć, jakie kroki w tym poczyniłem ale proszę.

System skonfigurowany jest tak, że mogę sobie tymi wyjściami sterować z poziomu poleceń wierszowych. Biblioteki wiringPi zainstalowane, urządzenie widoczne. Adres urządzenia 0x20

Nie wiem natomiast jak skonfigurować program, żeby użyć tych pinów jako wejścia/wyjscia. Próbowałem edytować plik domoticz.sh dodając komendy podobne jak przy konfigurowaniu zwykłych GPIO, ale nie działa. W Konfiguracji domoticza dodaję sprzęt jako I2c sensor GPIO 16bit expander, ale w dalszym ciągu w zakładce przełączniki piny nie są widoczne. Nie wiem, czy jest to tak proste, że pytanie jest idiotyczne i nikomu się nawet nie chce odpisać, natomiast ja nie mogę sobie z tym problemem poradzić. Byłbyś tak łaskaw jeżeli już nie odpowiedzieć, to chociaż nakierować mnie na odpowiedź?

Z góry dziękuję za pomoc.

Aaa i jeszcze zapomniałem.... Co by tu zaoferować.... Hmm nie wiem nawet co to są te "eurogołąbki", ale mogę zaoferować płatność w za informację 🙂 

Link do komentarza
Share on other sites

Panowie, po co te nerwy 🙂 Może po prostu nikt nie odpisuje, bo nikt zwyczajnie nie miał styczności z tym ekspanderem? Obsługa tego układu została dodana stosunkowo niedawno do Domoticza. Wzmianka na temat tego układu pojawiła się dopiero w wersji 4.9700 z końcówki czerwca tego roku:

- Implemented: I2C: support for MCP23017 (16bit I2C GPIO expander)

Jak rozumiem dodałeś ekspander do systemu w taki sposób jak poniżej, tak?

ba970-2018-10-07_17-33-41-4606.png

Zwróciłeś uwagę na to, że adres należy podać w zapisanie dziesiętnym, a nie szesnastkowym?

Link do komentarza
Share on other sites

Dnia 7.10.2018 o 20:37, Treker napisał:

Czyli źle, "0x20" to zapisz szesnastkowy, a jak sam widzisz obok tego pola jest napisane, aby podać wartość dziesiętną 😉 Zacznij od poprawy tego błędu i spróbuj wtedy.

Nie wiem czy koledzy próbowaliście rzeczywiście dodać MCP23017 . U mnie w systemie mam cztery sztuki pod adresami i2c kolejno 22,23,24 i 25. Niestety obsługa tego expandera w domoticz nie jest jeszcze dopracowana w 100%. Nalezy podać wartość dziesiętna ale tak nie do końca. U mnie żeby domoticz znalazł moduł pod adresem 22 na szynie i2c muszę wpisać 34 w polu i2c address. Najdziwniejsze jest jak na to wpadłem. Najpierw próbowałem wpisać poprawny adres ale nie miałem połączenia z modułem expandera. Potem zajrzałem do logow i wszystko było jasne. Domoticz szukał mój expander zupełnie pod innym adresem. Metoda prób i błędów znalazłem w końcu prawidłową wartość do wpisania. To oczywiście nie koniec. Obsługa MCP23017 jest tylko jako expander wyjść bo wejść niestety nie widzi. No chyba, ze koledzy maja jakiś pomysł.

Link do komentarza
Share on other sites

@pixello, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.
10 godzin temu, pixello napisał:

Niestety obsługa tego expandera w domoticz nie jest jeszcze dopracowana w 100 %. Nalezy podać wartość dziesiętna ale tak nie do końca. U mnie żeby domoticz znalazł moduł pod adresem 22 na szynie i2c muszę wpisać 34 w polu i2c address.

Skoro adres Twojego expandera to heksadecymalnie 0x22 to po przeliczeniu tego na wartość w systemie dziesiętnym otrzymujemy właśnie 34, więc to zupełnie normalne i poprawne. Poniżej przykład z konwertera online (dla pewności):

d1e25-2018-11-04_15-19-11-4827.png

Czyli to nie jest żadna "losowa" wartość tylko dokładnie to samo co pisałem wcześniej - adres trzeba podać w formie liczby dziesiętnej. Czyli nie chodzi o to, aby z "0x22" usunąć "0x" i wpisać "22". Tylko przeliczyć to na odpowiedni system i wtedy wychodzi nam poprawna wartość tj. 34 😉

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.