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

Sprzętowy przycisk shutdown do Raspberry Pi

ghost666 28 Lip 2015 12:01 9660 3
  • Sprzętowy przycisk shutdown do Raspberry Pi
    Każdy użytkownik Raspberry Pi zauważa na pewnym etapie zaznajamiania się z układem, iż nie jest on wyposażony w przycisk do wyłączania. Więc jedyną możliwością odłączenia tego układu od zasilania, jest wypięcie kabla z gniazd zasilania. Aby mieć pewność, że nie utracimy w ten sposób żadnych danych zapisanych na karcie SD trzeba wyłączyć system operacyjny, przed odpięciem go od zasilania. Może to być problematyczne i frustrujące, jeśli chce się korzystać z RPi jak komputera, np.jako serwera mediów lub radia internetowego.

    Zaprezentowany poniżej układ pozwala na rozwiązanie tego problemu. Opisuje on w jaki sposób skonstruować niewielki układ, pełniący rolę przycisku zasilania dla Raspberry Pi. Realizuje on następujące funkcje:

    * Wysyłanie sygnału wyłączającego RPi po naciśnięciu przycisku.
    * Czekanie na wyłączenie systemu.
    * Odłączanie zasilania od RPi po wyłączeniu systemu.
    * Podłączanie zasilania do RPi po ponownym naciśnięciu przycisku
    * Obsługa LEDowego wskaźnika ON/wyłączanie/OFF.

    Krok 1: Częśći

    Do skonstruowania opisywanego układu potrzebne będą:

    Atmel AVRtiny z 8 pinami (np. attiny13 lub attiny85)
    Przycisk
    2 x tranzystor BC337
    1 x przekaźnik
    1 x kondensator elektrolityczny 680µF
    1 x zielona dioda LED
    Złącze 4 pinowe
    Płytka uniwersalna
    Programator ISP do mikrokontrolerów AVR
    Oporniki

    Krok 2: Schemat

    Sprzętowy przycisk shutdown do Raspberry Pi


    Powyżej zaprezentowano schemat przycisku zasilania do Raspberry Pi. AVR podłączony jest do przekaźnika odłączającego zasilanie od RPi, a dioda LED wskazuje stan zasilania komputera. Podczas wyłączania dioda będzie mrugać. Dodatkowa linia z mikrokontrolera podłączona jest do komputera w celu wymuszania zatrzymania systemu operacyjnego.

    Schemat pobrać można tutaj.

    Krok 3: Program na AVRa

    Króciutki i program na AVRa prezentuje się następująco:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Pobrać go można tutaj.

    Krok 4: Skrypt do obsługi przycisku zasilania na Raspberry Pi

    Raspberry Pi potrzebuje skrypt, który wyłączać będzie system, gdy dostanie sygnał od przycisku zasilania. W tym celu napisano skrypt w Pythonie (poniżej), monitorujący siódmy pin GPIO, gdzie podłączony jest opisany układ, Pin ten odpowiada wejściu GPIO4 w Raspberry B. Skrypt należy zapisać np. w /home/pi/pishutdown/pishutdown.py. Skrypt wygląda następująco:

    Kod: python
    Zaloguj się, aby zobaczyć kod


    Następnie napisać trzeba prosty skrypt SHELLa, który uruchomi skrypt Pythona z prawami roota. Zapiszmy skrypt (poniżej) w tym samym katalogu co skrypt Pythona.

    Code:
    #!/bin/sh
    
    cd /
    cd home/pi/pishutdown
    sudo python pishutdown.py
    cd /


    I dodajmy katalog do logowania wydarzeń:

    Code:
    mkdir /home/pi/pishutdown/logs


    Wykorzystując crontab kondifurujemy automatyczny start naszego skryptu. Uruchamiamy crontab poprzez
    wpisanie w konsoli:

    Code:
    sudo crontab -e


    I dodajemy następującą linię:

    Code:
    @reboot sh /home/pi/pishutdown/pishutdown.sh >/home/pi/pishutdown/logs/cronlog 2>&1


    Uruchamiamy system ponownie...

    Krok 5: Składanie wszystkiego w całość

    Sprzętowy przycisk shutdown do Raspberry Pi Sprzętowy przycisk shutdown do Raspberry Pi


    Po podłączeniu wszystkiego razem - przycisku zasilania z pinami GPIO RPi i podaniu napięcia na przekaźnik przycisku, system powinien uruchomić się po naciśnięciu przycisku. Po załadowaniu systemu i uruchomieniu komputera, ponowne naciśnięcie powinno wyłączyć system. Dioda na opisywanym układzie będzie mrugać, a system będzie wyłączał poszczególne komponenty. Po wyłączeniu systemu przekaźnik odłączy zasilanie od płytki RPi. Kolejne naciśnięcie przycisku uruchomi komputer ponownie.

    Źródło: http://www.instructables.com/id/Raspberry-Pi-Shutdown-Button/?ALLSTEPS

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    ghost666
    Tłumacz Redaktor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 napisał 9642 postów o ocenie 7736, pomógł 157 razy. Mieszka w mieście Warszawa. Jest z nami od 2003 roku.
  • Relpol przekaźniki nadzorczeRelpol przekaźniki nadzorcze
  • #2
    Zbychm
    Poziom 11  
    Odnoszę wrażenie, że niebawem pojawią się artykuły: Sprzętowy wyłącznik oświetlenia... lub np.. Sprzętowy wyłącznik żelazka do prasowania... z użyciem np. "
    Atmel AVRtiny z 8 pinami (np. attiny13 lub attiny85)
    Przycisk
    2 x tranzystor BC337
    1 x przekaźnik
    1 x kondensator elektrolityczny 680µF
    1 x zielona dioda LED
    Złącze 4 pinowe
    Płytka uniwersalna ..."

    lub podobnego.
    Najbardziej prostą sprawę potrafimy skomplikować do granic... absurdu! ( jakie to polskie... )
    A istnieje podobno inwentyka, która uczy jak upraszczać otaczającą nas rzeczywistość... .
  • Relpol przekaźniki nadzorczeRelpol przekaźniki nadzorcze
  • #3
    Hellcube
    Poziom 8  
    @Zbychm akurat taki projekcik jest bardzo ciekawy. Pracuje nad carputerem na RPI. Dla informacji RPI uruchamia się od razu po podłączeniu zasilania. I jeśli nie wyłącza się go poprzez shutdown łatwo uszkodzić dane na karcie SD.
    Gotowe takie rozwiązania są jak dla mnie drogie:
    https://www.pi-supply.com/product/pi-supply-raspberry-pi-power-switch/ £15.00
    http://mausberry-circuits.myshopify.com/products/2a-car-supply-switch $19.99 (WYPRZEDANE)
    https://www.pi-supply.com/product/pi-ups-uninterrupted-power-supply-raspberry-pi/ £29.99

    Dlatego zapewne sam spróbuje zrobić taki układ by działał w samochodzie.
    Sprzętowy przycisk shutdown do Raspberry Pi