Newsgroup: it.hobby.elettronica.digitale
Titolo: Piattaforma Linux per macchina industriale

Non sono avvezzo a sviluppi con schede ARM + Linux.
Recentemente mi hanno chiesto un parere per ottimizzare costi risolvendo beghe riguardo un macchinario che ruota intorna ad un miniPC industriale con 5 RS232 (almeno 4 essenziali), RS485, Ethernet, USB, uscita VGA, touch-screen, GPIO ecc.
Il grosso problema è soprattutto l'ambiente Windows Embedded pieno di buchi in relazione al software sviluppato (USB che smettono di funzionare appena ci si collega in remoto via LAn, ad esempio).
Com'è intuitivo, ho consigliato di migrare su piattaforma Linux con ambiente grafico sufficiente al porting.
 
Quale distribuzione si usa di solito (possibilmente free)?
L'ambiente grafico Xfce può essere sufficiente o c'è di meglio?
esiste qualche periferica supportata per moltiplicare le seriali?
Consigliate una linea particolare di motherboard ben supportata basata su ARM?
 
Grazie.
 
Piccio.

 Consigliate una linea particolare di motherboard ben supportata basata su ARM?
 
 
Ma e` un marchingegno da rifare ex novo anche dal punto di vista 
hardware o vogliono riutilizzare quello esistente?
 
Perche` proprio ARM e non una normale architettura Intel? Non so, e` 
solo un'impressione che si potrebbero avere meno incognite, il mio 
minipc i3 con Ubuntu dal 2013 non ha avuto un solo crash di sistema (e 
Ubuntu non credo proprio che sia un sistema pensato per ambienti 
industriali). Invece sul Raspberry ho avuto rogne con il traffico RS232 
in full duplex (un semplice test loop tx-rx).
 
Trattandosi di macchinari industriali e non PC da casa credo che la 
"cordata" Debian con componenti il piu` possibile "standard" sia la piu` 
indicata.
 
Xfce e` un normale ambiente grafico desktop (neanche aggiornatissimo da 
quanto ho capito) che non richiede molte risorse ed e` abbastanza 
personalizzabile (su PC scarsi Atom et similia ho comunque visto girare 
meglio Mate anche rispetto a Lxde). Comunque dal punto di vista delle 
applicazioni non cambia praticamente nulla, a maggior ragione se si 
tratta di applicazioni server che girano in background magari senza 
interfaccia grafica.
 
Grossi grossi dubbi pero` riguardo GPIO e touch. Il mondo touch e` 
ancora in fase iniziale (ubuntu touch su dispositivi mobili), se tra 
qualche anno diventera` matura la famosa convergenza tra le piattaforme 
allora se ne potranno vedere delle belle.
 
Non ho esperienza con schede multi RS232, finora ogni seriale fisica o 
USB ha sempre funzionato al primo colpo senza bisogno di installare 
alcun driver (nel caso fossero diverse non saprei pero` come assegnare a 
ciascuna un id univoco). Sicuramente un ethernet serial server esterno 
multiporta toglie di mezzo ogni possibile incompatibilita` hardware/driver.

 multiporta toglie di mezzo ogni possibile incompatibilita` hardware/driver.
 
Quelle su LAN costano un botto mentre le USB -> RS232(x4) sono accessibili e supportate visto che fanno capo ad un chip FT232 molto consolidato.
 
Ti ringrazio per le preziose info!
 
Piccio.

 Quale distribuzione si usa di solito (possibilmente free)?
 
Debian è fra le più affidabili... cmq, un sistema linux richiede la 
supervisione di un sistemista linux, di free c'è solo la distribuzione.
 
..

 id univoco)
 
Qualche regola udev?
 
-- 
Andrea
 

 Ho indicato Xfce perché l'ho visto dal vivo ed è più che sufficiente.
 
Probabilmente è anche più che sufficiente perché un desktop environment 
come quello si porta appresso una serie di programmi per l'utente 
comune che probabilmente nel tuo caso non servono.
 
Non che faccia male, se hai lo spazio, ma ricordo che forse su questo 
stesso gruppo qualcuno suggeriva di usare le librerie Qt che di norma 
sono "solo" un application framework ma hanno anche l'opzione di 
scrivere in framebuffer (QVfb) eliminando la dipendenza da X11/Xorg (e 
le relative risorse).
Questo però è utile solo nel caso tu non voglia anche far girare 
software compilato per X, in questo caso hai ovviamente bisogno di 
istallarlo.
 
Sempre nell'ambito compatto c'è Microwindows, un ambiente grafico 
alternativo a X Window System, che oggi ha cambiato nome nel semplice 
"Nano-X Window System" perché Microsoft gli scassava le palle con il 
marchio registrato "windows".
Il vantaggio è che "On 16 bit systems, the entire system, including 
screen, mouse and keyboard drivers runs in less than 64k."
Dovrebbe supportare direttamente Win32, non so se questo eventualmente 
ti semplifica un porting dell'applicazione esistente.
 
-- 
Andrea
 

 marchio registrato "windows".
 
Queste preziose info esondano dalle mie competenze attuali.
Credo che comincerò da una Debian montata su vecchio PC con mezzo giga di RAM, tanto per emulare le condizioni stringenti di un nanoPC commerciale.
La vera avventura sarà montare diverse interfacce grafiche tra quelle indicate per valutarne le prestazioni.
A pari merito, dovrò verificare la compatibilità con un convertitore USB -> RS2332 a 4 porte basato sul diffuso FT232 (infinitamente meno costoso rispetto alle versioni LAN server).
Poi vedremo per gli ambienti di sviluppo supportabili (Delphi, Phyton, ecc) per permettere il porting dell'attuale software che non si sa ancora come è stato scritto.  :(
 
Intanto grazie a tutti, è sempre un'emozione mungere dai master!  ;)
 
Piccio.
 

 Credo che comincerò da una Debian montata su vecchio PC con mezzo giga di RAM, tanto per emulare le condizioni stringenti di un nanoPC commerciale.
 
 
Per carita` niente swap!
 
 

 Per carita` niente swap!
 
Se ti riferisci alla partizione di swap, contaci: sarebbe il miglior modo per mandare al creatore la flash!
Poi dovrò capire - aumentando la RAM - come configurare il sistema senza tale partizione...
 
Piccio.

 supervisione di un sistemista linux, di free c'è solo la distribuzione.
 
La variante real-time QNX si trova ancora?
 
 
 
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 

 Poi dovrò capire - aumentando la RAM - come configurare il sistema senza tale partizione...
 
Si mi riferivo alla partizione (ma potrebbe essere anche un file come in 
win). Oltre alla flash pensavo al fatto che un sistema di controllo 
industriale deve essere il piu` deterministico prevedibile e testabile 
possibile, non puo` permettersi di andare a singhiozzo casualmente 
perche` ogni tanto inizia a swappare.
 
Per il resto non so se le USB sono diventate cosi` affidbili da tenerci 
attivo un controllo processo H24 senza fermi per mesi e mesi. Mi viene 
in mente una CNC dove ogni tanto c'era da staccare e riattaccare la USB 
per presunti problemi di ground bounching, problema quasi scomparso 
alimentando il PC con un ups, ma comunque indicativo di qualche 
cablaggio errato.
 
Anche la scelta del linguaggio potrebbe sottostare a vincoli mission 
critical o human safe. Per quanto ne so le norme di sicurezza in sistemi 
critici vietano l'uso dinamico della memoria e impongono l'allocazione 
statica, a maggior ragione in sistemi con poca memoria, il che ad 
esempio fa gia` vacillare Python (ma anche Java) che in pratica usa 
sempre e solo l'allocazione dinamica automatica (e ci si deve "fidare" 
del zelante garbage collector).