Raspberry PI3 a DS18B20 1Wire

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

mmarekk
Okoloidúci
Okoloidúci
Príspevky: 33
Dátum registrácie: 01 Apr 2009, 00:00
Bydlisko: Banská Bystrica
Vek: 41

Raspberry PI3 a DS18B20 1Wire

Príspevok od používateľa mmarekk » 09 Aug 2022, 18:47

Zdravim pani, mam postaveny teplomer na RPI3 a senzor DS18B20, soft je Buster s pythonovy script je pre verziu 3.
stava sa mi ale ze vypise IndexError: list index out of range.
Hladam som par dni na forach riesenie, ale zrejme nikomu to poriadne funguje. Postavil som to na druhom RPI s druhym senzorom a to iste. Vypise to nahodne - po 20minutach, hodine, max to funguje 2 dni.
Skusil som 3,3V aj 5V. Odpor mam 4k7. PIN4 defaulny som zmenil na iny.

Predym som mal soft Jessie a python 2 a islo mi to 2 roky v kuse OK.

Ma dakto skusenost?

Dakujem,
0

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 483
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Raspberry PI3 a DS18B20 1Wire

Príspevok od používateľa zen » 18 Aug 2022, 23:59

Python ti povie riadok, kde je problem. Vytiskni tu list nez ju zacnes zpracovavat.
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

mmarekk
Okoloidúci
Okoloidúci
Príspevky: 33
Dátum registrácie: 01 Apr 2009, 00:00
Bydlisko: Banská Bystrica
Vek: 41

Re: Raspberry PI3 a DS18B20 1Wire

Príspevok od používateľa mmarekk » 19 Aug 2022, 17:41

Traceback (most recent call last):
File "/home/pi/Desktop/matrixled.py", line 68, in <module>
loop(serialNum)
File "/home/pi/Desktop/matrixled.py", line 51, in loop
if read(ds18b20) != None:
File "/home/pi/Desktop/matrixled.py", line 39, in read
secondline = text1.split("\n")[1]
IndexError: list index out of range
0

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 483
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Raspberry PI3 a DS18B20 1Wire

Príspevok od používateľa zen » 23 Aug 2022, 14:53

text1.split() ti vrati type list

elementy list su cislovane od [0], cili secondline bude DRUHY element tej list

akoze splitujes "\n", obavam sa, ze dlzka tej list bude 1 a DRUHY element neexistuje

zkus:

Kód: Vybrať všetko

print(len(text1))
econdline = text1.split("\n")[1]
Som si celkom isty, ze ti natiskne 1.
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

mmarekk
Okoloidúci
Okoloidúci
Príspevky: 33
Dátum registrácie: 01 Apr 2009, 00:00
Bydlisko: Banská Bystrica
Vek: 41

Re: Raspberry PI3 a DS18B20 1Wire

Príspevok od používateľa mmarekk » 23 Aug 2022, 18:57

toto je program (z internetu) ktory sa mi obcas zasekava a spadne :

def sensor():
for i in os.listdir('/sys/bus/w1/devices'):
if i != 'w1_bus_master1':
ds18b20 = i
return ds18b20

def read(ds18b20):
location = '/sys/bus/w1/devices/' + ds18b20 + '/w1_slave'
tfile = open(location)
text1 = tfile.read()
#time.sleep(1)
tfile.close()
secondline = text1.split("\n")[1]
#time.sleep(1)
temperaturedata = secondline.split(" ")[9]
temperature = float(temperaturedata[2:])
celsius = temperature / 1000
return celsius

def loop(ds18b20):

while True:
if read(ds18b20) != None:
s1 = str(read(ds18b20))
s2 = "{:.4}".format(s1)
with canvas(virtual) as draw:
text(draw, (0, 1), s2 , fill="white", font=proportional(TINY_FONT))
GPIO.output(18,True)
time.sleep(0.5)
GPIO.output(18,False)
time.sleep(10.0)
main()

def kill():
quit()

if __name__ == '__main__':

try:
serialNum = sensor()
loop(serialNum)
time.sleep(1)

except KeyboardInterrupt:
kill()



zrejme obcas cidlo posle nespravny udaj a preto to spadne, ale na pythone 2 a OS Jessie z 2017 mi to islo OK. aj ked program je podobny ale nie ten isty
0

Atlan
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1146
Dátum registrácie: 01 Feb 2008, 00:00
Bydlisko: Kosice okolie

Re: Raspberry PI3 a DS18B20 1Wire

Príspevok od používateľa Atlan » 23 Aug 2022, 20:35

Vzdialenost senzora od pocitaca? Aky kabel je pouzity? Senzor kupovany kde?
0

romiadam
Ultimate člen
Ultimate člen
Príspevky: 4415
Dátum registrácie: 09 Apr 2008, 00:00
Bydlisko: Wicklow, Irsko
Vek: 47

Re: Raspberry PI3 a DS18B20 1Wire

Príspevok od používateľa romiadam » 24 Aug 2022, 15:57

Len pre info, ja mam DS18B20 kupovany u oficialneho predajcu a mam ho zaveseny na kabli co sa pouzivaju pre snimace v priemysle s konektorom M8 (indukcnesnimace). Su tam tri vodice hnedy modry a cierny. Neviem ci je to skrutene. Ten kabel ma asi 6 metrov. Na dboch metroch to ide vedla kablov pre zasuvky a svetlav dome. DS napajam 5V cez Modry (gnd) a hnedy (+5V) Nepouzivam napajanie z datoveho vodica -"parazitne napajanie", ak sa to tak vola. Program som si pisal sam, casovanie 1-wire protokolu som dodrzal podla datasheetu. Uz mi to takto bezi asi 10 rokov. Mam to ako regulator kurenia v dome (termostat).
0
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje

mmarekk
Okoloidúci
Okoloidúci
Príspevky: 33
Dátum registrácie: 01 Apr 2009, 00:00
Bydlisko: Banská Bystrica
Vek: 41

Re: Raspberry PI3 a DS18B20 1Wire

Príspevok od používateľa mmarekk » 24 Aug 2022, 18:58

Atlan napísal:
23 Aug 2022, 20:35
Vzdialenost senzora od pocitaca? Aky kabel je pouzity? Senzor kupovany kde?
asi 1m, oreginal DS18B20 s kablom, z Aliexpress, dal som tam aj v puzdre TO92, kratky kablik...

toto mam cele 2x, aj RPI aj senzory a na oboch to robi....,
ale vyriesil som to uz tak ze ked spadne tak sa restaruje program a bezi znova takze je to OK.
0

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6200
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: Raspberry PI3 a DS18B20 1Wire

Príspevok od používateľa pocitujlasku » 24 Aug 2022, 19:17

tak bud neodladeny program, alebo cinske snimace.
Problem moze byt aj kratky cas medzi meranim a citanim udajov. pri max. rozliseni to je cca 750ms, ked vezmem do uvahy toleranciu cinskych, tak by to nemusel stihnut do sekundy.
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

mmarekk
Okoloidúci
Okoloidúci
Príspevky: 33
Dátum registrácie: 01 Apr 2009, 00:00
Bydlisko: Banská Bystrica
Vek: 41

Re: Raspberry PI3 a DS18B20 1Wire

Príspevok od používateľa mmarekk » 24 Aug 2022, 19:19

a ako a kde to spomalim?
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok