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

Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

Alessandro De MarchiDi Alessandro De Marchi node.js tecnologia tutorial video recensioni Aggiornato:21 Maggio 2021Nessun commento10 Minuti di Lettura
Facebook Twitter LinkedIn WhatsApp
iot system demo 1024x683 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

Questo articolo nasce come evoluzione dell'articolo scritto in precedenza su come creare una piattaforma di Javascript of Anything e che ti consiglio di leggere per comprendere bene il contesto.

In pratica nel precedente articolo mi ero concentrato sul disegno di un'architettura interamente basata su node.js, ora invece andrò a sostituire il broker mqtt (mosca server node.js) con un broker di tipo enterprise come Red Hat Jboss Fuse e più nello specifico la componente Apache ActiveMQ, inclusa come modulo dell'ESB stesso.

Utilizzerò inoltre la componente Apache Camel anch'essa inclusa come modulo dell'ESB Fuse per realizzare un semplice EIP (Enterprise Integration Patterns) dedicato all'integrazione tra le topic mqtt (Apache ActiveMQ) e mongoDB (Persistenza Dati)

Le componenti client le ho realizzate in node.js per simulare due generici device ed in HTML5 per simulare due generici browser client anch'essi connessi alla catena delle topic mqtt, attraverso le websocket.

Il mondo che ti circonda è stato costruito da persone che non erano più intelligenti di te. (Steve Jobs)

Click To Tweet

Al termine dell'articolo trovi un video esplicativo su come far funzionare al meglio la demo, ti consiglio di vedere anche il video perché ti farò vedere anche alcuni accorgimenti (trucchetti) legati alla sicurezza dell'architettura che nel tutorial non ho descritto.

I contenuti dell'articolo

  • 1. Componenti Architetturali sistema IoT
    • Topic MQTT
    • client 1
    • client 2
    • webapp 1
    • webapp 2
    • eip 1
  • 2. Prerequisiti funzionamento demo
    • Sistema Operativo 
    • JDK (necessario)
    • maven
    • Red Hat Jboss fuse
    • node.js
    • mongodb
  • 3. Configurazione componenti sistema IoT
    • Red Hat Jboss Fuse
    • mongoDB
  • 4. Download e Configurazione software
    • Scarica il software da gitHub
    • Esegui la build dell'eip con maven
    • Copia il componente web sotto Apache
  • 5. Esecuzione della demo
  • 6. Videotutorial del sistema IoT

1. Componenti Architetturali sistema IoT

Il disegno architetturale completo è quello illustrato in figura

IoT enterpise IoT Arch  - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

L'architettura prevede Red Hat Jboss Fuse come broker centrale e l'utilizzo delle componenti in esso integrate Apache Active MQ ed Apache Camel.

MongoDB come data base noSql per la persistenza dei dati.

Due client sviluppati in node.js per la pubblicazione (e ricezione) di dati tramite topic mqtt

Due webapp sviluppate in HTML5 che sfruttano le websocket per la pubblicazione (e ricezione) di dati tramite topic mqtt

Un client di integrazione (EIP) sviluppato con Spring DSL (Apache Camel) che riceve dati dalle topic e li rende persistenti sia su file che su mongoDB.

Le topic mqtt create per la demo sono quattro:

Topic MQTT

  1. iot.client1.messages
  2. iot.client2.messages
  3. iot.web1.messages
  4. iot.web2.data

Ogni client, incluso il client di integrazione, pubblica e sottoscrive le topic secondo le seguenti regole:

client 1

  • pub: iot.client1.messages
  • sub: iot.client2.messages

5 client1 300x284 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

client 2

  • pub: iot.client2.messages
  • sub: iot.client1.messages

6 client2 222x300 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

webapp 1

  • pub: iot.web1.messages
  • sub: iot.+.messages (ovvero riceve dati da tutte le topic che iniziano con “iot” e terminano con “messages”)

7 webapp 1 296x300 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

webapp 2

  • pub: iot.web2.data
  • sub: iot.# (ovvero riceve dati da tutte le topic)

8 webapp 2 296x300 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

