praegune kellaaeg 22.06.2025 22:23:32
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
Stemugram
HV kasutaja
liitunud: 02.12.2001
|
28.01.2014 22:59:38
Abi vaja Pythoni koodis |
|
|
Oleks vaja Pythoni kood õigesti tööle saada. See kood siis võtab siis RaspberryPi taga olevatelt temperatuuri anduritelt näite. Leitud kood oli ühe anduri jaoks aga mul on andureid kolm. Natuke ma seda koodi mudisin aga õigesti tööle ei saanud.
python:
|
import os import glob import time import datetime os.system('modprobe w1-gpio') os.system('modprobe w1-therm') def read_temp_raw(device_file): f = open(device_file, 'r') lines = f.readlines() f.close() return lines def read_temp(file): nb = 0 while True: lines = read_temp_raw(file) if lines: if lines[0].find('YES'): nb = 0 if len(lines) == 2: eq = lines[1].find('t=') temp_string = lines[1][eq+2:] temp_c = float(temp_string) / 1000.0 if temp_c != -1.25: return temp_c else: continue else: return ERROR else: nb += 1 time.sleep(1) if nb > MAX_READ: return ERROR else: return ERROR base_dir = '/sys/bus/w1/devices/' devices = glob.glob(base_dir + '10*') TPS_DEV = 0.5 TPS_LOOP = 0.5 MAX_READ = 5 ERROR = -99 while True: nb = 0 now = time.strftime('%Y-%m-%d %H:%M:%S') lines = [] for dev in devices: nb += 1 lines.append("%s %s %s %s" % (nb,now, dev[31:],read_temp(dev + '/w1_slave'))) message = '\n'.join(lines) + '\n' print(message) time.sleep(TPS_DEV) time.sleep(TPS_LOOP)
|
Kood kuvab esiteks:
2014-01-25 22:26:19 0ecf 19.687
teiseks:
2014-01-25 22:26:19 0ecf 19.687
2014-01-25 22:26:19 13ff 44.25
ja kolmandaks:
2014-01-25 22:26:19 0ecf 19.687
2014-01-25 22:26:19 13ff 44.25
2014-01-25 22:26:19 d4dd 17.75
Oleks vaja, et kuvaks korraga ainult kolm näitu:
2014-01-25 22:26:19 0ecf 19.687
2014-01-25 22:26:19 13ff 44.25
2014-01-25 22:26:19 d4dd 17.75
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
jannu
HV kasutaja
liitunud: 31.03.2004
|
28.01.2014 23:21:16
|
|
|
Äkki kui 59-ndal real "print(message)" for-tsüklist välja tuua?
|
|
Kommentaarid: 28 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
28 |
|
tagasi üles |
|
 |
gynterk
HV kasutaja
liitunud: 17.01.2004
|
29.01.2014 01:19:43
|
|
|
Jah, kas print loop-ist välja liigutada või siis see list (lines) ära koristada ja iga rea kohta ainult print jätta. Ise eelistaksin viimast
|
|
Kommentaarid: 5 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
5 |
|
tagasi üles |
|
 |
RassK
HV Guru

liitunud: 17.01.2007
|
29.01.2014 02:49:34
|
|
|
Tundub, et seda arrayd mujal ei kasutata, siis võib selle üldse vahelt ära visata ja nagu eelnevalt siin mainitud, siis see, mida sa appendid lihtsalt otse välja printida.
|
|
Kommentaarid: 116 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
101 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|