pensando.itpensando.it
  • Blog
  • In Evidenza
    • Affiliate Marketing
    • Gaming
    • Migliori Negozi Online
    • Tutorial
    • Mondo Apple
    • Recensioni
    • WordPress
    • Fotografia
  • Tecnologia
    • WordPress
    • Temi WordPress
    • Plugin WordPress
    • Telegram
    • Node.js
  • Marketing
    • Affiliate Marketing
    • Inbound Marketing
    • Personal Branding
    • SEO
  • Guide
    • Migliori Ecommerce
    • Mondo Apple
    • iPhone
    • Gaming
    • Recensioni
    • Tutorial
  • Contatti
    • Chi Sono
    • Contattami
    • Il Progetto
    • Portfolio
    • Cookie Policy
    • Privacy Policy
Come integrare ChatGPT 300x199 - Come integrare ChatGPT tramite API REST e librerie
Come integrare ChatGPT tramite API REST e librerie
5 Gennaio 2023
come scegliere ecommere iphone ricondizionati 300x199 - Come scegliere un ecommerce che vende iPhone Ricondizionati
Come scegliere un ecommerce che vende iPhone Ricondizionati
15 Dicembre 2022
smartphone a rate 300x199 - I Migliori Siti  dove Comprare Smartphone a Rate
I Migliori Siti dove Comprare Smartphone a Rate
14 Novembre 2022
Facebook Twitter Instagram YouTube LinkedIn Telegram
pensando.itpensando.it
  • Blog
  • In Evidenza
    1. Affiliate Marketing
    2. Gaming
    3. Migliori Negozi Online
    4. Tutorial
    5. Mondo Apple
    6. Recensioni
    7. WordPress
    8. Fotografia
    In Evidenza
    come scegliere ecommere iphone ricondizionati 1024x680 - Come scegliere un ecommerce che vende iPhone Ricondizionati
    Come scegliere un ecommerce che vende iPhone Ricondizionati
    Di Alessandro De Marchi15 Dicembre 20220
    Recenti
    come scegliere ecommere iphone ricondizionati 300x199 - Come scegliere un ecommerce che vende iPhone Ricondizionati
    Come scegliere un ecommerce che vende iPhone Ricondizionati
    15 Dicembre 2022
    smartphone a rate 300x199 - I Migliori Siti  dove Comprare Smartphone a Rate
    I Migliori Siti dove Comprare Smartphone a Rate
    14 Novembre 2022
    cambia operatore mobile4 300x169 - Cambia Operatore Telefonico Mobile: La Guida Completa
    Cambia Operatore Telefonico Mobile: La Guida Completa
    19 Settembre 2022
  • Tecnologia
    1. WordPress
    2. Temi WordPress
    3. Plugin WordPress
    4. Telegram
    5. Node.js
    6. Vedi Tutto
    Rytr La Piattaforma di AI che ti aiuta a scrivere contenuti efficaci 1024x682 - Rytr: La Piattaforma di AI che ti aiuta a scrivere contenuti efficaci
    Rytr: La Piattaforma di AI che ti aiuta a scrivere contenuti efficaci
    21 Dicembre 2021
    Come installare wordress in locale su macOs 9 1024x683 - Come installare wordress in locale su macOs
    Come installare wordress in locale su macOs
    30 Settembre 2021
    wordpress modalita diagnostica 1024x661 - Come attivare la modalità diagnostica su wordpress
    Come attivare la modalità diagnostica su wordpress
    1 Luglio 2021
    bloccare spam contact form 1024x531 - Come fermare lo spam di Contact Form 7 su WordPress
    Come fermare lo spam di Contact Form 7 su WordPress
    21 Giugno 2021
    wordpress modalita diagnostica 1024x661 - Come attivare la modalità diagnostica su wordpress
    Come attivare la modalità diagnostica su wordpress
    1 Luglio 2021
    neve-tema
    Tema Neve WordPress: nuovo look con focus su velocità e performance
    13 Maggio 2021
    Temi professionali per blog wordpress - migliori 5 a confronto
    Temi professionali per wordpress: i migliori a confronto
    17 Dicembre 2018
    img Tema Newspaper 8.5 1024x683 - Il nuovo look di pensando.it: focus su novità, articoli e categorie con Newspaper 8.5
    Il nuovo look di pensando.it: focus su novità, articoli e categorie con Newspaper 8.5
    15 Gennaio 2018
    youtube pretty blu 450x253 - Come gestire i link affiliati con Pretty Links
    Come gestire i link affiliati con Pretty Links
    13 Maggio 2022
    wordpress modalita diagnostica 1024x661 - Come attivare la modalità diagnostica su wordpress
    Come attivare la modalità diagnostica su wordpress
    1 Luglio 2021
    bloccare spam contact form 1024x531 - Come fermare lo spam di Contact Form 7 su WordPress
    Come fermare lo spam di Contact Form 7 su WordPress
    21 Giugno 2021
    wordpress gutenberg 1024x683 - wordpress gutenberg: tutto quello che c'è da sapere sul nuovo editor di testo
    wordpress gutenberg: tutto quello che c’è da sapere sul nuovo editor di testo
    4 Agosto 2018
    telegram ads 1024x682 - Telegram Ads: Come fare pubblicità con Telegram Promote
    Telegram Ads: Come fare pubblicità con Telegram Promote
    11 Gennaio 2022
    Come far crescere un canale Telegram 1024x683 - Come far crescere un canale Telegram
    Come far crescere un canale Telegram
    16 Novembre 2021
    ricerca organica canale telegram
    Come migliorare la ricerca organica di un canale telegram
    9 Giugno 2021
    creare sondaggio canale telegram
    Come creare un sondaggio per un canale telegram
    29 Gennaio 2021
    Come integrare ChatGPT 450x299 - Come integrare ChatGPT tramite API REST e librerie
    Come integrare ChatGPT tramite API REST e librerie
    5 Gennaio 2023
    node.js su Heroku in Continuous Integration con gitHub 1024x682 - Deployare un'app node.js su Heroku in Continuous Integration con gitHub
    Deployare un’app node.js su Heroku in Continuous Integration con gitHub
    4 Giugno 2018
    iot system demo 1024x683 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb
    Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb
    13 Ottobre 2017
    188H 1024x683 - IoT e Javascript: come creare una piattaforma di “Javascript of Anything”
    IoT e Javascript: come creare una piattaforma di “Javascript of Anything”
    6 Ottobre 2015
    Come integrare ChatGPT 450x299 - Come integrare ChatGPT tramite API REST e librerie
    Come integrare ChatGPT tramite API REST e librerie
    5 Gennaio 2023
    come scegliere ecommere iphone ricondizionati 450x299 - Come scegliere un ecommerce che vende iPhone Ricondizionati
    Come scegliere un ecommerce che vende iPhone Ricondizionati
    15 Dicembre 2022
    smartphone a rate 450x299 - I Migliori Siti  dove Comprare Smartphone a Rate
    I Migliori Siti dove Comprare Smartphone a Rate
    14 Novembre 2022
    cambia operatore mobile4 450x253 - Cambia Operatore Telefonico Mobile: La Guida Completa
    Cambia Operatore Telefonico Mobile: La Guida Completa
    19 Settembre 2022
  • Marketing
    1. Affiliate Marketing
    2. Inbound Marketing
    3. Personal Branding
    4. SEO
    5. Vedi Tutto
    Affiliate Marketing e Blockchain 450x300 - Come la Blockchain cambierà l'Affiliate Marketing
    Come la Blockchain cambierà l’Affiliate Marketing
    22 Luglio 2022
    youtube pretty blu 450x253 - Come gestire i link affiliati con Pretty Links
    Come gestire i link affiliati con Pretty Links
    13 Maggio 2022
    migrare da UA a GA4 con Google Tag Manager  450x300 - Come migrare da UA a GA4 con Google Tag Manager
    Come migrare da UA a GA4 con Google Tag Manager
    11 Aprile 2022
    affiliazione ebay 1024x683 - Come guadagnare con l'affiliazione Ebay
    Come guadagnare con l’affiliazione Ebay
    11 Novembre 2021
    ebay partner network 1024x682 - Ebay Partner Network: come convertire i link di tracciamento rover
    Ebay Partner Network: come convertire i link di tracciamento rover
    14 Febbraio 2021
    come guadagnare con un blog plugin migliori
    Come guadagnare con un blog: i plugin wordpress indispensabili
    1 Agosto 2019
    come diventare blogger
    Come diventare Blogger? Attitudini e Competenze che fanno la differenza
    27 Novembre 2017
    condividere articolo social network 1024x683 - Tutti i trucchi per condividere (efficacemente) un articolo sui social network
    Tutti i trucchi per condividere (efficacemente) un articolo sui social network
    17 Luglio 2017
    cloubhouse - Come funziona Clubhouse
    Come funziona Clubhouse
    4 Febbraio 2021
    come guadagnare con un blog plugin migliori
    Come guadagnare con un blog: i plugin wordpress indispensabili
    1 Agosto 2019
    img Tema Newspaper 8.5 1024x683 - Il nuovo look di pensando.it: focus su novità, articoli e categorie con Newspaper 8.5
    Il nuovo look di pensando.it: focus su novità, articoli e categorie con Newspaper 8.5
    15 Gennaio 2018
    come diventare blogger
    Come diventare Blogger? Attitudini e Competenze che fanno la differenza
    27 Novembre 2017
    Rytr La Piattaforma di AI che ti aiuta a scrivere contenuti efficaci 1024x682 - Rytr: La Piattaforma di AI che ti aiuta a scrivere contenuti efficaci
    Rytr: La Piattaforma di AI che ti aiuta a scrivere contenuti efficaci
    21 Dicembre 2021
    penalizzazioni google
    Penalizzazioni google: cosa sono e come uscirne
    2 Novembre 2021
    tag HTML importanti per la SEO 1024x574 - I tag HTML importanti per la SEO
    I tag HTML importanti per la SEO
    24 Maggio 2021
    neve-tema
    Tema Neve WordPress: nuovo look con focus su velocità e performance
    13 Maggio 2021
    casa vacanze 450x300 - Gestionale casa vacanze: Come aumentare le prenotazioni online
    Gestionale casa vacanze: Come aumentare le prenotazioni online
    31 Agosto 2022
    server side tagging aws 450x298 - Come implementare il Server-Side tracking con GTM su AWS
    Come implementare il Server-Side tracking con GTM su AWS
    14 Luglio 2022
    migrare da UA a GA4 con Google Tag Manager  450x300 - Come migrare da UA a GA4 con Google Tag Manager
    Come migrare da UA a GA4 con Google Tag Manager
    11 Aprile 2022
    telegram ads 1024x682 - Telegram Ads: Come fare pubblicità con Telegram Promote
    Telegram Ads: Come fare pubblicità con Telegram Promote
    11 Gennaio 2022
  • Guide
    1. Migliori Ecommerce
    2. Mondo Apple
    3. iPhone
    4. Gaming
    5. Recensioni
    6. Tutorial
    7. Vedi Tutto
    come scegliere ecommere iphone ricondizionati 450x299 - Come scegliere un ecommerce che vende iPhone Ricondizionati
    Come scegliere un ecommerce che vende iPhone Ricondizionati
    15 Dicembre 2022
    smartphone a rate 450x299 - I Migliori Siti  dove Comprare Smartphone a Rate
    I Migliori Siti dove Comprare Smartphone a Rate
    14 Novembre 2022
    smarthone a poco prezzo 450x300 - I migliori Siti dove comprare Smartphone nuovi a poco prezzo
    I migliori Siti dove comprare Smartphone nuovi a poco prezzo
    25 Luglio 2022
    dove comprare monopattino elettrico 450x300 - I migliori siti dove comprare un monopattino elettrico
    I migliori siti dove comprare un monopattino elettrico
    10 Maggio 2022
    iphone 14 evidenza 450x290 - Apple iPhone 14: modelli prezzi e caratteristiche a confronto
    Apple iPhone 14: modelli prezzi e caratteristiche a confronto
    12 Settembre 2022
    comprare iphone a rate 1024x607 - I migliori siti dove comprare iPhone a rate
    I migliori siti dove comprare iPhone a rate
    28 Dicembre 2021
    iphone 13 1024x420 - Apple iPhone 13: modelli prezzi e caratteristiche a confronto
    Apple iPhone 13: modelli prezzi e caratteristiche a confronto
    22 Ottobre 2021
    dove-acquistare-ipod-in-offerta
    I migliori siti dove comprare ipod in offerta
    18 Marzo 2021
    come scegliere ecommere iphone ricondizionati 450x299 - Come scegliere un ecommerce che vende iPhone Ricondizionati
    Come scegliere un ecommerce che vende iPhone Ricondizionati
    15 Dicembre 2022
    iphone 14 evidenza 450x290 - Apple iPhone 14: modelli prezzi e caratteristiche a confronto
    Apple iPhone 14: modelli prezzi e caratteristiche a confronto
    12 Settembre 2022
    comprare iphone a rate 1024x607 - I migliori siti dove comprare iPhone a rate
    I migliori siti dove comprare iPhone a rate
    28 Dicembre 2021
    iphone 13 1024x420 - Apple iPhone 13: modelli prezzi e caratteristiche a confronto
    Apple iPhone 13: modelli prezzi e caratteristiche a confronto
    22 Ottobre 2021
    eneba come funziona
    Eneba come funziona e quali codici sconto offre
    15 Aprile 2021
    mouse gaming per mac 1024x682 - I migliori mouse da gaming per mac
    I migliori mouse da gaming per mac
    19 Gennaio 2021
    migliori-joystick-mac
    I migliori joystick per mac
    4 Novembre 2020
    creare server minecraft
    Come creare un server minecraft
    18 Giugno 2020
    come scegliere ecommere iphone ricondizionati 450x299 - Come scegliere un ecommerce che vende iPhone Ricondizionati
    Come scegliere un ecommerce che vende iPhone Ricondizionati
    15 Dicembre 2022
    smartphone a rate 450x299 - I Migliori Siti  dove Comprare Smartphone a Rate
    I Migliori Siti dove Comprare Smartphone a Rate
    14 Novembre 2022
    iphone 14 evidenza 450x290 - Apple iPhone 14: modelli prezzi e caratteristiche a confronto
    Apple iPhone 14: modelli prezzi e caratteristiche a confronto
    12 Settembre 2022
    smarthone a poco prezzo 450x300 - I migliori Siti dove comprare Smartphone nuovi a poco prezzo
    I migliori Siti dove comprare Smartphone nuovi a poco prezzo
    25 Luglio 2022
    Come integrare ChatGPT 450x299 - Come integrare ChatGPT tramite API REST e librerie
    Come integrare ChatGPT tramite API REST e librerie
    5 Gennaio 2023
    cambia operatore mobile4 450x253 - Cambia Operatore Telefonico Mobile: La Guida Completa
    Cambia Operatore Telefonico Mobile: La Guida Completa
    19 Settembre 2022
    Affiliate Marketing e Blockchain 450x300 - Come la Blockchain cambierà l'Affiliate Marketing
    Come la Blockchain cambierà l’Affiliate Marketing
    22 Luglio 2022
    server side tagging aws 450x298 - Come implementare il Server-Side tracking con GTM su AWS
    Come implementare il Server-Side tracking con GTM su AWS
    14 Luglio 2022
    casa vacanze 450x300 - Gestionale casa vacanze: Come aumentare le prenotazioni online
    Gestionale casa vacanze: Come aumentare le prenotazioni online
    31 Agosto 2022
    dove comprare monopattino elettrico 450x300 - I migliori siti dove comprare un monopattino elettrico
    I migliori siti dove comprare un monopattino elettrico
    10 Maggio 2022
    filtro pixar 1 - Filtro Pixar: dove trovarlo e come utilizzarlo sui Social
    Filtro Pixar: dove trovarlo e come utilizzarlo sui Social
    8 Luglio 2021
    cloubhouse - Come funziona Clubhouse
    Come funziona Clubhouse
    4 Febbraio 2021
  • Contatti
    • Chi Sono
    • Contattami
    • Il Progetto
    • Portfolio
    • Cookie Policy
    • Privacy Policy
