Problem z obsługą G...
 
Powiadomienia
Wyczyść wszystko

UWAGAStrona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.

W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉

Za niedogodności z góry przepraszam, admin

Kontakt

[Rozwiązany] Problem z obsługą GPIO raspberry pi 3B+ Openhab2

16 Wpisów
3 Użytkownicy
2 Reactions
1,215 Wyświetleń
(@lukaszbeben)
Wpisów: 73
Kontrybutor
Autor tematu
 

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

 

 

 

 
Dodane : 19/04/2020 11:22 pm
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@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”,

 
Dodane : 20/04/2020 8:41 am
(@lukaszbeben)
Wpisów: 73
Kontrybutor
Autor tematu
 

@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ą. 

 
Dodane : 20/04/2020 1:30 pm
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

 

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

 
Dodane : 20/04/2020 1:50 pm
(@lukaszbeben)
Wpisów: 73
Kontrybutor
Autor tematu
 

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ść?

 
Dodane : 20/04/2020 3:56 pm
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@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 

 
Dodane : 20/04/2020 4:58 pm
LukaszBeben reacted
(@lukaszbeben)
Wpisów: 73
Kontrybutor
Autor tematu
 

@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ę.

 
Dodane : 20/04/2020 6:34 pm
(@lukaszbeben)
Wpisów: 73
Kontrybutor
Autor tematu
 

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ą ?

 

 

 

 

 
Dodane : 21/04/2020 1:59 pm
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Od 1.40 obejrzyj https://www.youtube.com/watch?v=JL1-_uIPDNs

 
Dodane : 21/04/2020 2:10 pm
(@lukaszbeben)
Wpisów: 73
Kontrybutor
Autor tematu
 

@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 🙁

 
Dodane : 21/04/2020 2:34 pm
(@lukaszbeben)
Wpisów: 73
Kontrybutor
Autor tematu
 

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 🙂

 
Dodane : 21/04/2020 8:22 pm
(@openhabbeginer)
Wpisów: 2
Świeżak
 

Z GPIO jeśli zainstalowałeś Binding GPIO sprawa jest prosta.

1. .item

Switchswitchpin20"Heating" <heating> { gpio="pin:20 activelow:no initialValue:high" } 
 
gdzie pin20 oznacza nr pinu na malince,
 
2. .homesite
 
Switch item=switchpin20
 
 
nie musisz grzebać w innych plikach, prościej się nie da 🙂
 
 
Dodane : 21/04/2020 8:31 pm
(@lukaszbeben)
Wpisów: 73
Kontrybutor
Autor tematu
 

@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 ?

 

 

 
Dodane : 22/04/2020 3:03 pm
(@lukaszbeben)
Wpisów: 73
Kontrybutor
Autor tematu
 

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" }

 
Dodane : 22/04/2020 3:49 pm
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@lukaszbeben polecam korzystać z tych zielonych , pozostałe jak widać tworzą grupy i są wzajemnie od siebie zależne 

 pi3 gpio
 
Dodane : 22/04/2020 7:23 pm
LukaszBeben reacted
(@lukaszbeben)
Wpisów: 73
Kontrybutor
Autor tematu
 

Rozwiązany 

 
Dodane : 24/04/2020 7:12 pm
Udostępnij: