Fatti i dovuti test, per il momento la scelta è stata Focal Fossa x64, la release 20.04 LTS di Ubuntu in versione Mate. Volendo lavorare con agilità, ma con una certa stabilità, ho preferito affidarmi alla versione supportata a lungo termine, piuttosto che rischiare con la 20.10 Groovy Gorilla. Non è escluso ovviamente che a breve faccia l’upgrade per sfruttare tutte le migliorie dedicate al Raspberry 4 da 4/8Gb. Ma devo documentarmi per non fare il salto nel buio, visto che con Luglio 2021 scade il supporto. Magari sarà matura giusto nei prossimi giorni per divenire la prossima LTS!
Intanto anche lo stage vira verso l’ultimo mese, e la complessità dei progetti formativi aumenta. Ormai da una settimana sono alle prese con un’app che dovrebbe gestire l’input e l’output da parte di fonti virtuali di segnale. Virtuali perché per specifica avrà il compito di interfacciarsi a qualsiasi apparecchiatura, soltanto inserendo nel mezzo il driver specifico per l’accesso fisico. Il resto rimarrà trasparente e sarà gestito in maniera identica da microservizi in Spring Boot.
Al momento ci sono due servizi: uno che restituisce le configurazioni JSON dei vari nodi di driver implementati, l’altro che legge e scrive i segnali che riceve dagli apparati. L’accesso GET al secondo servizio permette lo start e stop del flusso dati, chiedendo le configurazioni persistenti su PostgreSQL fornite dal primo servizio via API. Chicca in questo caso, il repository Nexus di Oncode, in cui risiede il Maven Repository aziendale con il proxy verso quello ufficiale. Attualmente su di esso ho appoggiato la parte del codice dei DTO comuni ai due servizi, così da unificarli e renderli sicuramente compatibili, oltre che poterli aggiornare una sola volta, con un enorme risparmio del codice.
Sarà interessante magari provare a leggere dalla GPIO del Rasperry prossimamente. Tanto con Focal Fossa, ho accesso a tutte le IDE e repository per fare deploy del codice Spiring Boot direttamente sulla Micro SD via SSH. Al momento la priorità è terminarla e provare ad interfacciarla con uno dei PLC che sono in ufficio!
Ma tornando al mio “Lampone” … tra un impegno e l’altro ho assemblato con cura e diligenza l’apparato sfruttando appieno tutte le attuali potenzialità dell’hardware a disposizione. In realtà manca una chicca dalla Cina, ma quella avrà tempi molto lunghi prima di poterla aggiungere.
Fissati con pasta termo-conduttiva adesiva i 4 heatsinks utilizzando pinzetta antistatica. Appoggiata la scheda sui primi layers del case e montata la ventola sull’ultimo.
Chiuso il case, connesso il cavo 40 pin alla GPIO e fatti fuoriuscire i due dupont morbidi per l’alimentazione della ventola. Non avendo accesso diretto, ho dovuto usare lo stratagemma di collegamento esterno.
Connessione del T-Cobler alla breadboard e dupont di alimentazione collegati a +5V e GND. Inserita la Micro SD con l’immagine di Focal Fossa – Mate x64.
lnstallato il sistema operativo, ho disinstallato tutto il software superfluo aggiungendo Chromium (Chrome non supporta le architetture ARM), abilitato l’SSH e configurato il server X11Vnc per accedere in desktop remoto senza utilizzare un video. L’unico vero problema è che se non c’è una sessione X11 aperta è possibile soltanto lavorare a riga di comando, senza interfaccia grafica, ma con la protezione appunto SSH. Tutto è filato molto liscio, a parte un piccolo problema conosciuto con alcuni mouse che tendono a laggare e per cui occorre sistemare un parametro nella cartella boot di Linux.
Ormai non resta che decidere con cosa iniziare … Spring? Web Server? Python? Qualche libreria Java per giocare con la GPIO? Una comunicazione di sorta con Arduino? Confesso di essere molto indeciso, soprattutto se montare IDE o lavorare solo in remoto facendo deploy, quindi con servizi essenziali quali Tomcat … o sfruttarlo direttamente embeddato in Boot in un JAR … lo scoprirete presto!
E intanto i colloquio con i potenziali clienti procedono!!