I have owfs and owserver running on a BBB under Ubuntu 12.04. It seems to be 
working, most of the time...

One of the DS18B20 sensors is linked via Node-RED to store a new temperature 
reading to the emoncms site at five minute intervals. Sometimes it draws nice 
smooth 12-bit resolution graphs for days. But occasionally the temperature will 
get stuck for up to an hour, and then make a step change. 

I'm pretty well convinced that emoncms is storing what they are sent, and 
Node-RED is sending what it reads from the 
/sys/devices/w1_bus_master1/28-000000884d88/w1_slave file. 

--> I'm not sure how to tell if the file is being updated. The date/time 
metadata does not change when readings change. Is there some way to verify that 
a fresh reading has been written? Maybe the file is intentionally only written 
if the value changes? 

Apparently each of the readings is done separately? 
temperature     24.6875
temperature10   85  <--
temperature11   24.75
temperature12   24.6875
temperature9    24.5


Watching the owserver page, I sometimes see readings that don't exactly make 
sense. This sequence was captured by manually copying and pasting and then 
refreshing the web page, so 15 seconds or more between groups:
---
temperature     30.8125
temperature10   30.75
temperature11   30.875
temperature12   30.8125
temperature9    30.5

temperature     30.8125
temperature10   30.75
temperature11   30.75
temperature12   30.8125
temperature9    30.5

temperature     30.8125  <-- looks like this is separate from temp12?
temperature10   30.75
temperature11   30.875
temperature12   30.875
temperature9    30.5

temperature     30.8125
temperature10   30.75
temperature11   30.875
temperature12   30.8125
temperature9    30.5

temperature     30.8125
temperature10   30.75
temperature11   30.875
temperature12   30.875
temperature9    30.5

ubuntu@ubuntu-armhf:~$ cat /sys/devices/w1_bus_master1/28-000000884d88/w1_slave
e8 01 4b 46 1f ff 08 10 07 : crc=07 YES
e8 01 4b 46 1f ff 08 10 07 t=30500

ubuntu@ubuntu-armhf:~$ cat /sys/devices/w1_bus_master1/28-000000884d88/w1_slave
ed 01 4b 46 7f ff 03 10 e2 : crc=e2 YES
ed 01 4b 46 7f ff 03 10 e2 t=30812

ubuntu@ubuntu-armhf:~$ cat /sys/devices/w1_bus_master1/28-000000884d88/w1_slave
e8 01 4b 46 1f ff 08 10 07 : crc=07 YES
e8 01 4b 46 1f ff 08 10 07 t=30500
ubuntu@ubuntu-armhf:~$

temperature     30.8125
temperature10   30.75
temperature11   30.875
temperature12   30.8125
temperature9    30.5
---

--> I know the value in the w1_slave file is usually the 12-bit value, but 
could it sometimes be one of the lower precision values? 

--> Sometimes it seems like having the owserver web page open makes it much 
more likely that occasional low-precision values will appear in the file - is 
that possible? 


Here is a sequence from today, when the temperature should have been slowly but 
evenly rising:
---
11 Jun 2014 19:35:24.136[owfs payload]
25.375
11 Jun 2014 19:40:24.210[owfs payload]
25.500
11 Jun 2014 19:45:24.383[owfs payload]
25.500
11 Jun 2014 19:50:24.371[owfs payload]
25.500
11 Jun 2014 19:55:24.413[owfs payload]
26.000
11 Jun 2014 20:00:24.502[owfs payload]
26.062
11 Jun 2014 20:05:26.447[owfs payload]
26.187
11 Jun 2014 20:10:26.461[owfs payload]
26.187
11 Jun 2014 20:15:26.496[owfs payload]
26.187
11 Jun 2014 20:20:26.531[owfs payload]
26.687
11 Jun 2014 20:25:26.554[owfs payload]
26.500
11 Jun 2014 20:30:26.946[owfs payload]
26.500
11 Jun 2014 20:35:26.615[owfs payload]
26.500
11 Jun 2014 20:40:26.648[owfs payload]
27.125
11 Jun 2014 20:45:26.673[owfs payload]
27.125

temperature     27.3125
temperature10   27.25
temperature11   27.375
temperature12   27.3125
temperature9    27

11 Jun 2014 20:50:26.696[owfs payload]
27.000

cat /sys/devices/w1_bus_master1/28-000000884d88/w1_slave
b6 01 4b 46 7f ff 0a 10 a2 : crc=a2 YES
b6 01 4b 46 7f ff 0a 10 a2 t=27375
ubuntu@ubuntu-armhf:~$

temperature     27.4375
temperature10   27.5
temperature11   27.375
temperature12   27.4375
temperature9    27.5

temperature     27.4375
temperature10   27.5
temperature11   27.5
temperature12   27.5
temperature9    27.5
---

--> I realize that kind of cut and paste logging is hopelessly imprecise when 
the owfs values are apparently being updated every 15 seconds. Is there some 
better way to see what is going on? 


I don't need 15 seconds, the file only gets read once per five minutes. I've 
tried changing timeouts in the owserver interface and in the /etc/owfs.conf 
file. The values from the conf file show in the web page, and if I change them 
there they revert immediately, but they don't affect the actual operation. The 
hardware seems stuck at 15 seconds. 

--> Any clues what I might be missing to change the w1 update timing? 

--> I'm seeing the "15 seconds" with a scope on the hardware bus. Does the 
timeout value set the time between each individual reading, or the time to 
update the full sequence of 9/10/11/12/temp or whatever else is being 
separately read? 

--> Maybe when you use the w1 interface, the "w1" timeout overrides "volatile"? 
But that is set to 30 and I still get 15...  


--> If you think this is just "noise" on the readings, is there some place in 
the owfs system where I could insert some severe digital filtering? It seems 
kind of tacky to keep querying your output and filtering that for my purposes. 


--> While I'm asking questions, does anyone know if trying to read DS18B20 
devices with 3.3V hardware causes them to read high? Sensors that match my 
thermocouple thermometer exactly when read in a 5V system read 2 to 6 degrees C 
higher on the 3.3V BBB. I've verified the logged temperature matches the 
reported 1-Wire bits. The readings are stable and (except for the occasional 
periods of low resolution noted above) change smoothly. I have not gone to the 
effort of trying to determine if this is a fixed offset or a ratiometric 
error...  

For my production system with a dozen sensors along 100+ feet of cable, I'm 
sure a proper 5V interface with active pullup/downs will be required. But I'm 
surprised I'm getting offsets when testing with local devices! 


Thanks for any clues,

Loren

| Loren Amelang | lo...@pacific.net |




------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to