pensando.itpensando.it

IoT e Javascript: come creare una piattaforma di “Javascript of Anything”

Alessandro De MarchiDi Alessandro De Marchi node.js tecnologia Aggiornato:29 Luglio 20214 commenti8 Minuti di Lettura
Facebook Twitter LinkedIn WhatsApp
188H 1024x683 - IoT e Javascript: come creare una piattaforma di “Javascript of Anything”

In questi ultimi tempi non si fa altro che parlare di IoT (Internet of Things o Internet delle cose) e della rivoluzione che l’IoT sta determinando su ognuno di noi; alcuni hanno addirittura paragonato l’avvento dell’IoT alla prima rivoluzione industriale in termini di impatti e sconvoglimenti sul nostro modo di vivere.

Non so dire se questo cambiamento sia paragonabile alla rivoluzione industriale, fatto sta che è in atto e ne siamo attori protagonisti ogni giorno, spesso magari senza rendercene conto.

Ogni qualvolta usiamo uno smartphone, un orologio digitale di nuova generazione, un qualsiasi wearable device (oggetto digitale indossabile), azioniamo oggetti digitali in casa o in macchina (Es. allarmi, sensori, spie, navigatori, … ), insomma ogni qualvolta ci interfacciamo con uno o più di questi oggetti stiamo di fatto entrando nel mondo dell'IoT.

