Viper una suite Python per l'IoT.
Oggetto di questo nuovo articolo sara` la presentazione di Viper un sistema integrato hardware (che ha come base il microcontrollore ARM Cortex a 32 bit con adeguato insieme al contorno di sensori,attuatori e boards di espansione).Viper e` l`applicazione del linguaggio Python secondo il paradigma embedded per applicazioni in tempo reale.Una suite che permette lo sviluppo ad alto livello (con focus minimo sui dettagli hardware del motore sottostante di elaborazione,acquisizione dati) di applicazioni volte alla cosiddetta Internet delle cose costituita da piccoli sistemi autonomi utilizzabili in domotica,applicazioni medicali con connessione estesa in cloud.Di seguito il link alla pagina web relativa al progetto http://www.viperize.it/ Le schede per realizzare prototipi in hardware sono le seguenti: Arduino Due http://doc.viperize.it/0.2.0.0007/board_arduino_due.html#arduino-due , ST Nucleo F401RE http://doc.viperize.it/0.2.0.0007/board_st_nucleo_401.html#st-nucleo , Particle Core http://doc.viperize.it/0.2.0.0007/board_spark_core.html#spark-v2 , Particle Photon http://doc.viperize.it/0.2.0.0007/board_photon.html#particle-photon.
Un sistema operativo real time si differenzia da un sistema operativo standard per personal computer ad esempio (ma non solo dato che qualsiasi sistema di computer ha bisogno di un programma "master" che fornisca i servizi base ai programmi applicativi utente in esecuzione unitamente alla gestione dei processi,delle operazioni di input/output ecc.) per due aspetti fondamentali: la correttezza delle operazioni portate a termine possiede ora una correlazione con il tempo entro il quale vengono completate, lo schedulatore dei processi agisce secondo un preciso schema temporale che prevede l`esistenza di deadline superate le quali il risultato viene considerato non corretto.Tutte le sonde automatiche recenti inviate dall`Uomo essendo veri e propri sistemi embedded complessi sono "mosse" da sistemi operativi real time come ad esempio QNX Neutrino http://www.apogeonline.com/webzine/2003/06/25/01/200306250101
L`approccio seguito dalla suite Viper e` quello di generare script in linguaggio Python https://www.python.org/ dotati di multithreading attraverso una toolchain che comprende una macchina virtuale,un sistema integrato di editing IDE ed un bios rivolto ai sistemi RTOS in tempo reale embedded CHIBIOS http://www.chibios.org/dokuwiki/doku.php; sono supportate tutte le architetture Cortex ARM M0,M1,M2 ed M3.La definizione di sistema ed applicazione "embedded" di solito si rifa` ad un paradigma secondo il quale il software/programma risiede in modo permanente ovvero non volatile all`interno di un dispositivo industriale o consumer grade con una interfaccia utente.Possono rientrare in questo paradigma quindi i controllori logici programmabili industriali, i tablet e smartphone,i sistemi basati su microcontrollori come Arduino,Raspberry Pi ecc.
iper VM support the following features: - ADC with parallel sampling - SPI communication - PWM control - DIO management - External interrupts - CC3000 wifi module driver integrated on SparkCore or available as Adafruit Arduino Shield (http://www.adafruit.com/products/1491) - Adafruit Neopixel LED matrix driver (http://www.adafruit.com/category/168) - Arduino ethernet shield - I2C library - IR remote read and write control.
La macchina virtuale Viper VM offre supporto a convertitori analogico/digitale con campionamento parallelo, comunicazione su interfaccia SPI (serial peripheral interface ovvero un tipo di interfaccia seriale che mette in comunicazione microcontrollori con dispositivi vari ovvero altri microcontrollori,accelerometri,giroscopi,circuiti integrati di conversione del segnale ecc.), controllo a modulazione di larghezza di impulso PWM, interruzioni esterne,un modulo WiFi CC3000,moduli Arduino Ethernet,interfaccia Inter Integrated Circuit alias I2C ecc.
[sdonations]1[/sdonations]