Skocz do zawartości
Komentator

Kurs Raspberry Pi, projekty – #3 – Domoticz, kamera, GPIO

Pomocna odpowiedź

(edytowany)

@Gieneq wielkie, wielkie dzięki, po Twojej instrukcji wszystko śmiga jak należy (co ja się nakombinowałem zanim zapytałem na forum)

pozdrawiam

Edytowano przez zibi01
  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Gdy próbuję dodać przycisk pokazuje mi że już istnieje i nie mogę go dodać. Wszystko inne (dioda, buzzer, kamera) działa .Co zrobić w takiej sytuacji ?

 IMG_20200320_203348.thumb.jpg.893aeae5c7d215df95a68af28e256038.jpg

 

Edytowano przez jas123

Udostępnij ten post


Link to post
Share on other sites

A czy sytuacja jest ta sama gdy dodajesz przełącznik na inny pin niż 26?

Może spróbuj w miejscu gdzie eksportujesz piny wyrzucić 26 zrestartować system i jeszcze raz spróbować. Możliwe że po drodze coś poszło nie tak.

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Cześć, mam takie pytanie odnośnie wpisywania do pliku domoticz.sh na "sztywno" które piny to wejścia, a które to wyjścia.

Konkretnie chodzi mi o buczek. Ustawiam pin 21 przy użyciu export jako out i w ćwiczeniu gdy po restarcie malinki użyje komendy "gpio exports" wyskakuje nam, że przy pinie 21 mamy wartość 1. Buczek ciągle wyje i jest to dość irytujące. Skąd ta 1 się tam wzieła? Mi z automatu przypisuje 0 więc w pliku domoticz.sh musze jeszcze ustawić wartość pinu 21 jako 1 przy użyciu komendy "gpio -g write 21 1".

Drugie pytanie jest takie jaka jest różnica między wpisaniu do pliku domoticz.sh komendy "/usr/bin/gpio -g write 21 1", a "gpio -g write 21 1"? Jedno i drugie działa w moim przypadku. Wiem, że są to ścieżki do katalogu usr - katalog użytkowy, natomiast bin - programy usługowe. Jednak jak to ma się do całego "kodu" w pliku domoticz.sh?

Pozdrawiam

Edytowano przez Oskaritox

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

@Oskaritox 

18 godzin temu, Oskaritox napisał:

Skąd ta 1 się tam wzieła?

Ciężko powiedzieć. W dokumentacji gpio nic o tym nie ma, chyba że źle patrzę. Z kolei w dokumentacji RPi jest tabelka gdzie pokazane są stany jakie przyjmują wyprowadzenia po restarcie, niekóre mają 1 niektóre 0. Pin 21 akurat ma 0. Więc:

18 godzin temu, Oskaritox napisał:

Mi z automatu przypisuje 0

z tym się zgadzam, ale dlaczego sam export robi 1 nie wiem. Niemniej:

18 godzin temu, Oskaritox napisał:

Ustawiam pin 21 przy użyciu export jako out i w ćwiczeniu gdy po restarcie malinki użyje komendy "gpio exports" wyskakuje nam, że przy pinie 21 mamy wartość 1

jeżeli używasz samego ustawienia trybu pracy wyprowadzenia to dla pewności wpisz też jaki ma początkowy stan - unikniesz niejasności i domysłów.

18 godzin temu, Oskaritox napisał:

jest różnica między wpisaniu do pliku domoticz.sh komendy "/usr/bin/gpio -g write 21 1", a "gpio -g write 21 1"?

Po instalacji programu gpio, ścieżka do niego zostaje zapisana jako ściezka systemowa i możesz pominąć cały adres. gpio to taki "alias" na pełną ścieżkę.

Edit: Sprostowanie poniżej.

Podobnie jak nie piszesz długiej ścieżki do interpretera pythona tylko wystarczy napisac python3 i gotowe.

Edytowano przez Gieneq
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
5 godzin temu, Gieneq napisał:

jeżeli używasz samego ustawienia trybu pracy wyprowadzenia to dla pewności wpisz też jaki ma początkowy stan - unikniesz niejasności i domysłów.

Ok, następnym razem będę o tym pamiętać.

5 godzin temu, Gieneq napisał:

