Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
sensori_vari_dht22 [2018/09/01 13:51]
flane creata
sensori_vari_dht22 [2019/10/27 16:47] (versione attuale)
flane
Linea 14: Linea 14:
    
  
-Versione base Versione su schedina +| **Versione base** | **Versione su schedina** | 
- +| {{ :​img_metern:​dht22:​dht22_base.png |}} | {{ :​img_metern:​dht22:​dht22_schedina.png |}}  | 
 +| Necessita della resistenza esterna da 10k (vedi schema sotto) | Non necessità della resistenza di pull-up da 10K in quanto già presente sulla schedina |
  \\  \\
- 
-Necessita della resistenza esterna da 10k 
-(vedi schema sotto) Non necessità della resistenza di pull-up da 10K in quanto già presente sulla schedina 
  
 **Specifiche tecniche:** **Specifiche tecniche:**
Linea 46: Linea 44:
 Il circuito da realizzare è il seguente: Il circuito da realizzare è il seguente:
  
-Versione base +Versione base | 
-  +| {{ :​img_metern:​dht22:​schema_base1.png |}} | {{ :​img_metern:​dht22:​schema_base2.png |}} | 
- +\\ 
 +| Versione con schedina (resistenza già presente sulla schedina) | 
 +| {{ :​img_metern:​dht22:​schema_scheda.png?​400 |}} | 
 +\\ 
 +===== Installazione e configurazione sensore =====
  
- 
-Versione con schedina 
-(resistenza già presente sulla schedina) 
-   
- 
- 
-\\ 
 Installiamo il software necessario per la lettura dei sensori:\\ Installiamo il software necessario per la lettura dei sensori:\\
 <​code>​cd /home/pi <​code>​cd /home/pi
Linea 63: Linea 58:
 sudo apt-get install build-essential python-dev sudo apt-get install build-essential python-dev
 python setup.py build python setup.py build
-sudo python setup.py install<​code>​+sudo python setup.py install</code>
  
 Creiamo il file ADHT_metern.py:​ Creiamo il file ADHT_metern.py:​
Linea 126: Linea 121:
 diamo i permessi in esecuzione al file: diamo i permessi in esecuzione al file:
  
-sudo chmod +x /​usr/​local/​bin/​ADHT_metern.py+<​code>​sudo chmod +x /​usr/​local/​bin/​ADHT_metern.py</​code>​
  
 La modalità di utilizzo dello script è: La modalità di utilizzo dello script è:
  
-ADHT_metern.py “tipo sensore 21 o 22”  “porta GPIO” “meterID”+<​code>​ADHT_metern.py “tipo sensore 21 o 22”  “porta GPIO” “meterID”</​code>​
  
 Testiamo il sensore, supponendo che come da schema precedente, si tratti di un sensore DHT22, collegato alla GPIO4 e che l'id metern da assegnare sia 6 Testiamo il sensore, supponendo che come da schema precedente, si tratti di un sensore DHT22, collegato alla GPIO4 e che l'id metern da assegnare sia 6
  
-sudo ADHT_metern.py 22 4 6+<​code>​sudo ADHT_metern.py 22 4 6
 6_1(24.2*C) 6_1(24.2*C)
-6_2(74.7*%)+6_2(74.7*%)</​code>​ 
 +\\ 
 +NOTA: in questo caso la numerazione delle porte GPIO è quella standard\\ 
 +\\ 
 +Per evitare possibili errori, non utilizziamo direttamente il file python appena creato, ma creiamo uno script bash come il seguente, che invoca il file python con all’interno un controllo per evitare dati errati ed infine andremo con cron ad invocare il seguente script:\\
  
-NOTA: in questo caso la numerazione delle porte GPIO è quella standard+<​code>​nano /​usr/​local/​bin/​dht22.sh</​code>​
  
-Per evitare possibili errori, non utilizziamo direttamente il file python appena creato, ma creiamo uno script ​bash come il seguente, che invoca il file python con all’interno un controllo per evitare dati errati ed infine andremo con cron ad invocare il seguente script: +<​code ​bash /​usr/​local/​bin/​dht22.sh>#!/bin/sh
- +
-nano /​usr/​local/​bin/​dht22.sh +
- +
-#!/bin/sh+
 DATA="​$(ADHT_metern.py $1 $2 $3)" DATA="​$(ADHT_metern.py $1 $2 $3)"
 #echo $DATA #echo $DATA
Linea 151: Linea 146:
     echo $DATA | cut -f 1 -d\ > /​dev/​shm/​metern$3.txt     echo $DATA | cut -f 1 -d\ > /​dev/​shm/​metern$3.txt
     echo $DATA | cut -f 2 -d\ >> /​dev/​shm/​metern$3.txt     echo $DATA | cut -f 2 -d\ >> /​dev/​shm/​metern$3.txt
