Sida 1 av 1

Antalet givare växer, kan jag läsa av DS18B20+ snabbare?

Postat: 26 dec 2013, 14:36
av Fridhem
Tjipp!

Min Pi kör ett cronjobb varje minut, just nu mot 21 st tempgivare. Kör 11-bitarsupplösning för lite snabbare avläsning. Tänkte under dagen utöka med ytterligare ca 20 st DS18B20+. Vårens projekt blir att addera ytterliga 4 räknare för el.

Men just nu är det ca 40 st tempgivare som skall läsas till en text-fil en gång i minuten på en Pi.

Kan jag på ngt vis förbereda alla givare för avläsning och sedan hämta värdena ett och ett? Tar ju en evig tid att be varje givare individuellt om en avläsning och sedan hämtning av värdet. Att be alla förbereda ett värde samtidigt borde ta 1x370 ms istället för att be en och en (40 st givare x 370 ms...).

Vill minnas att jag läst om att folk/hjältar kunnat förbereda alla givare simultant, men jag finner inte hur...!

*sneglar mot "simultaneous" under /mnt/1wire men får bara "0" i retur....*

Re: Antalet givare växer, kan jag läsa av DS18B20+ snabbare?

Postat: 27 dec 2013, 04:26
av Fridhem
Hittade detta inlägg här, länkar: http://www.temperatur.nu/forum/owfs/owf ... t1843.html

Så här dags och när det står väldigt många tomma burkar på diskbänken undrar jag om ngn har "kommando-raderna" för att åstadkomma snabbare läsning mha:
"Finns en katalog som heter simultaneous. Man skickar en 1a till temperature i den om jag inte minns fel."

Måhända uttrycker jag mig klumpigt, men det jag är ute efter torde vara glasklart. :D

Ngn som nyttjar detta praktiskt o kan berätta eller ngn som begriper det jag inte begriper o kan berätta vad jag inte begriper? :oops:

Re: Sv: Antalet givare växer, kan jag läsa av DS18B20+ snabb

Postat: 27 dec 2013, 08:33
av sonnyboy
Du kan kanske få tips här
http://www.mail-archive.com/owfs-develo ... 02524.html

Skickat från min GT-I9100 via Tapatalk 2

Re: Antalet givare växer, kan jag läsa av DS18B20+ snabbare?

Postat: 27 dec 2013, 08:35
av NiclasF
Jag hittade den här sidan när jag googlade som beskriver det bra,
http://owfs-developers.1086194.n5.nabbl ... d5904.html

I bash (jag antar att du har ditt 1-wire-filsystem monterat under /mnt/1wire),

Kod: Markera allt

$> echo "1" > /mnt/1wire/simultaneous
Om du sedan väntar i 600-700ms så ska alla temperatursensorer hunnit att göra sin konvertering. Temperaturen finns att läsa under,

Kod: Markera allt

$> cat /mnt/1wire/28.*/temperature
Jag tror faktiskt att du inte ens behöver vänta med att så cat-kommandot, utan det kommer att returnera så fort konverteringen är klar.
Följande borde alltså ge dig alla temperaturer

Kod: Markera allt

#!/bin/bash

echo 1 > /mnt/1wire/simultaneous
cat /mnt/1wire/28.*/temperature

EDIT: För att det ska fungera med simultaneous, så får du inte ha parasit-kopplade sensorer.

Re: Antalet givare växer, kan jag läsa av DS18B20+ snabbare?

Postat: 27 dec 2013, 11:23
av Fridhem
NiclasF skrev:EDIT: För att det ska fungera med simultaneous, så får du inte ha parasit-kopplade sensorer.
Morron hjältar!

Jag tror det är väldigt troligt att jag kommer börja löda om närmare 40-sensorer. Eller iaf en liten del av dem när behovet tränger sig på... :lol: :lol: :lol: ...synd bara att de är monterade lite överallt i huset, kompressorpaketet i värmepannan är ett av dem...

Nätet är kraftigt förgrenat och jag har gott om givare liggandes, bäst är kanske att löda helt nya avstick vartefter man får problem med inläsningstiderna.

Super-tack för svar! *tar mig för pannan och förbannar mina parasiter*