I contenuti dell'articolo

  • Un generico sistema di IoT
  • I Device
  • IoT e Javascript: nasce il “Javascript of Anyting”
    • Perché proprio il javascript?
    • Tessel.io
    • Cylon.js
    • MQTT.JS
    • Mosca.js
  • Vuoi vedere un esempio completo?
  • Conclusioni e Riferimenti

Un generico sistema di IoT

Per descriverlo in breve, un sistema di IoT altro non è che una applicazione in grado di archiviare dati provenienti dal “mondo reale”, su questi dati effettuare delle analisi ed in funzione dei risultati rispondere proattivamente sempre sul “mondo reale”.

Il tutto deve essere fatto in real-time, senza che sia necessariamente richiesto l’intervento umano.

Per realizzare un generico sistema di IoT è quindi necessario che ci siano:

  • dei sensori in grado di rilevare determinate grandezze fisiche o chimiche del “mondo reale”
  • degli attuatori in grado di agire fisicamente sul “mondo reale”
  • dei device in grado di pilotare sensori ed attuatori
  • un protocollo di comunicazione tra gli oggetti fisici e la nostra applicazione
  • una componente applicativa (message broker) dedicata allo smistamento delle informazioni
  • uno o più storage in grado di archiviare una grandissima mole di dati
  • una piattaforma di reportistica, controllo ed analisi statistica in grado di generare “desideri” ed “informazione” per gli esseri umani
  • gli esseri umani in grado di interagire attivamente con la piattaforma

