Potrzebna pomoc przy przekaźniku

kiksik
Posts: 18
Joined: Mon Oct 30, 2023 3:31 pm

Post

Witam,

chciałbym zapytać bardziej ogarniętych kolegów czy da się tak edytować plik supla-device.yaml aby w aplikacji pojawił się kanał, który sterowałby przekaźnikiem.

Posiadam raspberry PI0 oraz przekaźnik, który jest sterowany stanem niskim. Chciałbym aby w aplikacji była możliwość włączenia i wyłączenia przekaźnika.

Próbowałem znaleźć rozwiązanie na forum ale niestety hasło przekaźnik jest pomijane w wyszukiwaniu ze względu na bardzo duża ilość występowania tego słowa.
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Aktualnie sd nie ma dedykowanych komend dla sterowania przekaźnikiem na malinie.
Natomiast można to zrobić używając CmdRelay (opis jest w readme w przykładzie dla Linuxa)
Trzeba tam wpisać polecenia, które będą wykonywane do włączania i wyłączania.
Najlepsze suple dla Twojego domu :mrgreen:
kiksik
Posts: 18
Joined: Mon Oct 30, 2023 3:31 pm

Post

Przeczytałem to już kilka razy ale nie bardzo rozumiem jak to zrobić.

Potrzebował bym instrukcji krok po kroku jak to wykonać.
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

kiksik wrote: Sun Nov 05, 2023 12:32 pm Przeczytałem to już kilka razy ale nie bardzo rozumiem jak to zrobić.

Potrzebował bym instrukcji krok po kroku jak to wykonać.
A wiesz jak sterować przekaźnikiem z linii poleceń? Jeśli nie, to poszukaj jak to zrobić w sieci i następnie wstaw tutaj polecenie do załączania I wyłączenia przekaźnika, a ja przygotuję przykładowy plik konfiguracyjny
Najlepsze suple dla Twojego domu :mrgreen:
kiksik
Posts: 18
Joined: Mon Oct 30, 2023 3:31 pm

Post

Tak wiem jak sterować przekaźnikami, Zdążyłem się tego nauczyć.


w terminalu wpisuje następujące komendy:
gpio -g mode 26 out (ustawiam pin 26 jako wyjście)
gpio -g write 26 1 (ustawiam na pinie 26 stan wysoki)
gpio -g write 26 0 (ustawiam na pinie 26 stan niski)

w pliku supa-device.yaml dopisałem kanał:
- type: CmdRelay
name: command_relay_1
initial_state: restore
cmd_on: "echo 1 > command_relay_1.out"
cmd_off: "echo 0 > command_relay_1.out"

Pojawił mi się przekaźnik z możliwością włączenia i wyłączenia.
Niestety na tą chwile utknąłem w tym miejscu z powodu tego, że miałem uszkodzony przekaźnik i dopiero to zdiagnozowałem. Podłączyłem inny, który działa i próbuję dalej.
Wydaję mi się, że teraz muszę stworzyć program o nazwie command_relay_1.out w którym wpiszę komendy które używam do załączania pinu w terminalu. Niestety nie wiem gdzie taki plik miałbym zapisać. I czy w ogóle moje rozumowanie jest dobre :D
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Te polecenia wstaw w cudzysłów do cmd_on i off zamiast tego całego echo...
Tylko nie wiem jak tą inicjalizację out zrobić. Najprościej chyba dodać to do skryptu uruchamiającego supla-device
Najlepsze suple dla Twojego domu :mrgreen:
kiksik
Posts: 18
Joined: Mon Oct 30, 2023 3:31 pm

Post

w pliku supa-device.yaml mam
- type: CmdRelay
name: command_relay_1
initial_state: restore
cmd_on: "gpio -g write 26 0"
cmd_off: "gpio -g write 26 1"

Oczywiście ustawiłem pin 26 jako wyjście.
Niestety nic się nie dzieje podczas włączania i wyłączania w supli.


Po restarcie supla-device zaczęło działać.
User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

Każde zmiany w supa-device.yaml wymagają restartu Supla Device. To jest plik konfiguracyjny czytany tylko przy uruchomieniu SD.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
kiksik
Posts: 18
Joined: Mon Oct 30, 2023 3:31 pm

Post

Czyli w tym pliku mógłbym przy starcie ustawiać pin 26 jako wyjście ?
Czy muszę zrobić osobny plik który uruchamia się wraz ze startem systemu ?
User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

kiksik wrote: Sun Nov 05, 2023 9:48 pm w pliku supa-device.yaml mam
- type: CmdRelay
name: command_relay_1
initial_state: restore
cmd_on: "gpio -g write 26 0"
cmd_off: "gpio -g write 26 1"

Oczywiście ustawiłem pin 26 jako wyjście.
Niestety nic się nie dzieje podczas włączania i wyłączania w supli.


Po restarcie supla-device zaczęło działać.
Może się przyda:

Sterowanie stanem GPIO z wiersza poleceń wymaga instalacji komponentu wiringPi. Próba instalacji poleceniem:

Code: Select all

sudo apt install wiringpi
na Debian Bullseye i nowszych kończy się komunikatem:

Code: Select all

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package wiringpi is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'wiringpi' has no installation candidate
Można obejść ten problem instalując wiringPi w następujący sposób:

Code: Select all

cd /tmp
wget https://github.com/WiringPi/WiringPi/releases/download/2.61-1/wiringpi-2.61-1-armhf.deb
sudo dpkg -i wiringpi-2.61-1-armhf.deb
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl

Return to “Pomoc”