Ionuţ PĂTULEA, Răzvan-Mădalin MATEI - Shell pe LCD de la Raspberry Pi cu tastatura
Autorii pot fi contactati la adresele: Login pentru adresa
Introducere
Proiectul reprezinta o modalitate usor accesibila si foarte convenabila de utilizare a unui Raspberry Pi. Practic proiectul inlocuieste nevoia de un monitor si un cablu HDMI pentru conectarea unui RP. Printr-o tastatura legata la RP se pot da comenzi in shell iar output-ul acestora este afisat pe un LCD.
Ideea de baza de la care am pornit este o problema reala si anume: imposibilitatea de a folosi un Raspberry Pi atunci cand nu este disponibil un monitor si un cablu HDMI. Plecand de la aceasta problema am dezvoltat o solutie portabila si usor de folosit, utilitatea proiectului constand chiar in acest lucru.
Descriere generală
Tastatura trimite comenzi la Raspberry Pi
→ Raspberry Pi le interpreteaza intr-un thread principal iar in alt thread redirectioneaza datele la UART
→ Microcontroller-ul citeste datele venite de la UART si le paseaza LCD-ului
→ LCD-ul afiseaza output-ul comenzilor.
Hardware Design
Lista de piese:
1 Raspberry Pi B+ v1.2
1 Tastatura
1 LCD 16×2
1 Breadboard
20 jumper wires
Microcontroller-ul folosit este Atmega324PA, nu Atmega644.
Software Design
Mediu de dezvoltare:
Biblioteci si surse 3rd-party:
Raspberry Pi:
WiringPi pentru comunicatia seriala
-
Software:
Raspberry Pi: pentru transmisia seriala se foloseste biblioteca wiringPi. Programul executa comenzile primite la stdin si redirectioneaza stdout si stderr-ul intr-un pipe. Din celalalt capat al pipe-ului, intr-un thread separat, de citesc datele si se trimit pe seriala.
Placuta de baza: fiecare caracter primit pe seriala este afisat de LCD si se trateaza cazul in care este primit caracterul newline.
Pe seriala se trimite doar output-ul comenzilor intrucat LCD-ul folosit este prea mic pentru a afisa si input-ul. Daca cineva va dori sa extinda acest proiect si sa afiseze intreaga consola pe un LCD mai mare, va recomandam sa folositi
forkpty.
Rezultate Obţinute
Concluzii
Daca cineva va dori sa extinda acest proiect, va recomandam urmatoarele:
Asezati placa intr-o cutie frumoasa.
Din cutie sa se vada doar LCD-ul si sa iasa doar 2 fire de alimetare si unul pentru seriala.
Faceti alimentarea placutei de la Raspberry Pi.
Folositi un LCD grafic sa se vada consola exact ca intr-un terminal Linux. Nu e asa dificil; faceti redirectare in pipe si citire in thread separat cum e in codul pus la dispozitie, iar forkpty va trimite toate caracterele din consola (veti putea de exemplu sa scrieti in vim).
Download
Bibliografie/Resurse