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:

  • 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:

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

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

Bibliografie/Resurse

pm/prj2015/ideaconu/shellrp.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0