Si faccia riferimento a questa semplice ma esplicativa immagine:

JoA Generics1 - IoT e Javascript: come creare una piattaforma di “Javascript of Anything”

I Device

Nella breve descrizione di un sistema di IoT ho parlato di sensori ed attuatori, utili per interagire fisicamente con il mondo reale. Quando parliamo di tali oggetti non possiamo non riallacciarci ai concetti di device e maker già trattati in passato in questo articolo:

tessel press 150x150 - IoT e Javascript: come creare una piattaforma di “Javascript of Anything”
POTREBBE INTERESSARTI ... tessel.io, il device per makers fatto in node.js

Riporto dal manifesto del Maker Faire di Roma la definizione “ufficiale”:

Potrebbero essere definiti gli hobbisti tecnologici del 21esimo secolo. Si interessano di tecnologia, design, arte, sostenibilità, modelli di business alternativi.

Vivono di comunità online, software e hardware open source, ma anche del sogno di inventare qualcosa da produrre autonomamente, per vivere delle proprie invenzioni.

In una fase di crisi si affidano alla creatività facendo della propria passione un lavoro.

Il movimento dei Maker si basa sulla riutilizzazione e condivisione dei risultati, sulla creatività e sull’innovazione. Sul medio e lungo periodo potrebbe permettere di innescare importanti effetti virtuosi sull’economia, in cui comunità crescenti di makers sperimentano nuovi approcci alla produzione basati su tecnologie a basso costo.