-fi+fi</​code>​
 Crtl+O per salvare e CRTL+X per uscire Crtl+O per salvare e CRTL+X per uscire
  
 Impostare i permessi in esecuzione: Impostare i permessi in esecuzione:
-sudo chmod +x /​usr/​local/​bin/​dht22.sh+<​code>​sudo chmod +x /​usr/​local/​bin/​dht22.sh</​code>​ 
 + 
 +===== Lettura automatica sensore con cron =====
  
-Impostare cron per eseguire periodicamente (ogni 15 minuti) la lettura dei valori, creando il seguente file e se necessario modificando opportunamente le parti in rosso. +Impostare cron per eseguire periodicamente (ogni minuti) la lettura dei valori, creando il seguente file e se necessario modificando opportunamente le parti in rosso. 
-nano /​etc/​cron.d/​dht22+<​code>​nano /​etc/​cron.d/​dht22</​code>​
  
-#!/bin/bash+<​code>​#!/bin/bash
  
 SHELL=/​bin/​bash SHELL=/​bin/​bash
Linea 167: Linea 164:
 # Minute ​ Hour    Day of Month   ​Month ​             Day of Week        User   ​Command # Minute ​ Hour    Day of Month   ​Month ​             Day of Week        User   ​Command
 # (0-59) ​ (0-23) ​ (1-31) ​        (1-12 or Jan-Dec) ​ (0-6 or Sun-Sat) # (0-59) ​ (0-23) ​ (1-31) ​        (1-12 or Jan-Dec) ​ (0-6 or Sun-Sat)
-2,17,32,47  ​      ​                                              ​root   ​/​usr/​local/​bin/​dht22.sh 22 4 6 > /dev/null 2>&​1 +4,​9,​14,​19,​24,​29,​34,​39,​44,49,54,59 * * * * root /​usr/​local/​bin/​dht22.sh 22 4 6 > /dev/null 2>&1</​code>​ 
-Crtl+O per salvare e CRTL+X per uscire +Crtl+O per salvare e CRTL+X per uscire\\ 
- +\\ 
-Per fare in modo che lo script ​venga invocato anche all’avvio del Raspberry è necessario inserire la seguente riga anche in rc.local+===== Avvio script ​al boot =====
  
 +Per fare in modo che lo script venga invocato anche all’avvio del Raspberry è necessario inserire l'​avvio anche in rc.local\\
 +\\
 Utilizzando Putty, colleghiamoci al Raspberry ed eseguiamo quanto segue. Utilizzando Putty, colleghiamoci al Raspberry ed eseguiamo quanto segue.
-nano /​etc/​rc.local+<​code>​nano /​etc/​rc.local</​code>​
  
-Editare il file /​etc/​rc.local ​inserendo le modifiche in rosso:+Editare il file /​etc/​rc.local ​aggiungendo la seguente riga prima della riga "exit 0":
  
-stty -F /​dev/​ttyUSB0 19200 & +<​code>​sudo /​usr/​local/​bin/​dht22.sh 22 4 6</code> 
-sudo /​usr/​bin/​curl http://​localhost/​123solar/​scripts/​boot123s.php & +Premere ctrl+O per salvare e ctrl+X per uscire\\ 
-sudo sleep 6 +\\ 
-sudo /​usr/​local/​bin/​dht22.sh 22 4 6 +Infine, su meterN si configurano 2 sensori (temperatura e umidità) con i seguenti comandi:​\\ 
-sudo /usr/​bin/​curl http://​localhost/​metern/​scripts/​bootmn.php & +\\ 
-exit 0 +Per la temperatura\\ 
-Premere ctrl+O per salvare e ctrl+X per uscire+ \\
  
-Infine, su meterN si configurano 2 sensori (temperatura e umidità) con i seguenti comandi+Main pooling:\\ 
- +Command: cat /​run/​shm/​metern6.txt | grep C\\ 
-Per la temperatura+Dashboard live pooling\\ 
 +Live command:​ cat /​run/​shm/​metern6.txt | grep C\\ 
 +\\ 
 +Per l’umidità\\
    
- +\\ 
-Main pooling: +Main pooling:\\ 
-Command: cat /​run/​shm/​metern6.txt | grep C +Command: cat /​run/​shm/​metern6.txt | grep %\\ 
-Dashboard live pooling +Dashboard live pooling\\ 
-Live command:​ cat /​run/​shm/​metern6.txt | grep C +Live command:​ cat /​run/​shm/​metern6.txt | grep %\\
- +
-Per l’umidità +
-  +
- +
-Main pooling: +
-Command: cat /​run/​shm/​metern6.txt | grep % +
-Dashboard live pooling +
-Live command:​ cat /​run/​shm/​metern6.txt | grep %+
  
  • sensori_vari_dht22.1535802713.txt.gz
  • Ultima modifica: 2018/09/01 13:51
  • da flane