Po instalacji programu gpio, ścieżka do niego zostaje zapisana jako ściezka systemowa i możesz pominąć cały adres. gpio to taki "alias" na pełną ścieżkę. Podobnie jak nie piszesz długiej ścieżki do interpretera pythona tylko wystarczy napisac python3 i gotowe.

Dzięki za informację, o to mi właśnie chodziło, aby na przyszłość mieć jasność jak to działa 🙂

5 godzin temu, Gieneq napisał:

Ciężko powiedzieć. W dokumentacji gpio nic o tym nie ma, chyba że źle patrzę. Z kolei w dokumentacji RPi jest tabelka gdzie pokazane są stany jakie przyjmują wyprowadzenia po restarcie, niekóre mają 1 niektóre 0. Pin 21 akurat ma 0.

Właśnie również sprawdzałem poleceniem "gpio readall" jaki jest stan początkowy pinu, także tutaj jest wszystko jasne i trzeba drążyć dalej. Poszukam głębiej w necie, może uda się wyjaśnić. 

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
6 godzin temu, Gieneq napisał:

Po instalacji programu gpio, ścieżka do niego zostaje zapisana jako ściezka systemowa i możesz pominąć cały adres. gpio to taki "alias" na pełną ścieżkę.

Błagam, jak coś piszesz to pisz prawdę 😞

Żadna ścieżka nie zostaje zapisana, nie jest to żaden alias na pełną ścieżkę.

Po prostu jeśli nie jest podana pełna ścieżka do polecenia (np. /usr/bin/gpio) przeszukiwane są po kolei:

  • lista poleceń wbudowanych shella (np. "echo")
  • lista aliasów (to takie prawdziwe aliasy zdefiniowane dla wygody, np. "ls" może być zdefiniowane jako "ls --color=auto" aby mieć zawsze pokolorowane listingi folderów)
  • typowe miejsca, gdzie znajdują się polecenia. Minimum to /usr/bin i /bin (w tej kolejności), ale może być ich więcej (możesz to zobaczyć wydając polecenie "echo $PATH"). Jeśli w którymś z katalogów znajdzie się plik o nazwie odpowiadającej poleceniu - przeszukiwanie zostaje przerwane i plik zostaje wykonany.

Ponieważ zmienną PATH można modyfikować, dobrym zwyczajem jest podawanie zawsze pełnej ścieżki w plikach shella i konfiguracyjnych - chyba że zależy nam na jakimś nietypowym działaniu. W opisywanym przypadku należy wpisać /usr/bin/gpio a nie gpio, aby ustrzec się jakichś problemów.

Jako ciekawostkę podam, że dość częstym błędem jest wpisywanie samej nazwy polecenia w pliku crontab lub w którymś z plików w /etc/init.d - w wielu systemach zmienna PATH jest w chwili próby wykonania tych poleceń albo pusta albo niekompletna, i polecenie które z konsoli wykonuje się bez problemu nagle nie działa z crona...

 

  • Lubię! 1
  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

O fajnie, że mnie sprostowałeś. Sam się czegoś dowiedziałem, dziękuję 🙂 

Udostępnij ten post


Link to post
Share on other sites
2 minuty temu, Gieneq napisał:

Sam się czegoś dowiedziałem

Ech... też się wielu rzeczy tutaj dowiaduję 🙂

 

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
Dnia 23.03.2020 o 08:20, Gieneq napisał:

A czy sytuacja jest ta sama gdy dodajesz przełącznik na inny pin niż 26?

Może spróbuj w miejscu gdzie eksportujesz piny wyrzucić 26 zrestartować system i jeszcze raz spróbować. Możliwe że po drodze coś poszło nie tak.

 

Spróbowałem na innym pinie i działa . Nie wiem od czego to zależy.

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

W wiringPi (gpio) dla RPi4 jakiś pinów nie da się ustawić jako wejścia (a na pewno był problem z PULLUPEM, bo sam się z tym męczyłem), może stąd problemy. W Domoticzu używasz gpio do ustawiania wyprowadzeń więc gdzieś musi być ten błąd.

Jakbyś pytał czy zostanie to naprawione - na 90% nie 😞 program gpio i biblioteka wiringPi choć wchodzą w skład wielu programów to zostały porzucone i nie będą rozwijane.

Edytowano przez Gieneq

Udostępnij ten post


Link to post
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!

Gość
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...