Telit è un nome molto rinomato se lo si associa ad applicazioni m2m ed oggi approfondiamo l'argomento dando uno sguardo più ampio alle sue soluzioni per scoprire come ha fatto a diventare così affidabile, un punto di riferimento, soprattutto in questa branca della tecnica tanto avveniristica da rappresentare il futuro dell'integrazione e dell'interazione.
Le performance dei moduli di comunicazione Telit non sono soltanto estremamente valide perché l'hardware è performante né tanto meno sono interessanti solo perché molti moduli sono espandibili tramite interfacce dedicate. Il punto forte è la programmazione, il firmware built-in, nonché il suo supporto.
Possibilità così potenti e versatili permettono l'integrazione al fine di raggiungere ogni tipo di obiettivo progettuale e questo, naturalmente, rende le soluzioni vincenti praticamente in ogni applicazione.
Senza contare che nell'immagine principale di questo articolo abbiamo voluto evidenziare un diagramma a blocchi funzionale abbastanza esplicativo di come si gestisca l'accesso alle risorse e dal quale si intuiscono la consequenzialità e le potenzialità.
Ciò nondimeno, non è tutto perché l'azienda fornisce agli sviluppatori gli strumenti per lavorare direttamente sui suoi moduli così da eliminare la necessità di software di terze parti oppure ulteriore hardware di interfaccia. Una scelta intelligente che garantisce stabilità e precisione.
Ma facciamo un passo indietro e cerchiamo di dare un quadro più ampio, una visione di insieme più completa rispetto a questo panorama; parliamo di ciò che dichiara Cosmin Buhu, Telit’s Technical Support Forum Administrator, di come la pensa e di qual è il suo punto di vista.
Parliamo di integrazione
Su questo tema, è necessario che sia le aziende sia i clienti si chiedano se avere delle soluzioni all-in-one, sia hardware sia software, sia davvero la soluzione migliore. È davvero più stabile? È più completa? Ci sono più vantaggi che svantaggi?
Ad una domanda del genere, Buhu risponde facendo subito notare che questo stesso concetto cambia l'economia globale del progetto. E questo dipende dal fatto che una soluzione così completa incide particolarmente sul time-to-market.
E questo perché i PCB possono essere più piccoli, ci saranno certamente meno componenti, connessioni ed interfacce, il che può comportare anche risparmi in termini di royalties e licenze.
Ma naturalmente non solo perché tutto questo rende più semplice seguire il cliente in qualunque tipo di problema; l'azienda conosce meglio la soluzione e la studia con più facilità.
D'altronde questo concetto è intuitivo perché quando più componenti interagiscono tra di loro ci sono diversi livelli di astrazione, partendo dall'hardware verso il software, che devono dialogare e possono dare origine a problemi diversificati non soltanto per tipo ma anche per origine.
Pensate, per esempio, allo spessore di una pista su circuito stampato sulla quale debba transitare il segnale di clock e che sia stata fatta con uno spessore più grande di quello previsto: sono possibili fenomeni di interferenza, sia ingresso sia in uscita (accoppiamento), e tanti altri ancora.
Una soluzione ingegnerizzata, completa, si candida a ridurre almeno il numero di problemi di questo tipo.
Unico aspetto negativo? I sistemi in tempo reale ed a bassa latenza non possono essere realizzati utilizzando Python a bordo. Il che, tutto sommato, non causa grossi problemi dal momento che non si tratta di un requisito canonico delle applicazioni m2m.
Come funziona
Dal punto di vista tecnico, si utilizzano i moduli come delle piattaforme di comunicazione che sono pilotate da un host esterno che utilizza i comandi AT attraverso interfaccia USB oppure RS232.
Per eseguire i task si utilizza sia l'host sia lo stack TCP/IP, interno.
Quando avviene l'utilizzo come piattaforma integrata, l'applicazione utente viene “spostata” dall'host esterno, che naturalmente è completamente indipendente dal progetto, all'interno del modulo che è dotato del Python script engine.
Un'operazione di questo tipo, naturalmente, ha bisogno di soddisfare requisiti di memoria ma anche di capacità di calcolo. E non solo, dal momento che c'è da considerare l'accesso diretto a diverse risorse hardware: porte seriali, GPS, GPIO, ADC e così via dicendo.
La cosa interessante è che esistono librerie specializzate che permettono di semplificare l'accesso a queste risorse. Questo rende più completamente funzionale la soluzione.
Sì ma perchè Python?
Questa è, probabilmente, la domanda più importante alla quale rispondere. D'altronde, Python è uno strumento e come tutti gli strumenti ha delle caratteristiche, delle potenzialità e anche dei limiti. Allora perché scegliere questo e non altri?
A questa domanda Buhu risponde che è, prima di tutto, un linguaggio di programmazione ad alto livello molto semplice da imparare.
Si tratta di una soluzione molto efficace e versatile e come tutte le soluzioni di questo tipo alcuni la definiscono minimalista, altri ci tengono a specificare che si tratta di “potenza pura”.
Inoltre si tratta di un linguaggio di programmazione ad oggetti che rende il codice molto semplice da controllare, leggere, e commentare soprattutto per la sua intrinseca modularità
Questi sono tutti aspetti molto apprezzati dei programmatori e tenuti in grande considerazione. Con l'aggiunta delle giuste librerie, diventa semplicemente uno strumento di lavoro imbattibile. E se volete saperne di più su quello che altri hanno realizzato e su come questa azienda abbia intenzione di continuare il suo impegno nell'ambito dell'm2m, vi consigliamo di dare un'occhiata ad una pagina dedicata che, dichiara Telit, serve a “browse, inspire, innovate, build and succeed!”
Non sarebbe male se parlaste di Python, magari in un corso. Non so se sono l'unico a cui interesserebbe. Che ne dite?
Quoto in toto l'idea di Antonello
Magari applicandol0 al calcolo scentifico e al Raspberry PI… Sarebbe davvero una OTTIMA IDEA!!!!