Sensori BMP085 , DHT22 con systemd (Raspbian Jessie)

Discussioni relative all'uso di sensori vari (temperatura, umidità, ....)
alexf
Messaggi: 35
Iscritto il: 19/05/2016, 12:57

Sensori BMP085 , DHT22 con systemd (Raspbian Jessie)

Messaggioda alexf » 25/05/2016, 16:02

Salve a tutti
ho scaricato ed istallato Solarjessie v 2.4 su microsd
volevo inizialmente testare i sensori BMP085 , DHT22
come da guida
ma ho incontrato difficoltà seguendo le pagine 48-64
ho trovato le correzioni qui
http://www.flanesi.it/forum/viewtopic.php?f=13&t=36
ma purtroppo
arrivati al passaggio di
Editare il file /etc/rc.local
non sono più riuscito a proseguire
Con Jessie si è passati a systemd e i software si avviano mediante service non si usa più rc.local...??

cosa è necessario fare arrivati a questo punto....???
Se qualcuno è riuscito a impostare i servizi con systemd , può cortesemente
postare come ha risolto.

Grazie

vecchio
/etc/rc.local
Ver. 2.20
del 12/11/2015
Editare il file /etc/rc.local inserendo le modifiche in rosso:
stty -F /dev/ttyUSB0 19200 &
sudo /usr/bin/curl http://localhost/123solar/scripts/boot123s.php &
sudo sleep 6
sudo /usr/local/bin/ds18b20 000005b8a78e 6
sudo python /var/www/MyScripts/pa.py > /run/shm/metern7.txt
sudo /usr/bin/curl http://localhost/metern/scripts/bootmn.php &
exit 0


Avatar utente
Flane
Messaggi: 2463
Iscritto il: 16/01/2016, 15:02

Re: Solarjessie v 2.4 : systemd e sensori BMP085 , DHT22

Messaggioda Flane » 26/05/2016, 23:32

Come hai detto con Raspbian Jessie si è passati a systemd, abbandonando rc.local.
Facciamo quindi un passetto alla volta e cerchiamo di vedere come procedere con il sensore DHT22

Sensore DHT22

Eseguiamo quanto riportato sulla mia guida ver. 2.2 dalla pagina 50 a 55, fermandoci prima di andare ad editare il file rc.local.
In sostituzione di quest'ultima operazione eseguiamo quanto segue:

1) Creiamo una voce per systemd (/etc/systemd/system/dht22.service):
Da terminale

Codice: Seleziona tutto

sudo nano /etc/systemd/system/dht22.service

ed incolliamo il seguente codice:

Codice: Seleziona tutto

[Unit]
Description=dht22

[Service]
Type=oneshot
ExecStart=/usr/local/bin/dht22.sh 22 4 6

[Install]
WantedBy=multi-user.target

CTRL+O per salvare e CTRL+X per uscire

2) installiamo il servizio eseguendo da terminale

Codice: Seleziona tutto

insserv
systemctl enable dht22.service


3) avviamo quindi il servizio eseguendo sempre da terminale

Codice: Seleziona tutto

systemctl start dht22.service


4) riavviamo il raspberry

Codice: Seleziona tutto

sudo reboot


Dopo il riavvio possiamo controllare se nella cartella /run/shm c'è il file metern6.txt che contiene le letture del sensore.
In caso positivo, possiamo riprocedere con quanto indicato nella guida a pagine 56 e tutto dovrebbe funzionare .... almeno penso ...

alexf
Messaggi: 35
Iscritto il: 19/05/2016, 12:57

Re: Solarjessie v 2.4 : systemd e sensori BMP085 , DHT22

Messaggioda alexf » 28/05/2016, 23:24

Ciao grazie
per le istruzioni
ma ho riscontrato qualche piccolo problema
ti riporto i risultati
il file carica solo due valori

Codice: Seleziona tutto

il sensore viene rilevato
pi@raspberrypi:/etc/systemd/system $ sudo ADHT_metern.py 22 4 6
6_1(25.9*C)
6_2(36.4*%)

nano  /run/shm/metern6.txt
6_1(25.9*C)
6_2(35.8*%)
questo è lo stato del servizio

pi@raspberrypi:~ $ systemctl status dht22.service
● dht22.service - dht22
   Loaded: loaded (/etc/systemd/system/dht22.service; enabled)
   Active: inactive (dead) since sab 2016-05-28 23:13:23 CEST; 1min 37s ago
  Process: 25873 ExecStart=/usr/local/bin/dht22.sh 22 4 6 (code=exited, status=0/SUCCESS)
 Main PID: 25873 (code=exited, status=0/SUCCESS)

 pi@raspberrypi:~ $ systemctl is-enabled dht22.service; echo $?
enabled

inoltre con capisco l'interfaccia web metern si carica sempre la pagina admin.....
se carico

Codice: Seleziona tutto

http://192.168.10.160/metern

si carica sempre

Codice: Seleziona tutto

http://192.168.10.160/metern/admin/admin.php




il file cron.d/dht22 è necessario attivarlo , io l' ho fatto coem da guida...

Codice: Seleziona tutto

 nano /etc/cron.d/dht22
#!/bin/bash
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
# 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)
2,17,32,47 * * * * root /usr/local/bin/dht22.sh 22 4 6 > /dev/null 2>&1
Ultima modifica di alexf il 28/05/2016, 23:36, modificato 1 volta in totale.


