Corsi on-line

IoTJS: un framework JavaScript per l’Internet of Things

IoTJS è un framework JavaScript che ha l’obbiettivo di fornire una piattaforma interoperabile per l’IoT (Internet of Things) basata sulle tecnologie standard per il Web, si tratta di una libreria pensata per lavorare su applicazioni concepite per dispositivi dotati di risorse limitate, come la maggior parte degli “oggetti connessi” di uso quotidiano, il cui equipaggiamento in termini di memoria RAM non è particolarmente elevato.

Raspberry-PiRilasciato sotto licenza Open Source, IoTJS basa il suo funzionamento su JerryScript, un JavaScript engine libero, aperto ed estremamente leggero progettato appositamente per device quali i micro-controller che, notoriamente, presentano una quantità ridotta di risorse. Nello specifico parliamo di un motore sviluppato con la collaborazione di Samsung e creato su misura per dispositivi che posso fornire meno di 64 KB di RAM e meno di 200 KB di ROM space.

IoTJS si appoggia su JerryScript per la compilazione on device, l’esecuzione degli script e l’accesso alle periferiche attraverso JavaScript. Viene inoltre utilizzata la libreria multi-piattaforma libuv, originariamente ottimizzata per l’utilizzo con NodeJS, per la gestione asincrona degli eventi di input e output; ciò garantisce un’ampia compatibilità cross-platform che va da Linux a NuttX, da Raspberry Pi 2 a Intel Edison (in fase sperimentale) fino a OSX 10.10 (come host di sviluppo).

Per accedere ai sorgenti di IoTJS è sufficiente clonarli dal repository Git ufficiale:

git clone https://github.com/Samsung/iotjs.git
cd iotjs

Per gli sviluppatori è disponibile un file Python per il buiding richiamabile da:

tools/build.py

più un file JavaScript per l’esecuzione dei test:

build/x86_64-linux/debug/bin/iotjs tools/check_test.js

Diverse le feature già supportate da questo progetto ancora in fase embrionale, soprattutto grazie a libuv che mette a disposizione il supporto per i socket TCP e UDP, la risoluzione dei DNS, le operazioni asincrone su file e file system, la gestione degli eventi di sistema, la manipolazione dei segnali provenienti dai sensori e il Thread pool per semplificare e rendere più efficiente l’utilizzo dei processi all’interno di un’applicazione.

Via: IoTJS

Post correlati
I più letti del mese
Tematiche