Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Moduł do wyłączania Raspberry Pi

ghost666 12 Paź 2018 12:00 3783 20
  • Moduł do wyłączania Raspberry Pi
    Przedstawiony poniżej moduł zapewnia możliwość poprawnego zamykania systemu na Raspberry Pi i wyłączania w nim zasilania. W takiej sytuacji bezpiecznie można odłączyć komputer od zasilania.

    Moduł jest wyposażony w diodę LED, która sygnalizuje, kiedy można bezpieczne odłączyć komputer od zasilania. Jeśli po wyłączeniu chcielibyśmy jednak ponownie włączyć komputer, to możemy to zrobić naciskając przycisk na module.

    Płytka drukowana z modułem może zostać niedrogo zamówiona (link w artykule źródłowym). Minimalne zamówienie to 3 sztuki, więc dobrze jest dogadać się wspólnie ze znajomymi, którzy także wykorzystują Raspberry Pi.

    Autor konstrukcji zaprojektował urządzenie z myślą o wykorzystanie go z RetroPie, aby bezpiecznie wyłączać system po zakończeniu gry.

    Moduł do wyłączania Raspberry Pi

    Krok 1: potrzebne części

    * Płytki drukowane modułu
    * Dioda LED
    * Kondensator 100 nF
    * Opornik 330 Ohm
    * Opornik 1 MOhm
    * Dwa 10 pinowe złącza (pod goldpiny)
    * Microswitch

    Moduł do wyłączania Raspberry Pi

    Krok 2: montaż

    Lutujemy elementy zgodnie z opisem na płytce drukowanej i przycinamy wystające nóżki elementów. Złącze opisane UNPLUGGED nie jest elektrycznie połączone z układem, ma za zadanie jedynie zapewnić mechaniczne podparcie płytce na Raspberry Pi. Jeśli na procesorze naszego komputera zamontowaliśmy radiator, to nie montujmy tego złącza, a płytkę drukowaną podklejmy od spodu kawałkiem taśmy izolacyjnej.

    Krok 3: konfiguracja w systemie operacyjnym

    Konieczne jest uruchomienie usługi w systemie, która zamykać będzie system po naciśnięciu przycisku. Pobierzmy najpierw skrypt w Pythonie:

    Kod: bash
    Zaloguj się, aby zobaczyć kod


    Wygląda on następująco:

    Kod: python
    Zaloguj się, aby zobaczyć kod


    Teraz możemy skonfigurować usługę. W jej pliku konfiguracyjnym dodajemy wpis:

    Kod: bash
    Zaloguj się, aby zobaczyć kod



    Code:
    [Unit]
    
    Description=Off Program
    [Service]
    ExecStart=/home/pi/off.py StandardOutput=null
    [Install]
    WantedBy=multi-user.target Alias=off.service


    Teraz zapisz plik i uruchom usługę wpisując:

    Kod: bash
    Zaloguj się, aby zobaczyć kod


    Układ wykorzystuje pin portu szeregowego do kontroli diody LED, dlatego też w Raspberry Config (narzędziu do konfiguracji naszego komputera) włączyć musimy konsolę szeregową. Wpisujemy:

    Kod: bash
    Zaloguj się, aby zobaczyć kod


    Następnie postępujemy zgodnie ze wskazówkami w menu.

    Źródło: https://www.instructables.com/id/Pi-Shutdown-Module/


    Fajne! Ranking DIY
  • #2 12 Paź 2018 13:56
    novcio
    Poziom 12  

    A czy można wgrać taki skrypt do Kodi by nie trzeba było w menu wybierać opcji "zamknij->zamknij system"? Wtedy zamiast przycisku można dać mały uC z odbiornikiem podczerwieni i włączać malinę pilotem od TV.

  • #3 12 Paź 2018 14:22
    eDZio
    Poziom 16  

    @novcio Nie widzę problemu dlaczego by nie. Skrypt, jak widać, jedyne co robi to czeka na opadające zbocze na GPIO3 i po wykryciu tego wywołuje komendę zamykającą system.

  • #4 12 Paź 2018 14:42
    Szyszkownik Kilkujadek
    Poziom 32  

    novcio napisał:
    A czy można wgrać taki skrypt do Kodi by nie trzeba było w menu wybierać opcji "zamknij->zamknij system"? Wtedy zamiast przycisku można dać mały uC z odbiornikiem podczerwieni i włączać malinę pilotem od TV.

    Polecam sterowanie przez HDMI CEC i w ustawieniach dać zamykanie Kodi wraz z wyłączeniem TV.
    Malinę zasilam z gniazda USB w TV, na którym zasilanie jest jeszcze minutę po wyłączeniu TV.

    Działa jak fabryczne smart TV :-D

  • #5 12 Paź 2018 15:22
    ghost666
    Tłumacz Redaktor

    Szyszkownik Kilkujadek napisał:
    novcio napisał:
    A czy można wgrać taki skrypt do Kodi by nie trzeba było w menu wybierać opcji "zamknij->zamknij system"? Wtedy zamiast przycisku można dać mały uC z odbiornikiem podczerwieni i włączać malinę pilotem od TV.

    Polecam sterowanie przez HDMI CEC i w ustawieniach dać zamykanie Kodi wraz z wyłączeniem TV.
    Malinę zasilam z gniazda USB w TV, na którym zasilanie jest jeszcze minutę po wyłączeniu TV.

    Działa jak fabryczne smart TV :-D


    O, super patent. Co można jeszcze przez CEC zrobić? są jakieś biblioteki do tego na Malinę?

  • #6 12 Paź 2018 15:32
    simw
    Poziom 18  

    Moduł ciekawy i dość minimalistyczny, natomiast jeśli ktoś chciałby zbudować "symulator przycisku ATX" do RPI, to polecam projekt:
    http://www.mosaic-industries.com/embedded-sys...projects/raspberry-pi/on-off-power-controller

    Z powodzeniem wykorzystuję go w swoich projektach, a bez większego trudu można dorobić do tego zdalne sterowanie.

  • #7 12 Paź 2018 19:07
    novcio
    Poziom 12  

    @eDZio Kodi ma tak wiele ustawień, że czasamicięzko się połapać. Ja mam wgrany system LibreELEC i w nim KODI nigdy nie trafiłem najakieś opcje by wywołać konsolę z polecaniami itp no, ale to wieczorem poszukam.

    @Szyszkownik Kilkujadek
    Oczywiście używam Pilota od TV do sterowania malinką właśnie przez HDMI CEC, rzeczywiście widziałem kiedyś taka funkcję by wyłączenie TV wyłączyło KODI. Nie pamiętam dlaczego z tego zrezygnowałem:) PS Przy pierwszym uruchomieni RPI pojawia się u mnie BerryBoot z wyborem systemu (ten opisany w poście moduł bardzo mi się przyda w retropie), wtedy nie działa sterowanie przez HDMI CEC. Dopiero, gdy domyślny kodi się uruchomi, aja zrestartuje system to w BerryBoot działa sterowanie pilotem. Niestety do czasu wyłączenia zasilania. Ma ktoś podobnie?
    Niestety w TV nie mam USB (serio tylko czytnik kart SD) stary Panasonic. Samo USB od TV u mnie musiało by włączać przekażnikiem dodatkowy zasilacz ponieważ do maliny mam podłączony dysk hdd, który oczywiście poborem prądu przerasta możliwości malinki:). Docelowo malina ma być schowana za TV dlatego chce ją też włączć pilotem od TV, ale to już bym jakimś małym uC dał rade zrobić.

  • #8 13 Paź 2018 14:01
    Bojleros
    Poziom 15  

    ghost666 napisał:
    O, super patent. Co można jeszcze przez CEC zrobić? są jakieś biblioteki do tego na Malinę?


    Kodi z openelec/libreelec ma to w standardzie także 99% obsługi masz z pilota z TV. Nie wiem jak to działa po za tymi dystrybucjami ale pewnie jest to mniej lub bardziej otwarte rozwiązanie.

    novcio napisał:
    Kodi ma tak wiele ustawień, że czasamicięzko się połapać. Ja mam wgrany system LibreELEC i w nim KODI nigdy nie trafiłem najakieś opcje by wywołać konsolę z polecaniami itp no, ale to wieczorem poszukam.


    W ustawieniach libreelec możesz sobie włączyć usługę SSH. Potem użyj putty z PC aby się zalogować zdalnie. Domyślny user/pass : root/libreelec.

    novcio napisał:
    PS Przy pierwszym uruchomieni RPI pojawia się u mnie BerryBoot z wyborem systemu (ten opisany w poście moduł bardzo mi się przyda w retropie), wtedy nie działa sterowanie przez HDMI CEC. Dopiero, gdy domyślny kodi się uruchomi, aja zrestartuje system to w BerryBoot działa sterowanie pilotem. Niestety do czasu wyłączenia zasilania. Ma ktoś podobnie?


    Cec wymaga raczej integracji po stronie userspace i wątpię żeby ktoś pakował mapowania CEC'a na klawisze klasycznej klawiatury na poziomie kernela lub bootloadera. Możliwe że coś inicjuje to mapowanie na poziomie hardware i do czasu aż nie zrobisz resetu napięciem to mapowanie sobie fajnie działa. Ot taki efekt uboczny ...

    Generalnie jeżeli ograniczasz się do emulacji konsol to proponuję zamienić Retropie na Lakkę. W obydwu brakowało mi integracji CEC (wyłączania z poziomu tv) ale pewnie można do nich na githubie napisać. Interfejs Lakki by default jest bardziej nastawiony na emulację konsol przez co wystarczy tylko podpiąć odpowiedni pad do maliny po usb. Emulacje starych komputerów raczej będą wymagały klawiatury, myszy , może joysticka. W ten sposób możesz lekko obejść problemy z Panasoniciem a jest też spora szansa że pad też jakoś zadziała w kodi.

    Cały ten guzik to jak dla mnie przerost formy nad treścią. Mogę sobie przecież włączyć usługę ssh, na swoim smartfonie mogę sobie zainstalować klienta ssh , i tak skonfigurować sesję żeby bez pytania o hasło wywoływało poweroffa. Mam wtedy bezprzewodowy guzik :D Jeżeli ktoś mimo wszystko potrzebuje takiego wyłącznika pod starszy tv to proponowałbym sprawdzić czy któryś z sygnałów na złączu SCART by się nie nadał. O ile pamiętam to na SCART było coś co pozwalało na włączanie/wyłączanie podłączonego urządzenia. Nie pamiętam tylko szczegółów.

  • #9 13 Paź 2018 16:27
    novcio
    Poziom 12  

    @Bojleros Właściwie to emulacja konsol u mnie jest na drugim(jednak wyłączanie pilotem dobrze mieć) miejscu dwa razy zagrałem w contre rok temu, a teraz brak na to czasu. Ale skoro już instalowałem tego BerryBoota to nie che formatować karty dla samego KODI. LAKĘ kiedyś może przetestuję. Cenne rady. Ja nie chce sterować maliną na smarfonie to było by dla mnie niewygodne, w Kodi jedynym kontrolerem ma być oryginalny pilot od TV (działa świetnie). Padem też mogę sterować, ale jego użyłem dosłownie dwa razy i na stałe jest podpięty do PC to nawet przepinać nie będę.
    W zasadzie do modułu miałem dodać funkcję włączania maliny(restartem zasilania) bo jest bardziej potrzebna niż wyłączanie. To jak z drzwiami dobrze jak są dwu funkcyjne, do wchodzenia i wychodzenia:)

  • #10 13 Paź 2018 19:24
    William Bonawentura
    Poziom 31  

    Bojleros napisał:
    proponowałbym sprawdzić czy któryś z sygnałów na złączu SCART by się nie nadał. O ile pamiętam to na SCART było coś co pozwalało na włączanie/wyłączanie podłączonego urządzenia. Nie pamiętam tylko szczegółów.


    Był sygnał ale w drugą stronę. Podanie +12 przez urządzenie powodowało przełączenie TV na dane wejście.

  • #11 14 Paź 2018 12:03
    Bojleros
    Poziom 15  

    O ile włączony telewizor cyfrowy będzie podawał sygnał composite na wyjście to można by spróbować zrobić jego detekcję. Nie jest to jednak rozwiązanie standardowe i różne modele mogą się zachowywać różnie. Można też robić detekcję napięcia na złączu USB. Na upartego można by wyciągnąć napięcie też ze slotu SD (o ile zanika po wyłączniu TV). A wyciąganie jakiegoś prostego binarnego sygnału z HDMI ? O ile pamiętam tam jest I2C więc pewnie linie są pociagnięte pullupami do VCC i możnaby to napięcie podać na bufor i dalej na jakieś RC.

  • #12 15 Paź 2018 08:38
    Szyszkownik Kilkujadek
    Poziom 32  

    ghost666 napisał:
    O, super patent. Co można jeszcze przez CEC zrobić? są jakieś biblioteki do tego na Malinę?

    Pełne sterowanie pilotem od TV. Nie potrzeba ani myszy, ani klawiatury. Najwygodniejsze. Ja mam zainstalowane OSMC na RPi i Kodi od razu po instalacji współpracuje z HDMI CEC.
    Do tego sterowanie smartfonem przez apkę "Kore" i nawet jak trzeba wpisać jakieś długie frazy to idzie bardzo sprawnie.

  • #13 15 Paź 2018 22:20
    Belialek
    Poziom 22  

    Hmm aż z ciekawości sprawdzę, czy USB w moim Panasonicu pociągnie RPi... W tej chwili leci na zasilaczu 5V/3A (Retropie/Kodi) + bezprzewodowa obsługa padów xbox + bezprzewodowa mini klawiaturka/mysz. Jeżeli to tak działa jak piszesz, to malina trochę odetchnie, bo w tej chwili śmiga non stop :D

  • #14 16 Paź 2018 12:56
    novcio
    Poziom 12  

    USB z tv może pozwolić maline, ale prawdopodobnie nawet bez podłączonych urządzeń będzie pokazywać ikonkę pioruna w prawym górnym rogu ekranu. Sugierowalbym by gniazdo USB z tv zasilalo przekaźnik włączający zasilacz od maliny.

  • #15 16 Paź 2018 13:00
    Szyszkownik Kilkujadek
    Poziom 32  
  • #16 16 Paź 2018 13:28
    novcio
    Poziom 12  

    Ja zasilam pendrive'a, myszkę bezprzewodowa, czasami stara klawiaturę z przejściówka PS2 na usb, kiedyś gamepada, wszystko z taniej chińskiej ładowarki z gniazdem usb. Ale myślę o zasilaczu 3A. Problemem jest dysk twardy muszę zasilanie podać z innej ładowarki od telefonu nawet dorobiłem przejściówkę która nie pozwala by zasilanie dysku wchodzili do gniazda USB maliny.

  • #17 30 Paź 2018 17:56
    atari_robbo
    Poziom 15  

    Troché to wszystko bez sensu bo wystarczy odpowiednio przekonfigurowac Linuksa. Rootfs dla plikow które musza byc zapisywane nalezy trzymac w ramdysku (/tmp, /var) ktory bedzie inicjowany podczas startu (podstawowa struktura katalogow) w pozostala zawartosc zamountowac jak 'ro' (caly /bin, /sbin, /lib, /usr, /etc). Jak sie wylaczy zasilanie to tylko zniknie zawartosc ramdysku a pozostaly filesystem bedzie nietkniety bo byl zamountowany jako ro. Tak sie robilo 15 lat temu na Linuksie startowanym na komputerach bez dyskow twardych, nie dodatkowe harware'u....

  • #18 31 Paź 2018 10:17
    Belialek
    Poziom 22  

    @atari_robbo a co z uruchomionymi aplikacjami? Wszystkie settingi itd też trzymać na ramdisku? Ja np używam Rpi jako player mediów, lecą jakieś streamy, wtyczki do VOD itd, co chwile coś się synchronizuje... Dodatkowo patent z wyłączaniem wykorzystujący port USB telewizora likwiduje problem fizycznego odłączania sprzętu od prądu (moje Rpi jest dosłownie wrzucone za szafkę tak, żeby nie było go widać).

  • #19 03 Lis 2018 10:15
    Bojleros
    Poziom 15  

    atari_robbo napisał:
    Jak sie wylaczy zasilanie to tylko zniknie zawartosc ramdysku


    Masz rację ale to nie jest prosta konfiguracja do wykonania przez pierwszego lepszego użytkownika. Jeżeli aplikacja dobrze oddziela swój "ekosystem" od swojej konfiguracji i danych ( słowem czegokolwiek wymagającego persystencji) to jest to o wiele prostsze. Nie chcesz przecież tracić przy każdym restarcie zmian w konfiguracji albo aktualizacji biblioteki multimediów. Update to jeszcze inny przypadek.

    Belialek napisał:
    a co z uruchomionymi aplikacjami? Wszystkie settingi itd też trzymać na ramdisku? Ja np używam Rpi jako player mediów, lecą jakieś streamy, wtyczki do VOD itd, co chwile coś się synchronizuje...


    Innym częściowym obejściem może być dodanie 'sync' do parametrów montowania. Przy każdym starcie będzie skan filesystemu bo nie został odmontowany na czysto a dwa , nawet z sync nie masz gwarancji że zasilanie nie padło w środku zapisu na "dysk" tylko raczej minimalizujesz prawdopodobieństwo poprzez wyłączenie buforowania zapisu.

  • #20 03 Lis 2018 14:04
    Belialek
    Poziom 22  

    Dlatego pewnym, bezpiecznym i bezobsługowym rozwiązaniem jest dorobienie prostego układu (koszt jakieś 5zł), i włączanie/wyłączanie rpi razem z pojawieniem się/zniknięciem napięcia na porcie USB telewizora,

  • #21 03 Lis 2018 15:37
    thereminator
    Warunkowo odblokowany

    Przekombinowane z tym PCB. Wystarczyłby kawałek płytki uniwersalnej, a jeśli już płytka specjalnie pod układ, to można było zrobić ją o połowę mniejszą. Przy montowaniu RPi w większej obudowie LEDa z opornikiem można dać w oprawce na kabelku a microswitch na kawałku płytki tak aby je wygodnie zamontować do obudowy.

  Szukaj w 5mln produktów