Per maggiori info sul movimento dei makers : http://www.makerfairerome.eu/it/

Per cui l’ultima catena di un sistema di IoT è composta proprio dai device e dalle intuizioni dei maker, la cosa importante è che il nostro sistema di IoT sia in grado di parlare con il maggior numero di device possibile e soprattutto utilizzando dei protocolli standard riconosciuti dalla comunità dei maker e dai produttori di device.

IoT e Javascript: nasce il “Javascript of Anyting”

Esistono in commercio moltissime piattaforme di IoT, già pronte e collaudate per interagire con moltissimi device in commercio, noi però vogliamo realizzare un nostro sistema di IoT e per far questo vogliamo utilizzare il javascript.

Perché proprio il javascript?

Perché il javascript è l’unico linguaggio al mondo in grado “coprire” tutte le componenti già descritte per un generico sistema di IoT, a partire dal device, passando per la componente client, il protocollo di comunicazione, la componente server fino a terminare con il database.

In tal caso possiamo quindi parlare di “Javascript of Anyting System” o “full stack IoT system”

Questa una brevissima rappresentazione grafica

IoT Architettura - IoT e Javascript: come creare una piattaforma di “Javascript of Anything”

Ho colorato in celeste tutte le componenti che possiamo programmare in javascript.

Vediamo nel dettaglio ogni singola componente.

Tessel.io

Tessel è un device interamente programmabile in node.js quindi in javascript, ne ho parlato più volte sul blog mettendolo a confronto anche con altri device in questi articoli:

tessel press 150x150 - IoT e Javascript: come creare una piattaforma di “Javascript of Anything”
POTREBBE INTERESSARTI ... tessel.io, il device per makers fatto in node.js
tessel vs pi1 150x150 - IoT e Javascript: come creare una piattaforma di “Javascript of Anything”
POTREBBE INTERESSARTI ... Tessel 2 e Raspberry pi 2 – micro device per IoT a confronto

Come detto Tessel supporta nativamente node.js, in realtà anche altri device (Es. Raspberry Pi) possono essere programmati in node.js, trattandosi di device che nativamente incorporano Linux. In rete si trovano centinaia di tutorial su come installare node su device non tessel, questo un esempio:

>>> http://weworkweplay.com/play/raspberry-pi-nodejs/

Cylon.js

Nel caso in cui i nostri device non supportino javascript o siano stati utilizzati con linguaggio “nativo”, il javascript ci viene comunque in contro fornendoci una serie di librerie e script in grado di interfacciarsi con la quasi totalità di device ad oggi in commercio.

La migliore tra le librerie di colloquio con i device è senza ombra di dubbio Cylon.js, una libreria in grado di interfacciare 36 differenti device, tra i quali Arduino, ArduinoYun, Raspberry Pi, Tessel, Intel Galileo, Intel Edison, Ardrone, Pinoccio, MiP e moltissimi altri.

Oltre a fornire un framework di colloquio con i device fornisce anche degli standard di colloquio M2M tra il device e la piattaforma di IoT, tra i quali i protocolli http (REST), MQTT e socket.io.

Questo un semplicissimo esempio di colloquio con Arduino:

var Cylon = require('cylon');

Cylon.robot({

  connections: {
    arduino: { adaptor: 'firmata', port: '/dev/ttyACM0' }
  },

  devices: {
    led: { driver: 'led', pin: 13 }
  },

  work: function(my) {
    every((1).second(), my.led.toggle);
  }

 }).start();

MQTT.JS