eip 1

  • sub: iot.# (sottoscrive tutte le topic e rende persistente su mongoDB il dato)
  • sub: iot.+.messages (sottoscrive solo dati da topic che iniziano con “iot”, terminano con “messages” e persiste su file)

9 eip 1 to mongodb 139x300 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb   10 eip 1 to file 135x300 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

2. Prerequisiti funzionamento demo

Per il corretto funzionamento della demo è necessario aver installato, sulla propria macchina, le seguenti componenti

FedoraVertical original blue.sh  150x150 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

Sistema Operativo 

Linux è fortemente consigliato anche se non necessario (io utilizzo Fedora 26). La demo può girare anche su macchine Windows o MAC OS.

 

java 150x150 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

JDK (necessario)

Sulla macchina deve essere installata la java virtual machine, consiglio di installare la JDK 1.8.

A questo link maggiori informazioni su come installare la JDK per Fedora.

Il comando per verificare l'installazione è il seguente: java -version

 

apache maven 300x104 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

maven

Consiglio anche di installare maven, per fare la build della componente di integrazione (EIP) con il comando mvn clean install

A questo link maggiori informazioni su maven.

Il comando per verificare l'installazione è il seguente: mvn -version

 

RedHat.svg  300x97 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

Red Hat Jboss fuse

Ovviamente deve essere installato Red Hat Jboss Fuse, a questo link trovi tutte le informazioni su come installarlo sulla tua macchina.

Considera che fuse, sul portale Red Hat, viene fornito come pacchetto .zip

L'installazione è molto semplice, basta scompattarlo in una directory (consiglio di installarlo sotto /opt/jboss-fuse-6.3)

Per la demo utilizzerò fuse in modalità “standalone“, in un ambiente di produzione è fortemente consigliato l'utilizzo di fuse in modalità “fabric” (più info a questo link) e soprattutto è necessaria una sottoscrizione del prodotto.

 

nodejs logo 300x150 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

node.js

Due dei cinque client di test sono stati realizzati in node.js, pertanto è necessario aver installato sulla propria macchina anche node.

Il comando per verificare l'installazione è il seguente: node -v

 

MongoDB Logo 5c3a7405a85675366beb3a5ec4c032348c390b3f142f5e6dddf1d78e2df5cb5c 300x81 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

mongodb

La persistenza è stata implementata con mongoDB, pertanto è necessario installare anche questo dbms noSql sulla macchina target.

A questo link più informazioni su come installare mongoDB su Linux Fedora.

Il comando per verificare l'installazione è il seguente: mongo -version

 

Una volta terminata l'installazione di tutte le componenti necessarie, puoi iniziare a configurare l'ambiente e lanciare la demo.

3. Configurazione componenti sistema IoT

Red Hat Jboss Fuse

Una volta scompattato il prodotto e copiato sotto la directory “/opt/” è necessario abilitare l'utente amministrativo per l'accesso alla console di gestione.

Per abilitare l'utente basta modificare il file:

[InstallDir]/etc/users.properties

cercare la linea

#admin=admin,admin,manager,viewer,Operator, Maintainer, Deployer, Auditor, Administrator, SuperUser

