Ste4no
Posts: 1
Joined: Fri Feb 16, 2018 1:22 pm

Un dubbio

Fri Feb 16, 2018 1:32 pm

Buon pomeriggio,

Premetto che sono nuovo riguardo il mondo raspberry, ma sono molto interessato ad approfondire.

Vi spiego la mia idea.
In azienda ho 5 macchine non collegate alla rete, tuttavia ho bisogno di monitorare diversi processi come temperatura e pressione, dunque pensavo all utilizzo di node red.

Quello che vorrei fare è visualizzare una mappa dalla stanza in una dashboard e cliccare sulle macchine per visualizzare i valori che mi interessano, visibili sia in luogo con Wi-Fi o anche da casa.

È possibile?

Il dubbio è: dovrei utilizzare 6 raspberry di cui 5 collegati alle macchine ed uno usato per la visualizzazione web di questi dati?

Grazie per le vostre delucidazioni.

willy_pinguino
Posts: 581
Joined: Sun Jan 22, 2017 9:11 pm

Re: Un dubbio

Fri Feb 16, 2018 8:13 pm

node red, da quello che posso vedere è solo una maniera diversa per visualizzare dei dati, il tuo problema stà prima, i dati li devi prima di tutto raccogliere!

Ci sono molti modi di fare quello che vuoi fare, ma prima di tutto devi capire che hardware usare. E' un problema prima di "elettronica" e solo poi di "informatica"

temperatura e pressione sono dati analogici, quindi o ti servono dei sensori seriali che operino la conversione Analogico-Digitale, o devi usare un hardware che accetti rilevazioni analogiche e che le converta in digitale per il Raspberry, perchè il GPIO del Raspberry accetta solo rilevazioni digitali.

Mi spiego:

un sensore analogico (per farla facile) trasforma il range di valori che è capace di rilevare in una tensione specifica, dove il valore più prossimo al minimo valore rilevabile corrisponderà ad una tensione prossima agli 0 Volt, mentre un valore prossimo al massimo rilevabile darà un valore prossimo al massimo della tensione fornita (ci sono sensori che funzionano a 3,3 volt e sensori che funzionano a 5 volt o più) che viene definita anche valore di riferimento. poi a seconda di quanto è preciso il sensore, e delle sue caratteristiche intrinseche, i valori intermedi dovrebbero essere grossomodo lineari, ad esempio se hai un sensore di temperatura che misura da -30 a + 70 gradi centigradi e come valore di riferimento ha 5 volt, a -30 farà passare 0 volt, a 0 gradi farà passare circa 1,5 volt, a 20 gradi farà passare circa 2,5 volt a 50 gradi farà passare circa 4 volt e a 70 gradi farà passare 5 volt.

un sensore digitale invece ha sempre un range di misurazione, ma ha anche un'elettronica che scompone il range di valori in campioni e a seconda della risoluzione in bit che ha, da un valore in bit che corrisponde al campione della sua scomposizione che contiene il valore che stà misurando. quindi se abbiamo un sensore di temperatura digitale che ha una precisione di 8 bit, ed un range di misurazione tra i -30 ed i +70 gradi, avremo che un sensore digitale a -30 gradi darà 0 (o meglio 00000000 in binario e 00 in esadecimale), a 0 gradi darà 77 (binario 01001101 esadecimale 4D) a 20 gradi darà 128 (bin 10000000, hex 80) a 50 gradi da 205 (bin 11001101, hex CD) e a 70 gradi darà 255 (bin 11111111, hex FF) e questa misurazione viene passata all tuo computer attraverso una comunicazione seriale

Il GPIO del Raspberry ha la capacità di leggere solo valori digitali e solo alcuni dei pin del raspberry sono progettati per la comunicazione seriale, quindi o tra i sensori analogici ed il raspberry ci metti una qualche elettronica che faccia da convertitore Analogico-Digitale, o usi direttamente dei sensori digitali.

a questo punto devi vedere anche costi e facilità di realizzazione (per esempio i vari sensori digitali da collegare al raspberry potrebbero lavorare su bus diversi o sullo stesso bus ma non possono essere settati facilmente su indirizzi diversi, costringendoti a complicare ancora di più il tuo circuito) e distanze e difficoltà a piazzare i sensori. se poi i valori da rilevare fossero molti, dovrai usare più sensori e la raccolta dei dati potrebbe diventare abbastanza complessa da richiedere un raspberry per oghi macchina da monitorare, ma se i valori sono solo pochi potresti anche avere un unico raspberry collegato a tutti i sensori digitali che ti servono o ad abbastanza elettroniche di conversione da poter raccogliere tutte le misurazioni che ti servono

probabilmente la situazione più semplice e meno costosa (ammesso che i sensori siano a breve distanza l'uno dall'altro e facilmente connettibili ad un punto centrale protetto e non sottoposto a stress ambientali) sarebbe quello di avere degli arduino che sono collegati direttamente a dei sensori analogici, e da lì, con degli shield di comunicazione digitale (seriale o dati) connetti i vari arduino ad un raspberry che fa per te da punto di raccolta dei dati e può direttamente pubblicarli.

altra possibilità sarebbe di avere sensori digitali collegati su un singolo bus (probabilmente il più conveniente è l' I2C che accetta fino a 127 periferiche seriali su un'unica linea) e tramite questo bus connessi al raspberry, che riceve direttamente le misure e le riconverte in misure comprensibili a noi umani e le pubblica

ancora, se le macchine sono molto distanti e/o hanno molti valori da rilevare, metti uno o più raspberry a rilevare ogni singola macchina ed i singoli raspberry possono concorrere ad aggiornare i valori.

il sito poi può essere residente su un raspberry o su una macchina che ospita già altri siti (un qualunque web server che possa caricare un tuo sito può fare da collettore per i dati raccolti, non è necessario che sia un raspberry a sua volta, ma allo stesso modo può svolgere questo compito una qualunque macchina collegata in maniera stabile a internet e sempre accesa, un raspberry o un qualunque server o pc aziendale che sia sempre connesso a internet e acceso)

da lì, usare node red o una semplice pagina dinamica dove i valori vengono aggiornati automaticamente, e pubblicarla su un sito accessibile da internet e quindi accessibile via wifi con connessione a internet, rete cellulare con traffico dati o rete cablata aziendale connessa a internet, è questione di poco.

Quindi per chiudere...
  • fatti un bell'elenco specifico macchina per macchina di quali valori vanno monitorati
  • identifica quali sensori possono misurare questi valori e cerca di capire se è più conveniente un sensore digitale o analogico e stai attento a cercare i sensori adatti... se per esempio devi misurare la pressione in un ambiente che può avere dalle 0 alle 5 atmosfere di pressione, non prendere un sensore che ne misura massimo 3 o uno che ne misura da 0 a 20, ma cercane uno che ne misuri circa da 0 a 6 (per avere un po' di margine)
  • quando avrai deciso quale strada seguire per i sensori (analogico o digitale) inizia a prendere le misure ed a verificare se i tuoi sensori riescono a trasmettere le loro rilevazioni fino al tuo punto di raccolta senza problemi (i sensori analogici fanno passare corrente a voltaggio diverso per passare la misurazione, ma se usi cavi troppo lunghi o del tipo sbagliato, la resistenza stessa dei cavi che usi potrebbe alterare il voltaggio che il sensore trasmette o il valore massimo di riferimento che riceve potrebbe essere troppo basso e falsare la rilevazione, mentre i sensori digitali soffrono meno della distanza perchè un segnale digitale tra sensore e collettore dei dati è più stabile, ma siccome devi mettere i vari sensori tutti sulla stessa linea, magari alcuni sensori possono avere indirizzi di riconoscimento non modificabili e che vanno in conflitto tra loro)
  • infine a seconda dei sensori che stai usando capirai se hai bisogno di usare dell'elettronica intermedia o se potrai usare direttamente 1 o più raspberry per raccogliere tutti i dati


A quel punto avrai dei valori disponibili su uno o più computer(raspberry) e dovrai decidere come pubblicarli, e solo in quel momento dovrai scegliere come (node red, pagina su web o altro) e potrai approfondire la parte "informatica"

Return to “Italiano”

Who is online

Users browsing this forum: No registered users and 2 guests