Raspberry PI má na jednom ze svých GPIO konektorů rozhraní UART, na kterém je u většiny operačních systémů vyveden standardní výstup během bootování a poté funkční terminál. V tomto článku (který obsahuje i video) si ukážeme jak tuto sériovou linku využít.
Videonávod
Co budeme potřebovat
Kromě samotného Rasberry PI je nutné mít ještě USB-UART převodník, 3-žilový vodič s konektory a SD kartu na kterou nahrajeme OS Raspbian.
Postup
Vyrobte si 3 žilový vodič s konektory na obou stranách. Konektory zapojte tak, aby bylo možné spojit signály GND, TX a RX na převodníku a Raspberry PI.
Pro názornost ještě popis jednotlivých pinů na konektoru P1 (vlevo nahoře).
Teď si nachystáme SD kartu s operačním systémem Raspbian. Tento krok můžete přeskočit, pokud již na kartě máte funkční OS.
Z oficiálních stránek Raspberry stáhněte ZIP soubor s Raspbianem. Pokud umíte používat torrent, doporučuji obraz stáhnout z něj, bude to rychlejší. ZIP archiv rozbalte, obsahuje obraz s operačním systémem (přípona .img). Ten do SD karty můžeme nahrát přes aplikaci dd (pouze na unixových systémech).
$ sudo dd bs=1m if=image.img of=/dev/DISK
Podrobnější informace pro Windows, Linux i Mac OS naleznete v dokumentaci na oficiálním webu.
Jakmile máte vše propojeno a nachystáno, zapojte převodník do USB ve vašem počítači, spusťte terminál a v něm příkaz:
$ screen /dev/tty.XXX 115200
kde /dev/tty.XXX
je připojený převodník a 115200
je baud rychlost s jakou Raspberry komunikuje.
Pokud používáte Windows, připojte se k převodníku pomocí Hyperterminalu nebo PuTTY. Baud rychlost je stejná (115200
), převodník bude označen COMx
.
Teď Raspberry s připojenou SD kartou zapněte. Pokud je vše v pořádku, měli byste v terminálu vidět logování kernelu a poté přihlašovací prompt. V případě Raspbianu je uživatel pi a heslo raspberry.
Problémy
Pokud se vám nedaří sériový výstup zprovoznit, zkuste následující:
- Zkontrolujte zapojené signály, mají být GND, RX a TX.
- Přehoďte na jedné straně kabelu vodiče RX a TX.
- Vyzkoušejte jiné baud rychlosti, např. 19200, 57600, 115200, 230400.
- Je SD karta správně naformátovaná? Bliká po zapnutí dioda ACT?
Závěr
Sériový výstup můžete na Raspberry PI využít buď pro práci s terminálem anebo pro ovládání jiných periferií (např. Arduina, rádiových modulů a jiné elektroniky komunikující přes UART). V tom druhém případě budete muset udělat pár úprav v nastavení operačního systému — vypnou logování kernelu a aplikaci getty na rozhraní UART.
Nejdřív upravte soubor /boot/cmdline.txt
vymazáním těchto příkazů:
console=ttyAMA0,115200 kgdboc=ttyAMA0,115200
Poté otevřete soubor /etc/inittab
a vymažte celý řádek na kterém je ttyAMA0
:
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
Teď zkuste Raspberry PI restartovat. Na sériovém výstupu by již neměl být log kernelu ani přihlašovací terminál. K Raspberry se teď připojte přes SSH a sériový výstup můžete použít dle libosti.