In relazione ai protocolli M2M ovvero “Machine to Machine” specifici per le piattaforme di IoT vorrei menzionare il protocollo MQTT, diventato di fatto lo standard per questo tipo di colloquio (mqtt.org)

Questo protocollo ha la caratteristica di essere molto “leggero” ovvero consente un trasferimento di byte molto basso e basato sul concetto di publish/subscribe ottimo proprio per questi tipi di architetture.

JoA pub sub - IoT e Javascript: come creare una piattaforma di “Javascript of Anything”

fonte: http://www.nearform.com/nodecrunch/internet-of-things-how-to-build-it-faster/

Matteo Collina (https://it.linkedin.com/in/matteocollina) uno dei massimi esperti italiani di IoT e javascript ha contribuito alla scrittura di mqtt.js, la versione node.js del protocollo MQTT, utilizzabile nel caso in cui si voglia dialogare direttamente in mqtt con la nostra piattaforma di IoT senza passare per il framewok Cylon.js (che comunque lo supporta).

https://www.npmjs.com/package/mqtt

L’utilizzo di mqtt.js è molto semplice, prima di tutto installiamo il node package manager con il comando:

npm install mqtt --save

Poi nel nostro progetto node utilizziamo il seguente codice:

var mqtt = require('mqtt');

var client = mqtt.connect('mqtt://test.mosquitto.org');

client.on('connect', function () {
  client.subscribe('presence');
  client.publish('presence', 'Hello mqtt');
});

client.on('message', function (topic, message) {
  console.log(message.toString());
});

In questo caso stiamo parlando con il cloud server MQTT ‘mqtt://test.mosquitto.org', dobbiamo ovviamente sostituire questo server con il nostro Server di IoT.

Possiamo facilmente usare mqtt.js anche via websocket per l'implementazione del colloquio M2M via browser (javascript/HTML5).

Ma come facciamo a creare il server? Ci viene in aiuto sempre Matteo con Mosca.js

Mosca.js

Mosca.js è un node.js MQTT broker che può essere usato sia standalone che inserito in un progetto esistente.

https://github.com/mcollina/mosca

Se ci rifacciamo all’immagine in cui veniva evidenziato il colloquio pub/sub tramite broker, capiamo subito come Mosca rappresenti la riga centrale verde che funge da “message broker” in grado di smistare i messaggi pubblicati da un client a tutti i client che hanno sottoscritto un determinato “topic” (argomento).

Uno dei punti di forza di Mosca è la capacità di rendere persistente tutte le operazioni di scambio dati tra client su diverse piattaforme di archiviazione, tra le quali MongoDB piattaforma noSql realizzata in javascript, ma anche Redis e molte altre.

Questo il codice per realizzare un semplice MQTT broker in javascript conneso con MongoDB.

Prima di tutto installiamo mosca con il comando:

npm install mosca --save

Poi utilizziamo Mosca con il codice seguente:

var mosca = require('mosca');

var ascoltatore = {
  type: 'mongo',
  url: 'mongodb://localhost:27017/mqtt',
  pubsubCollection: 'ascoltatori',
  mongo: {}
};

var settings = {
  port: 1883,
  backend: ascoltatore
};

var server = new mosca.Server(settings);

server.on('clientConnected', function(client) {
  console.log('client connected', client.id);
});

// fired when a message is received
server.on('published', function(packet, client) {
  console.log('Published', packet.payload);
});

server.on('ready', setup);

// fired when the mqtt server is ready
function setup() {
  console.log('Mosca server is up and running');
}

In questo modo siamo riuciti a connettere dinamicamente e senza sforzo alcuno mongoDb alla nostra piattaforma di IoT.

Vuoi vedere un esempio completo?

Se vuoi vedere un esempio completo, ho creato sul mio account gitHub una semplice applicazione composta da:

  • Server (Mosca Server MQTT Broker)
  • Client 1
  • Client 2
  • Client Web

https://github.com/etrusco74/iot

I client sono semplici MQTT client che ad intervalli regolari pubblicano un messaggio randomico sulla topic “/iot/api/” ed allo stesso tempo, avendo tutti sottoscritto il topic “/iot/api/“, ricevono i messaggi pubblicati dagli altri client e da loro stessi.

Il Server Mosca è realizzato in node.js e richiede solo il npm mosca.js; i Client 1 e Client 2 sono realizzati anche loro in node.js e richiedono solo il npm mqtt.js mentre il Client Web è realizzato in semplice HTML5/javascript e richiede la libreria “lib/mqtt.js” pubblicata dal Server Mosca al quale ho dovuto “agganciare” un semplice webserver.

Conclusioni e Riferimenti

Abbiamo in questo articolo analizzato e descritto tutte le componenti che potrebbero comporre la nostra primissima versione di “Javascript of Anyting System” o “full stack IoT system”, partendo dai device fino a terminare con il dbms.

Di seguito i riferimenti ai quali mi sono ispirato:

  • http://www.nearform.com/nodecrunch/internet-of-things-how-to-build-it-faster/
  • Matteo Collina: https://github.com/mcollina
  • mqtt: http://mqtt.org/
  • mqtt.js: https://www.npmjs.com/package/mqtt
  • mosca: https://github.com/mcollina/mosca
  • cylon.js: http://cylonjs.com/

 

Che te ne pare dell’articolo? Sei interessato al full stack development in javascript? Hai esperienza di IoT system?

ad arduino device iot javascript Javascript of Anything mongoDB mosca.js mqtt mqtt.js raspberry raspberry pi 2 model B tessel tessel 2
Condividi. Facebook Twitter LinkedIn Email Telegram WhatsApp
Precedente ArticoloTessel 2 e Raspberry pi 2 – micro device per IoT a confronto
Prossimo Articolo I migliori siti dove comprare schede arduino
Alessandro De Marchi
  • Website

Ciao, sono Alessandro De Marchi e questo è il mio blog. Solution Architect, blogger e full stack developer. Amo raccontare ciò che so e grazie alla mia esperienza posso aiutarti a migliorare su Tecnologia e Programmazione web, Blogging e Wordpress, SEO, web ed affiliate marketing. Adoro mia moglie, le mie due figlie, fare la pizza e questo blog.

Potrebbe Interessarti Anche

Come integrare ChatGPT 450x299 - Come integrare ChatGPT tramite API REST e librerie
Come integrare ChatGPT tramite API REST e librerie
Aggiornato:17 Gennaio 2023
come scegliere ecommere iphone ricondizionati 450x299 - Come scegliere un ecommerce che vende iPhone Ricondizionati
Come scegliere un ecommerce che vende iPhone Ricondizionati
Aggiornato:15 Dicembre 2022
smartphone a rate 450x299 - I Migliori Siti  dove Comprare Smartphone a Rate
I Migliori Siti dove Comprare Smartphone a Rate
Aggiornato:8 Gennaio 2023
cambia operatore mobile4 450x253 - Cambia Operatore Telefonico Mobile: La Guida Completa
Cambia Operatore Telefonico Mobile: La Guida Completa
Aggiornato:9 Ottobre 2022
iphone 14 evidenza 450x290 - Apple iPhone 14: modelli prezzi e caratteristiche a confronto
Apple iPhone 14: modelli prezzi e caratteristiche a confronto
Aggiornato:12 Settembre 2022
smarthone a poco prezzo 450x300 - I migliori Siti dove comprare Smartphone nuovi a poco prezzo
I migliori Siti dove comprare Smartphone nuovi a poco prezzo
Aggiornato:14 Novembre 2022

4 commenti

  1. Pingback: Come simulare un sistema IoT con red hat jboss fuse, node.js e mongodb

  2. Andrea Su 8 Settembre 2019 09:24

    Ciao Alessandro.
    Mi è piaciuto questo articolo:. tratta in maniera comprensibile l’argomento ed è completo di riferimenti per approfondire.
    grazie Alessandro

    Rispondi
    • Alessandro De Marchi Su 8 Settembre 2019 11:51

      Grazie a te Andrea

      Rispondi
  3. Pingback: I migliori ecommerce dove acquistare schede arduino

Lascia un commento Cancella Risposta

Ti serve una Consulenza?
Se ti serve una consulenza fissa un appuntamento gratuito di 30 minuti.

Potremo conoscerci meglio e verificare come collaborare!

FISSA UN APPUNTAMENTO
Seguimi sui Social
Linkedin Telegram Facebook Twitter Youtube Instagram
Offerte su Telegram
Accedi al mio canale telegram dedicato alle migliori offerte tech del momento telegram

Iscriviti alla mia Newsletter

Iscriviti alla mia newsletter e rimani sempre aggiornato su tutte le novità tech che pubblico sul blog

Da Non Perdere
Telegram bot Articoli in Evidenza
Come gestire un canale telegram usando i bot
Di Alessandro De Marchi13 Dicembre 201924

In questo articolo ti descrivo cosa è un bot telegram, come installarlo e come usarlo per gestire al meglio il tuo canale telegram

iphone nuovi in offerta

I migliori siti dove comprare iPhone nuovi a poco prezzo

21 Ottobre 2018
comprare iphone a rate 300x178 - I migliori siti dove comprare iPhone a rate

I migliori siti dove comprare iPhone a rate

28 Dicembre 2021
Affiliate Marketing e Blockchain 300x200 - Come la Blockchain cambierà l'Affiliate Marketing

Come la Blockchain cambierà l’Affiliate Marketing

22 Luglio 2022
Popolari
dove acquistare apple watch rigenerati
I migliori siti dove comprare Apple Watch ricondizionati
12 Ottobre 2019
iphone nuovi in offerta
I migliori siti dove comprare iPhone nuovi a poco prezzo
21 Ottobre 2018
dove acquistare iphone rigenerati 300x200 - I migliori siti dove comprare iPhone Ricondizionati
I migliori siti dove comprare iPhone Ricondizionati
28 Ottobre 2014
Ultimi Articoli
Come integrare ChatGPT 300x199 - Come integrare ChatGPT tramite API REST e librerie
Come integrare ChatGPT tramite API REST e librerie
5 Gennaio 2023
come scegliere ecommere iphone ricondizionati 300x199 - Come scegliere un ecommerce che vende iPhone Ricondizionati
Come scegliere un ecommerce che vende iPhone Ricondizionati
15 Dicembre 2022
smartphone a rate 300x199 - I Migliori Siti  dove Comprare Smartphone a Rate
I Migliori Siti dove Comprare Smartphone a Rate
14 Novembre 2022
cambia operatore mobile4 300x169 - Cambia Operatore Telefonico Mobile: La Guida Completa
Cambia Operatore Telefonico Mobile: La Guida Completa
19 Settembre 2022
Ultime novità
Nuovo Apple iPhone 6 Plus 16GB Argento ricondizionato CPO cellulare 4 G 5.5 ' Retina FHD/2Core/16GB/1GB RAM/8MP/1.2mp Apple iPhone 6 Plus 16GB Argento ricondizionato...
Nuovo Apple iPhone 11 Pro 512GB Sbloccato in Fabbrica Se acquistate un iPhone 11 Pro da iShakehands-EU, Riceverete in Omaggio un Obiettivo per Fotocamera e un Supporto per Telefono di Colore Casuale Apple iPhone 11 Pro 512GB Sbloccato in Fabbrica Se... 599,00 EUR
Nuovo Apple iPhone 7 128G Smartphone 4.7 pollici 750 x 1334, 2GB RAM, Memoria 128 GB, 4G,Ricondizionato (128GB, Argento) Apple iPhone 7 128G Smartphone 4.7 pollici 750 x... 139,99 EUR
Bestseller
OffertaBestseller No. 1 Apple iPhone 14 Pro (256 GB) - Argento Apple iPhone 14 Pro (256 GB) - Argento 1.419,99 EUR
OffertaBestseller No. 2 Apple iPhone 14 (128 GB) - viola Apple iPhone 14 (128 GB) - viola 1.045,00 EUR
OffertaBestseller No. 3 Apple PC Portatile MacBook Air 2020: Chip M1, Display Retina 13', 8GB RAM, 256GB SSD, Tastiera retroilluminata, Videocamera FaceTime HD, Touch ID - Argento Apple PC Portatile MacBook Air 2020: Chip M1,... 899,00 EUR
I più visti di sempre
  • iphone nuovi in offerta I migliori siti dove comprare iPhone nuovi a poco prezzo
  • Le migliori frasi della saga di star wars
  • I migliori siti dove comprare iPhone Ricondizionati
  • Pizza di Pasqua dolce: la ricetta originale della Tuscia
  • fotocamere analogiche usate 7 splendidi modelli da scegliere online fotocamere analogiche usate : 7 splendidi modelli 35mm
Chi Sono
Chi Sono

Ciao, sono Alessandro De Marchi e su questo blog parlo di Tecnologia e Programmazione Web, Blogging e Wordpress, SEO, web ed affiliate marketing.

iPhone in Offerta
Bestseller No. 1 Apple iPhone 11 (128GB) - nero Apple iPhone 11 (128GB) - nero 645,00 EUR
OffertaBestseller No. 2 Apple iPhone 13 (128 GB) - verde Apple iPhone 13 (128 GB) - verde 864,62 EUR
OffertaBestseller No. 3 Apple iPhone 14 (128 GB) - viola Apple iPhone 14 (128 GB) - viola 1.045,00 EUR
In Evidenza
come scegliere ecommere iphone ricondizionati 300x199 - Come scegliere un ecommerce che vende iPhone Ricondizionati
Come scegliere un ecommerce che vende iPhone Ricondizionati
15 Dicembre 2022
smartphone a rate 300x199 - I Migliori Siti  dove Comprare Smartphone a Rate
I Migliori Siti dove Comprare Smartphone a Rate
14 Novembre 2022
cambia operatore mobile4 300x169 - Cambia Operatore Telefonico Mobile: La Guida Completa
Cambia Operatore Telefonico Mobile: La Guida Completa
19 Settembre 2022
smarthone a poco prezzo 300x200 - I migliori Siti dove comprare Smartphone nuovi a poco prezzo
I migliori Siti dove comprare Smartphone nuovi a poco prezzo
25 Luglio 2022
Facebook Twitter Instagram YouTube LinkedIn Telegram
  • Privacy Policy
  • Cookie Policy
© 2007-2023 pensando.it | made with pensando.it and alessandro de marchi by etrusco
aws hosting | P. IVA 02325590566

Digita sopra e premi Enter per cercare. Premi Esc per annullare.