Table of Contents

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.

11267915_916451021731540_1557505356_n.jpg

Hardware Design

Lista de piese:

Microcontroller-ul folosit este Atmega324PA, nu Atmega644.

Software Design

Mediu de dezvoltare:

Biblioteci si surse 3rd-party:

Software:

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

rpshell_result.jpg

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

Software

Bibliografie/Resurse

forkpty man page

forkpty example

WiringPi

serial communication using WiringPi example