alexf
Messaggi: 35
Iscritto il: 19/05/2016, 12:57

Re: Solarjessie v 2.4 : systemd e sensori BMP085 , DHT22

Messaggioda alexf » 28/05/2016, 23:42

si parlavo del
file metern6.txt
pensavo di trovare la lista di rilevazioni è corretto quindi trovare solo i valori dell'ultima rilevazione...

questo è il contenuto

Codice: Seleziona tutto

nano  /run/shm/metern6.txt
6_1(25.9*C)
6_2(35.8*%)

alexf
Messaggi: 35
Iscritto il: 19/05/2016, 12:57

Re: Solarjessie v 2.4 : systemd e sensori BMP085 , DHT22

Messaggioda alexf » 28/05/2016, 23:52

poi ho tentato di seguire la stessa guida per attivare il sensore BMP085
il sensore viene rilevato e letto

Codice: Seleziona tutto

pi@raspberrypi:/etc/systemd/system $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77


Codice: Seleziona tutto

pi@raspberrypi:/etc/systemd/system $ sudo python /var/www/MyScripts/pa.py
7_1(25.90*C)
7_2(989.14*Pa)
7_3(202.86*m)
7_4(989.06*Pm)


ma nel file bmp085.service
la sintassi

Codice: Seleziona tutto

[Service]
Type=oneshot
ExecStart sudo python /var/www/MyScripts/pa.py > /run/shm/metern7.txt


non è acettata credo occorre scrive altro....

Avatar utente
Flane
Messaggi: 2463
Iscritto il: 16/01/2016, 15:02

Re: Solarjessie v 2.4 : systemd e sensori BMP085 , DHT22

Messaggioda Flane » 29/05/2016, 0:10

Certo che è corretto che ci siano solo le ultime letture. È metern che si occupa di loggarle.

Per l'altro sensore guarda bene come è il mio file. service
Ti manca = dopo ExecStart....

alexf
Messaggi: 35
Iscritto il: 19/05/2016, 12:57

Re: Solarjessie v 2.4 : systemd e sensori BMP085 , DHT22

Messaggioda alexf » 29/05/2016, 10:04

ciao

per quanto riguarda il sensore bmp085 l'argomento non è valido
per richiamare la compilazione del file metern7.txt occorre un 'altra sintassi...

Codice: Seleziona tutto

il file service è cosi scritto
[Unit]
Description=bmp085

[Service]
Type=oneshot
ExecStart=python /var/www/MyScripts/pa.py > /run/shm/metern7.txt

[Install]
WantedBy=multi-user.target


Codice: Seleziona tutto

l'errore restituito è questo
root@raspberrypi:/etc/systemd/system# insserv
85.serviceroot@raspberrypi:/etc/systemd/system# systemctl enable bmp085.service
Failed to execute operation: Invalid argument


Codice: Seleziona tutto

root@raspberrypi:/home/pi# systemctl status bmp085.service
● bmp085.service - bmp085
   Loaded: error (Reason: Invalid argument)
   Active: inactive (dead)

mag 27 00:53:11 raspberrypi systemd[1]: [/etc/systemd/system/bmp085.service:6] Executable path...txt
mag 27 00:53:11 raspberrypi systemd[1]: bmp085.service lacks ExecStart setting. Refusing.
mag 28 23:28:35 raspberrypi systemd[1]: [/etc/systemd/system/bmp085.service:6] Executable path...txt
mag 28 23:28:35 raspberrypi systemd[1]: bmp085.service lacks ExecStart setting. Refusing.

Warning: Unit file changed on disk, 'systemctl daemon-reload' recommended.
Hint: Some lines were ellipsized, use -l to show in full.


Codice: Seleziona tutto

root@raspberrypi:/etc/systemd/system# systemctl enable bmp085.service
Failed to execute operation: Invalid argument


per quanto riguarda metern web sicuramente sbaglio qualcosa...

Codice: Seleziona tutto

http://IP_RASPBERRY/metern

passa alla pagina admin
non riesco a vedere la parte dei grafici
ho impostato i sensori come da guida----

per questo scrivo nel post dedicato?

Avatar utente
Flane
Messaggi: 2463
Iscritto il: 16/01/2016, 15:02

Re: Solarjessie v 2.4 : systemd e sensori BMP085 , DHT22

Messaggioda Flane » 29/05/2016, 16:55

Ma Metern è avviato?
Solitamente ti rigira alla pagina admin quando metern non è avviato oppure c'è qualche problema di configurazione che ne impedisce l'avvio.

prova ad inserire la riga così:

Codice: Seleziona tutto

ExecStart=/var/www/MyScripts/pa.py > /run/shm/metern7.txt

e controlla che il file pa.py abbia i permessi come eseguibile

alexf
Messaggi: 35
Iscritto il: 19/05/2016, 12:57

Re: Sensori BMP085 , DHT22 con systemd (Raspbian Jessie)

Messaggioda alexf » 29/05/2016, 17:04

si metern é avviato. . il selettore é su ON...
non saprei che tipo di prova fare per capire il problema....

Inviato dal mio SM-G928F utilizzando Tapatalk


Torna a “Meters hardware”

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti