Witam, jako nowy forumowicz. Po roku naszedł ten czas trzeba w końcu uruchomić mój Smart Dom. Będę wdzięczny za każdą pomoc, a aktualnie utknąłem na sterowaniu GPIO maliny. Moje doświadczenia to głównie programowanie przemysłowe - roboty i sterowniki oraz język podstawy visual basic - więc nie najlepiej do tego projektu, ale pomyślałem czas się douczyć. Po testach Domoticza home assistanta i open haba wybór padł na ostatni.
Na malinie instalacja ręczna openhaba na raspbianie przebiegła pomyślnie.
W open hab znajduje różne rzeczy i jak na razie dodają się bez problemu poza tymi GPIO
Zainstalowałem Binding GPIO
utworzyłem sitemap i przełączniki są widziane w Basic UI oraz CLASSIC UI
skonfigurowłem też z poziomu maliny moje thinksy "home.thinks" i "home.sitemap", ale przekaźniki na wyjściach maliny nie działają. Myślę że pominąłem jeszcze jakąś wstępną konfigurację GPIO - opisy co jest wyjściem, co wejściem, etc..., ale nie mam pojęcia jak to zrobić. No i czy Binding GPIO jest dobrym pomysłem na sterowanie tymi przekaźnikami które umieściłem na GPIO maliny?
Proszę o pomoc bo co kilka dni robię mały krok, ale bez Waszej pomocy, skończy się kwarantanna nim jak skończę mój "smartny dom" 🙂
Z góry dziękuję i pozdrawiam,
Łukasz
@lukaszbeben ponieważ Binding GPIO wykorzystuje sysfs gpio proponuję żebyś zaczął od pierwszej części tego kursu https://forbot.pl/blog/kurs-raspberry-pi-podstawy-gpio-skrypty-id23593
jak już ogarniesz lokalną obsługę GPIO to zostaje konfiguracja w OH, w której nie pomogę bo nie znam i nie używam. Nie można zapomnieć też o jednym
openHAB powinien być uruchamiany na koncie „root”.
Alternatywnie możesz dodać użytkownika „openhab” do grupy użytkowników „gpio”,
@isom dziękuję za podpowiedź, ten poradnik mam już za sobą, ale o tą drogę mi właśnie chodziło i z tym właśnie mam problem. Sterować wszystkimi pinani z terminala potrafię tylko nie wiem jak zrobić jakiś plik konfiguracyjny tych gpio żeby startował razem z maliną - nie znam linux 🙁 . Bardzo proszę jeśli możesz to rozwinąć lub podesłać jakiś przykład, albo kolejną lekturę 🙂
dodatkowo dzięki za podpowiedź o root-cie z maliną.
Możesz zrobić sobie listę GPIO z deklaracją co mają robić i czy maja być IN czy OUT i dodac to do pliku który jest wywoływany przy uruchomieniu maliny np /etc/rc.local
sudo nano /etc/rc.local
dodajesz swoją listę na końcu , zapisujesz i powinno przy nastepnym uruchomieniu już widzeć te GPIO
Teoretycznie można dodać to też do pliku startowego samego OH , ale w kwestii gdzie to juz raczej @adrian bardziej może pomóc
Tu masz przykład dla dwóch GPIO https://www.smartnydom.pl/forum/domoticz-obraz-dla-linux/sterowanie-gpio-w-smarticz/#post-13495
to jest oczywiście dla domoticz i wstawianie do pliku domoticz.sh , ale do etc/rc/local trzeba tak samo
Dzięki, o to chodziło, a jakiś pomysł może dlaczego wyjścia z maliny działają odwrotnie i od początku tak miałem, a mianowicie:
echo 7 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio7/direction
echo 0 > /sys/class/gpio/gpio7/active_low
dają po uruchomieniu stan wysoki ( przekaźnik działa) zamiast niski
i jeszcze z jedną niedogodnością walczę, zawsze jak utworzę na świeżym systemie sitemap to wszystko jest ok i działa świetnie, ale jak tylko raz ją przeedytuję i poprawie, zapiszę , to już openhab jej nie widzi. czy jest komuś znana taka przypadłość?
@lukaszbeben myślę że możesz mieć przekaźniki sterowane stanem niskim i to wprowadza Cię w błąd. Podłącz ten przekaźnik do zasilania i zobacz co załączy przekaźnik podając na wej IN najpierw Masę (GND) a potem +5V , jeżeli wyzwli go GND to znaczy że przy starcie ( uruchomieniu) twoje GPIO powinny dawać High
@isom bardzo dziękuję - o to właśnie chodziło.
W kwestii sitemap i openhab zwrócę się o pomoc pod innym tematem ale jeszcze trochę sam potrenuję.
Walki ciąg dalszy...
Na ten moment loguję się do konsoli user:pi i wyjścia działają. Steruje poleceniami:
echo 1 > /sys/class/gpio/gpio19/value
echo 0 > /sys/class/gpio/gpio19/value
i wszystko działa prawidłowo. Konfigurację Sitemap oraz item ogarnąłem, przynajmniej tak mi się wydaje. Malina przy starcie ustawia GPIO jak radził @isom - jeszcze raz wielkie dzięki. Niestety nadal nie steruje w BASIC UI wyjściem. Wiem że OH musi się logować jako root i jeszcze tego nie ogarnąłem - czy to może być źródłem problemu? Ma ktoś może jakiegoś Helpa w tym temacie?
Dla jasności dołączam poniżej jaką konfigurację wykonałem GPIO w malinie oraz OH. Może coś jeszcze przeoczyłem. Proszę o wsparcie.
1. do : sudo nano /etc/rc.local dodałem
echo 19 > /sys/class/gpio/export
echo high > /sys/class/gpio/gpio19/direction
echo 1 > /sys/class/gpio/gpio19/active_low
2. do: sudo nano /etc/openhab2/items/home.items dodałem
Switch Wyjscie1 "Wyjscie nr 1" { gpio="pin:19" } - i w zasadzie to jedyna zawartość tego pliku ( może to jest problem? )
3. zawartosc sitemaps dodana poprzez: sudo nano /etc/openhab2/sitemaps/home.sitemap
sitemap home label="home" {
Switch item=Wyjscie1
}
4. Dodałem w OH GPIO Bindings bez żdnej dodatkowej konfiguracji
5. W BASIC UI oraz CLASSIC UI wprowadziłem nazwę nowej sitemapy jako home i nic więcej nie zmieniałem.
W zakładkach BASIC UI oraz CLASSIC UI widoczny jest switch, mogę go przełączać ale stan wyjścia się nie zmienia
czy jeszcze jakoś trzeba to poszyć ze sobą ?
@isom no własnie to co teraz mam zrobione jest wg tego filmu, i albo czegoś nie rozumiem albo przeoczam, że jemu działa a mnie nie 🙁
Ok. Problem rozwiązany. Za dotychczas wprowadzone modyfikacje otrzymałem od żony w podziękowaniu butelkę dobrej whisky, którą natychmiast skosztowałem. To zaś pomogło otworzyć mi umysł n dotychczas nie zauważone błędy z mojej strony 🙂
Polecam i zamykam temat.
Dziękuję wszystkim za pomoc 🙂
Z GPIO jeśli zainstalowałeś Binding GPIO sprawa jest prosta.
1. .item
@openhabbeginer dzięki to już mam, a wejście próbuję dla pinu 2. ??? podasz przykłąd komendy w item i sitemaps dla pinu 2 (input)
Muszę go wstępnie gdzieś deklarować oprócz item i sitemaps ?
Ok, problem w miarę rozwiązany.
Nie mogę tak użyć pinu 2 choć nie wiedziałem i o końca nie rozumiem czemu,ale ok. Doczytam i się dowiem. Dla pinu 20 działa bez problemu.
Pozdrawiam
Contact WEJSCIE1 "WEJSCIE1 [%s]" { gpio="pin:20 activelow:yes" }
@lukaszbeben polecam korzystać z tych zielonych , pozostałe jak widać tworzą grupy i są wzajemnie od siebie zależne
Rozwiązany