Jump to content

Aiuto: assemblare e programmare un sistema embedded


Recommended Posts

Ciao a tutti. Sono nuovo nel forum.

 

Sono circa 7 anni che programmo, e volevo affacciarmi alla programmazione hardware. L'obbiettivo finale era assemblare un semplice e-book reader che sia in grado di leggere dei pdf (o per iniziare anche dei semplici txt) e stamparli a schermo, e ricevere input da 4/5 pulsanti.

 

Voglio iniziare questo percorso per motivi didattici, quindi non è un problema se prenderà molto tempo, se non arrivo subito, se devo affrontare vari step ecc :) Mi rendo conto che il progetto forse è un po' ambizioso, ma non credo sia inarrivabile :)

 

Vi scrivo perché mi servirebbe una mano su più di un aspetto. Io pensavo di realizzare un sistema embedded che giri con una distro linux strippata al massimo, in modo da mantenere solo le poche funzionalità utili al progetto (fondamentalmente un programma che legga i file (txt o pdf), un menu, l'integrazione HW e i driver). La distro sarebbe costruita da zero, e non levando pezzettini ad un altra distro. Mi sembra un approccio più pulito e leggero.

 

Ora vi chiedo:

a) quale scelta mi consigliate in termini di hw? Esiste qualcosa che sia assemblabile e non "readymade", ma alla portata di un neofita? Arduino penso sia off-limits (è grado di leggere un pdf?) e comunque cercavo qualcosa che mi porti ad una comprensione più profonda di quello che sto facendo. Quel tipo di percorso che la prossima volta, se devo fare una cosa completamente diversa, almeno ho una vaga idea di dove mettere le mani insomma.

b) considerato che devo metterci uno schermo, si limitano le scelte in termini di hardware?

c) qualcuno ha esperienza con progetti simili?

d) sapreste indicare risorse dove reperire documentazione e materiali?

 

grazie mille dell'aiuto ;)

Link to comment
Share on other sites

Oddio un conto è stampare a schermo del testo e un conto è leggere un pdf di svariati mega.

Arduino di fatto non è un computer, ed ha un suo linguaggio di programmazione. Il linguaggio di arduino è anche ben nutrito, ma come ho detto, mi interessa imparare la programmazione hardware, non quella di arduino nello specifico (che è più simile alla programmazione normale, solo che invece di far agire uno schermo fai agire altre periferiche)

Arrivato alla fine mi ritrovo che so usare arduino, ma non è quello che voglio. Voglio iniziare a capire come si FA l'arduino (magari con mire un po' meno ambiziose hehehe)

Mi hai proposto una soluzione dove c'è una macchina per risolvere le più disparate pratiche. Io cercavo più una pratica (o una base di essa) per cerare le più disparate macchine.

 

Ovviamente c'è un limite a tutto (anche se non so, al momento, dove esso sia), e non pretendo di costruire i condensatori che andranno nel circuito. Ma posso realisticamente assemblare l'hardware? Se no quale board consigliate? Vorrei comunque che sia in grado di far girare un OS minimale.

Link to comment
Share on other sites

devi imparare in primis i linguaggi C++, Java. E comunque quello che vuoi fare ha in primis limitazioni a livello HW in quanto non credo vendano board aperte anche perche` spesso l'HW che ci sta dietro e` fatto su misura delle applicazioni o OS che ci devono girare.

 

Qualcosa di basilare e` questo

 

http://www.instructables.com/id/How-to-make-your-own-Arduino-board/

 

http://www.instructables.com/id/Build-Your-Own-Arduino/

Link to comment
Share on other sites

Mi sa che non ci stiamo capendo. Non voglio fare l'arduino nello specifico, voglio capire come e dove mettere le mani su cosa per realizzare un sistema embedded, NON UN PROGETTO ARDUINO

 

Programmo in svariati linguaggi da anni, fra cui c e c++ (anche se c spesso e volentieri basta e avanza). Java non lo uso, ma me lo stai consigliando per una reale necissità o per gusto personale? Non capisco come un linguaggio come java possa essere utile o anche solo utilizzabile per la programmazione a basso livello. Una volta che mi ci gira un os ci metto un po' quello che voglio no? ;)

Link to comment
Share on other sites

Ti ho capito benissimo ma il massimo che puoi fare tu come utente finale e privato e` questo ovvero un arduino o al massimo un programmatore di BIOS o altri circuiti semplici con la programmazione di quale controller base. Come ti ho detto le board o PCB come possono essere quelle di una mainboard o quelle di un circuito avanzato non puoi ricrearle tu in qualita` di utente finale. Servono macchina specifiche e spesso integrati che non puoi prendere. Il Java ed il javaScript vengono utilizzati spesso in varianti di board embedded.

Link to comment
Share on other sites

Ciao e benvenuto!

Il tuo progetto è molto interessante!

Immagino che le tue motivazioni sono puramente di ricerca/sfizio personale e non certo in termini di abbattimento dei costi o ottenimento di un prodotto migliore di ciò che puoi trovare in commercio.

 

Suppongo che difficilmente potrai stamparti da te il PCB e che non avendo conoscenze approfondite di elettronica difficilmente sarai in grado di disegnartelo su misura per poi farlo stampare (E' comunque una strada possibile, quella poi attuata dai produttori...)

L'approccio più semplice che mi viene in mente è utilizzare un raspberry PI. L'Arduino base non è ovviamente in grado di gestire una simile applicazione. L'unico Arduino che forse è abbastanza potente per i tuoi scopi è l'Intel Galileo.

 

Penso che comunque Raspberry PI ti facilita molto le cose, avendo già una distro linux al suo interno che potrai facilmente adattare ai tuoi scopi. Qui ad esempio ho trovato un piccolo display e-ink che potresti connettere al raspberry pi

http://www.embeddedartists.com/products/displays/lcd_27_epaper.php

 

 

Nella nostra università si usano spesso Armadeus ma c'è scarsa documentazione e scarso supporto della comunità, quindi penso che sia una strada molto impervia.

 

Altre alternative? Esistono dei dev-kit specifici per sviluppare applicazioni per e-ink. googlando un attimo ho trovato questo, ma son sicuro che troverai di meglio: http://www.digikey.com/product-detail/en/02170-100/867-1001-ND/3507390

Link to comment
Share on other sites

  • 3 weeks later...
  • 6 years later...

Ciao, molto interessante il tuo progetto! Realizzare progetti amatoriali è il miglior modo per apprendere le basi e i rudimenti della creazione di software embedded.
Quando ero studente ne realizzavo anch'io parecchi, e ormai da un po' di anni sono finito a lavorare proprio in questo settore.
In generale comunque ti sono state consigliate ottime soluzioni, alle quali aggiungerei solo l'Asus Thinker Board S che usato di recente per un progetto homemade analogo e che ha sempre presentato ottime prestazioni e massima affidabilità.
 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...