e togliere il commento (#)

Oltre all'abilitazione dell'utente admin è necessario abilitare anche il protocollo mqtt ed il protocollo web socket per Apache Active MQ

Le Web Socket devono essere abilitate perchè l'mqtt utilizzato via browser dal client web (mqtt.js) necessita, per il corretto funzionamento, di questo protocollo attivo sul broker (mqtt over web socket).

Per abilitare i protocolli  basta modificare il file:

[InstallDir]/etc/activemq.xml

cercare la linea

<transportConnector name="openwire" uri="tcp://${bindAddress}:${bindPort}"/>

ed aggiungere anche i connettori per l'mqtt (1883) e per le web socket (61614)

<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883"/>
<transportConnector name="websocket" uri="ws://0.0.0.0:61614"/>

Inoltre aggiungere subito dopo il tag

</transportConnectors>

Il seguente codice xml, per l'abilitazione di un utente generico all'accesso delle topic

<plugins>      
   <simpleAuthenticationPlugin>                
      <users>                        
        <authenticationUser username="system" password="manager" groups="users,admins"/>                
      </users>        
    </simpleAuthenticationPlugin>
</plugins>

Dopo aver abilitato i protocolli mqtt e ws devi lanciare red hat jboss fuse da riga di comando.

Accedi alla directory [InstallDir]/bin/

e lancia il comando

./fuse

Attendi la corretta esecuzione del programma

1 fuse karaf 1024x653 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

al termine avrai la console Karaf di fuse attiva.

2 fuse command line - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

Ora devi abilitare le features che verranno utilizzate dal client EIP (Apache Camel) per la persistenza del dato su mongoDB e su file da topic mqtt.

Dalla console Karaf lancia i seguenti comandi

features:install camel-mongodb
features:install camel-mqtt

La configurazione di fuse è terminata, puoi chiudere tutto con il comando

exit

da console karaf.

mongoDB

In relazione a mongoDB, per il corretto funzionamento della demo, è necessario procedere con la creazione di un utente di test, lo stesso utente che poi verrà utilizzato dalla componente client EIP che si occupa della persistenza dei dati.

Lanciamo quindi la shell mongo da riga di comando:

mongo

Creiamo il nuovo database test con il comando:

use test

Ed inseriamo il nuovo utente con il comando:

db.createUser({user: "test",pwd: "test",roles: [ "readWrite", "dbAdmin" ]})

In questo mondo l'EIP potrà accedere al data base test dell'istanza mongo localhost usando utenza e password: test/test

L'EIP renderà persistenti le informazioni nella collection iot.

NB: Con mongoDB non è necessario creare le collection (equivalente delle tabelle nei db relazioni) in quanto la collection viene creata a runtime nel momento in cui viene fatta la prima insert.

4. Download e Configurazione software

Scarica il software da gitHub

Il software per eseguire la demo lo trovi sul mio account gitHub al seguente link:

https://github.com/etrusco74/iot

Non devi far altro creare una directory sul tuo pc

mkdir iot-demo

accedere alla directory

cd iot-demo

e scaricare il codice con i comandi:

git init
git clone https://github.com/etrusco74/iot.git

Al termine del download troverai la seguente struttura di directory

iot dir - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

  • camel-iot-mongo -> componente di integrazione (EIP) per fuse (Apache Camel)
  • iot-client -> primo client node.js
  • iot-client-2 -> secondo client node.js
  • iot-server -> componente server mosca (node.js) non oggetto della seguente demo
  • iot-web -> componenti client web

prima di avviare la demo dovrai fare le seguenti operazioni:

Esegui la build dell'eip con maven

accedi alla directory “camel-iot-mongo” e lancia la build maven con il comando

mvn clean install

Se tutto andrà per il verso giusto nella directory target troverai il seguenti jar

camel-iot-mongo-1.0.0-SNAPSHOT.jar

Copia il componente web sotto Apache

A questo punto devi solo copiare la componente HTML (iot-web) nella web root di Apache, con il comando:

sudo cp -r iot-web /var/www/html/

E' importante che Apache sia installato ed avviato, se non sai come fare segui questo link.

5. Esecuzione della demo

Se arrivato a questo punto? Hai fatto tutto che ti ho elencato?

Allora sei pronto per lanciare la demo, prima però che ne dici di lasciarmi un like?

Perfetto, andiamo avanti.

Come prima cosa accedi alla directory di installazione di Red Hat Jboss fuse [InstallDir]/bin/

e lancia il comando

./fuse

Attendi la corretta esecuzione del programma, poi lancia la console web amministrativa (hawtio) di fuse al link:

http://localhost:8181

Inserisci utenza e password ed accedi

fuse login 300x134 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

Verifica che sia attivo il tab “ActiveMQ”

A questo punto inizia a lanciare i vari client, sia node.js che web, con i seguenti comandi:

cd iot-demo/iot/iot-client
node server.js

Apri un nuovo tab ed esegui i seguenti comandi:

cd iot-demo/iot/iot-client-2
node server.js

I due client inizieranno a scambiarsi informazioni.

A questo punto apri due nuovi tab del sul browser e lancia le seguenti pagine:

http://localhost/iot-web/index1.html

http://localhost/iot-web/index2.html

Tutti e quattro i client inizieranno a scambiarsi informazioni secondo le regole di sottoscrizione e pubblicazione descritte sopra.

Ora accedi alla console di fuse e verifica che effettivamente il broker stia funzionando, dal tab ActiveMQ:

fuse acrivemq 1024x188 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

A questo punto manca solo di deployare l'EIP per attivare la persistenza su mongoDB.

Accedi alla folder

cd iot-demo/iot//camel-iot-mongo/target

e copia il file camel-iot-mongo-1.0.0-SNAPSHOT.jar nella directory dei deploy di fuse:

cp camel-iot-mongo-1.0.0-SNAPSHOT.jar /opt/jboss-fuse-6.3.0/deploy/

Mi raccomando, verifica che mongoDB sia attivo prima di fare il deploy.

A questo punto accedi nuovamente alla console web di fuse, troverai un nuovo tab “Camel“, cliccaci e verifica che la rotta sia attiva e funzionante:

fuse camel 255x300 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

Fai un'ultima verifica direttamente per verificare che effettivamente l'EIP stia scrivendo su mongoDB.

Da terminale lancia i seguenti comandi:

mongo
use test
show collections

Dovresti vedere anche la nuova collection iot

mongo collection 300x164 - Come implementare un (semplice) sistema IoT con redhat jboss fuse, node.js e mongodb

verifica che il count incrementi con il comando

db.iot.count()

se lanciando il comando più volte il contatore si incrementa allora la demo sta funzionando correttamente.

Fai un'ultima verifica per vedere che anche la rotta di scrittura file nella directory stia funzionando correttamente.

Da riga di comando accedi alla folder di scrittura dei file:

cd /opt/jboss-fuse-6.3.0/work/out/iot/

digita il comando di listing

ls -la

verifica che ci siano dei file, il contenuto sarà proprio l'informazione inviata da uno dei quattro client periferici.

 

Complimenti, hai fatto tutto bene!

6. Videotutorial del sistema IoT

Se invece preferisci un video che ti faccia vedere passo passo come eseguire la demo del sistema IoT, allora mettiti comodo e premi play.

Nel video descrivo i passi:

  • 3. Configurazione delle componenti del sistema IoT
  • 4. Download e Configurazione del software
  • 5. Esecuzione della demo

mentre presumo tu abbia già configurato la macchina con i prerequisiti richiesti al par. “2. Prerequisiti per il funzionamento della demo”

Durante il video ti farò vedere anche alcuni accorgimenti legati alla sicurezza che nel tutorial non ho descritto!

 

Che te ne pare di questa architettura?  Conosci altri modi per implementare un semplice sistema IoT? Raccontami tutto nei commenti!

ad apache camel camel fedora iot linux maven mongoDB node.js red hat red hat jboss fuse tech tecnologia
Condividi. Facebook Twitter LinkedIn Email Telegram WhatsApp
Precedente ArticolotrovaReflex.it: il motore di ricerca italiano per materiale fotografico digitale ed analogico
Prossimo Articolo TrovaRegaloDonna.it: il motore di ricerca italiano per idee regalo da donna
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

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
cambia operatore mobile4 450x253 - Cambia Operatore Telefonico Mobile: La Guida Completa Articoli in Evidenza
Cambia Operatore Telefonico Mobile: La Guida Completa
Di Alessandro De Marchi19 Settembre 20220

Stanco del tuo attuale Operatore di Telefonia Mobile? Cambia Gestore e trova la Tariffa migliore per te e le tue esigenze mantenendo il tuo attuale numero telefonico

dove acquistare iphone rigenerati 300x200 - I migliori siti dove comprare iPhone Ricondizionati

I migliori siti dove comprare iPhone Ricondizionati

28 Ottobre 2014
dove acquistare imac ricondizionati 300x199 - I migliori siti dove comprare iMac ricondizionati

I migliori siti dove comprare iMac ricondizionati

27 Gennaio 2020
comprare iphone a rate 300x178 - I migliori siti dove comprare iPhone a rate

I migliori siti dove comprare iPhone a rate

28 Dicembre 2021
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.