Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
TestoTesto
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Sprzętowy przycisk shutdown do Raspberry Pi

ghost666 28 Jul 2015 12:01 12150 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:

    Code: c
    Log in, to see the code


    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:

    Code: python
    Log in, to see the code


    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

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    ghost666
    Translator, editor
    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 wrote 10322 posts with rating 8606, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • TestoTesto
  • #2
    Zbychm
    Level 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ść... .
  • TestoTesto
  • #3
    Hellcube
    Level 9  
    @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