Sensori ds18b20 errore lettura

Discussioni relative all'uso di sensori vari (temperatura, umidità, ....)
Avatar utente
Flane
Messaggi: 2460
Iscritto il: 16/01/2016, 15:02

Re: Sensori ds18b20 errore lettura

Messaggioda Flane » 19/08/2019, 16:55

A creare il file meternX.txt è lo script /usr/local/bin/ds18b20 che deve venir poi invocato tramite il comando

Codice: Seleziona tutto

ds18b20 “seriale sensore” “meterID”

che va inserito in cron per eseguirlo ogni 5 minuti come da guida.

Controlla il comando che hai inserito in cron se hai specificato anche l'ID.


ccattaneo28
Messaggi: 68
Iscritto il: 23/08/2018, 14:50

Re: Sensori ds18b20 errore lettura

Messaggioda ccattaneo28 » 20/08/2019, 20:04

Questo il contenuto di crontab al comando
nano /etc/cron.d/ds18b20


#!/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 Com
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
4,9,14,19,24,29,34,39,44,49,54,59 * * * * root /usr/local/bin/ds18b20 0215837af6ff 7 > /dev/null 2>&1


Questo il contenuto di var/shm

Immagine

non esiste il file metern7.txt come dovtrbbe essere da comando in cron.

DA notare che se invoco il file basch non mi viene restituito la lettura della sonda, ma neanche un errore....
se lancio il file ds18b20.py mi viene resa la lettura senza errori.
il contenuto del file
#!/usr/bin/env python
import sys
from w1thermsensor import W1ThermSensor
address = sys.argv[1]
sensor = W1ThermSensor(W1ThermSensor.THERM_SENSOR_DS18B20, address)
temperature_in_celsius = sensor.get_temperature()
print("{0:.2f}".format(temperature_in_celsius))


il contenuto del file ds18b20

#!/bin/sh
DATA="$(ds18b20.py $1)"
if [ x"$DATA" != x ] && [ "$DATA" != "ERROR" ]; then
echo "$2($DATA*C)" > /dev/shm/metern$7.txt
fi



Grazie 1000000

ccattaneo28
Messaggi: 68
Iscritto il: 23/08/2018, 14:50

Re: Sensori ds18b20 errore lettura

Messaggioda ccattaneo28 » 20/08/2019, 21:46

mi è sfuggito nel msg precedente.
print screen dei due comandi....
prima ds18b20 numero sonda e id..........
Praticamente invocando il file batch non viene restituito il numero di sonda e manco la lettura.......
utilizzando invece il file .py viene restituito la lettura delle tamperatura

Immagine

ccattaneo28
Messaggi: 68
Iscritto il: 23/08/2018, 14:50

Re: Sensori ds18b20 errore lettura

Messaggioda ccattaneo28 » 20/08/2019, 22:01

ho modificato il file batch ds18b20 così,,,

#!/bin/sh
DATA="$(ds18b20.py $1)"
if [ x"$DATA" != x ] && [ "$DATA" != "ERROR" ]; then
echo "$2($DATA*C)" > /dev/shm/metern7.txt
fi



e mi ha creato il file metern7.txt.....
pero non mi convince, xche negli esempi di flane era scritto metern$2.txt

grazie 100000

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

Re: Sensori ds18b20 errore lettura

Messaggioda Flane » 20/08/2019, 23:29

Scusa ma perchè hai modificato questa riga del file /usr/local/bin/ds18b20

Codice: Seleziona tutto

    echo "$2($DATA*C)" > /dev/shm/metern$2.txt

in

Codice: Seleziona tutto

    echo "$2($DATA*C)" > /dev/shm/metern$7.txt

Hai sostituito $2 con $7 ????
Dove c'è scritto?
$2 rappresenta il secondo parametro passato da linea di comando, cioè il tuo ID 7
se scrivi $7 lui si aspetta il 7° parametro e non il 2° .....

Ovvio che ti crea il file meter.txt ...... :roll: :roll:

ccattaneo28
Messaggi: 68
Iscritto il: 23/08/2018, 14:50

Re: Sensori ds18b20 errore lettura

Messaggioda ccattaneo28 » 21/08/2019, 12:21

Hai ragione non c'e scritto proprio da nessuna parte.....
ho interpretato male io il codice e sopratutto non ho letto con attenzione le istruzioni....
Ho comunqu imparato

Grazie 1000000
e scusatemi x

America
Messaggi: 185
Iscritto il: 26/08/2018, 13:15

Re: Sensori ds18b20 errore lettura

Messaggioda America » 06/10/2019, 17:20

Ciao a tutti.
Fino ad oggi ho usato solo un sensore e fin qua tutto ok.
Ne ho aggiunti altri 7 ed ho i seguenti problemi.
Se li attacco tutti insieme non ne vedo nemmeno uno via putty.
Ho provato fino a tre e funzionano. Non ho provato con il quarto perchè sono già passati sulle canaline e dovrei sfilarli. Poi però ieri dopo circa mezza giornata di funzionamento si sono bloccati, nel senso che la T visualizzata era fissa e non cambiava. Non so se ci possa essere qualche correlazione.

Il tutto ci saranno 15 metri di cavo tra le varie diramazioni e sono collegati con una resistenza. Non ricordo se da 10K o 4,7.

Qualche suggerimento?

Grazie.

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

Re: Sensori ds18b20 errore lettura

Messaggioda Flane » 07/10/2019, 8:47

Credo che il problema sia la resistenza.

Il datasheet parla di resistenza da 4,7kohm ma con cavi lunghi ci sono dei problemi.
https://forum.arduino.cc/index.php?topic=20574.0
Nella discussione sopra hanno utilizzato una resistenza da 2kohm e sono anche intervenuti sui tempi di lettura.

America
Messaggi: 185
Iscritto il: 26/08/2018, 13:15

Re: Sensori ds18b20 errore lettura

Messaggioda America » 07/10/2019, 13:12

Grazie per la risposta. Proverò nel week end ad aggiungere la resistenza da 20k
Scusa la domanda forse banale, ma le mie conoscenze sono nulle in meroe, ma nel caso non abbia quella da 20k poss metterne due da 10k?

Inviato dal mio Redmi 4X utilizzando Tapatalk

carest
Messaggi: 62
Iscritto il: 08/11/2018, 22:09

Re: Sensori ds18b20 errore lettura

Messaggioda carest » 07/10/2019, 13:21

2k, non 20k (2.000 ohm e 20.000).
Si, due resistenze in serie si sommano


Torna a “Meters hardware”

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti