Raspberry
Pi 4: Slouží k tomu pin Global_EN. Po přepnutí tohoto pinu do stavu "LOW" se vypne napájení procesoru. Nastavením "HIGH" (5V, nebo odpojením vstupu) se zdroj pro procesor zapne. Vedlejší pin s označením RUN slouží jako signalizace "POWER GOOD". V tomto popisu ale nebude použit. V následujícím článku popíšu vypínání a zapínání RPi4 pomocí jednoho tlačítka, které je připojené přes ATtiny85. Krátkým stiskem se provádí korektní ukončení systému, dlouhým stiskem se provádí jeho opětovné spuštění, nebo "trvdý" reset. V popisovaném zapojení je ještě jedna informační LED. Tato LED signalizuje různé fáze běhu RPi: - Když je RPi v úsporném režimu (vypnuté napájení procesoru), je LED zhasnutá. - Při náběhu systému, nebo při jeho ukončování LED bliká pomalu. - Když RPi naběhne do stavu, kdy je možné se k němu připojit přes SSH, zabliká rychle. - Při normálním běhu RPi LED svítí. Zapojení využívá ještě tři GPIO piny na RPi: GPIO14 je přepnutý do HIGH stavu od okamžiku zapnutí napájení až do ukončení systému (během startu se na pár sekund přepne do LOW, ale pak se zase vrátí do HIGH). Vycházel jsem z tohoto článku, kde byl pin použit pro signalizaci korektně ukončeného systému. K pinu byla připojena LED a když zhasla, mohlo se vypnout napájení. Druhý pin (v příkladech je použitý GPIO25) po zapnutí napájení začíná ve stavu LOW a po náběhu systému signalizuje několika impulzy dostupnost internetu. Pak se přepne do HIGH kde setrvá až do ukončení systému. Poslední pin (GPIO7) je z pohledu RPi vstup. RPi ho 1x za sekundu testuje a když se na něm objeví alespoň na 2 sekundy stav LOW, zahájí se korektní ukončování systému. Schéma Software ATtiny85
Po naprogramování ATtiny je nutné přenastavit FUSE: LFuse = 0xE2 Je to z toho důvodu, že se pro
signalizační LED používá pin PB5, který běžně funguje jako RESET. Raspberry Pi
Zprovoznění: Po přihlášení k RPi se založí složka "/home/pi/skripty" (pokud ještě není založená) V této složce se vytvoří soubor "on_off.py" (buď ručně přes "nano /home/pi/skripty/on_off.py" , nebo přímým downloadem z mého webu): Pak je třeba zajistit, aby se tento skript spustil hned po startu systému. Jeden ze způsobů je editace souboru "/etc/rc.local": Před poslední řádku "exit 0" doplnit příkaz: Podle článku, ze kterého jsem čerpal informace o signalizaci vypnutého RPi, je nutné ještě povolit UART v konfiguračním souboru: ... doplněním řádky: Já jsem to ale měl už v
defaultním nastavení zapnuté.
Po resetu a propojení s ATtiny už by to mělo začít fungovat. Ukázkové video
Popis videa: Na testovacím plošňáku je vidět i signalizace průběžných logických úrovní na pinech GPIO7, Global_EN a GPIO14.
|
úvodní strana webu AstroMiK.org |
|
poslední úprava stránky 16.5.2020 |