Raspi + SHT31-anturi

Aloittaja weatherc, torstai, 09.07.2020, 23:57

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

weatherc

Nonni, monsuuni jatko matkaansa ja aurinkokin tuli esille. Tähän aikaan Rpi ei enää ole varjossa.
Lisätty pikku sisäputki sekä anturikotelon lautasiin Bilteman folioteippiä kokeeksi. Itse anturi on alhallta laskettuna 2-3 lautasen kohdilla, ja "välikatto" on 5:s lautanen.

einari

Näyttäisi käppyrät tasoittuneen.. tosin vaatinee pitempää seurantaa :D

weatherc

Lainaus käyttäjältä: einari - sunnuntai, 12.07.2020, 17:25
Näyttäisi käppyrät tasoittuneen.. tosin vaatinee pitempää seurantaa :D

Juu, tämän hetken keli ei ole oikeen ihanteellinen vertailulle kun puolipilvistä (ja vertailudata 5 min välein), mutta näyttää kyllä tasoittuneen :)

weatherc

Pikainen 10 min varjoprototyyppi  ;D

Muuten näyttää päivän käppyrä ihan ok paitsi 15:30 tienoilla on hassu piikki. Aika täsmänee aika hyvin siihen kun aurinko osuu siihen kun tulee talon ympäri.
Koska nyt ei löytynyt mitään sopivaa saatikka että olis ollut aikaa etsiäkkään niin komerosta sellainen muovivuoka jota mm elintarvikkeita mm kaupoissa. Leikattiin reunat pois ja "ulkopuolelle" folioteippiä. Etäisyyttä säteilysuojaan on kännykän leveyden verran (;D)
Ei oo tarkoitettu pysyväksi (jollei sitten jostain syystä toimi oikeen hyvin ;D), ja heiluu tuulessa (ei ole kuin yhdellä pultilla kiinni  ;D

weatherc

#14
Tuolla pikasuojalla (jolla ei suuremmin vaikutusta :P) on viikon klpt suurinpiirtein 0.5 asteen ero
Davis 16.96 ja Raspi 16.56

Raspi saa ajoittain lämpötilaksi -45 astetta 100% kosteudella, ollut nyt 2 kertaa sinä aikana mitä dataa kerätty.
Laiskanmiehen tarkistuksena lisätty tarkistus että lpt on yli -30 astetta jotta filua gereroitais/upattais :)
Daviksella lienee joku tarkistus piikkejä varten.

Mr

Noita sht31 antureita on tullut käytettyä useampi vuosi, eikä koskaan ole tullut vastaan mitään piikkejä kosteudessa eikä lämpötilassa. Yleensä vanheneminen näkyy kosteuden jäädessä sataan tai se muuten vaan laahaa perässä. Lämpötila on kuitenkin toiminut. Antureihin saa myös pieniä filttereitä ja Daviksen uusissa antureissa sellainen on. Sitähän on epäilty jopa Daviksen ongelmaksi, kun kosteus saattaa jäädä kiinni siihen filtteriin. Voisiko piikit johtua raspista, jos anturin jännite notkahtaa kriittisellä hetkellä.

weatherc

#16
Lainaus käyttäjältä: Mr - sunnuntai, 19.07.2020, 21:04
Voisiko piikit johtua raspista, jos anturin jännite notkahtaa kriittisellä hetkellä.

Todennäköisesti on juu joku jännitenotkahdus tms raspi<>sht31. Noita ei ole tullut havaittua kuin sen pari kappaletta koko aikana eli ei ole mikään kovin suuri ongelma, suodattaa ne lukukerrat pois ja jättää filun päivittämättä. Ulos asti tulevassa datavirrasta noita ei loppupeleissä edes huomaa jos yhden/parin päivityskerran data jää pois välistä. Oikeastaan vois jossain kohtaa koittaa väsätä jonkin sortin logia siitä kuinka usein noita tulee varsinkin sitten kun alkaa päivittämään dataa useammin kuin nykyiset 5min välein.

EDIT:
Tuossa käppyrässä näkyy aika hyvin miten nyt toimii kun osus kohtalaisen selkeä päivä. Ovat aika yksissä 15:30-19:30 eli se aika jolloin aurinko osuu Raspiin. Illalla 19:30-20.30 on myös tunnin piikki jossa Davis rykäsee eron lämpimämmäksi, siinä kohdilla myös Raspilla selvä alamäki joka toistuu joka päivä.

Mr

Katsoin vielä tietokannasta minuutin välein tallennettuja mittauksia, eikä yhtään epänormaalia sieltä löytynyt. Mittauksia on usean vuoden ajalta usealta eri sensorilta, yhteensä vajaat 10 miljoonaa. Sitten tuli mieleen että olen käyttänyt Arduinon ja Wemoksen koodeissa "isnan" tarkistusta ja se on voinut seuloa pois mahdollisia virhetilanteita.

  float fT, fH;
  fT = sht31.getTemperature();
  fH = sht31.getHumidity();
  if (!isnan(fT) && !isnan(fH)) { // check if 'is not a number'
  ...
  }

weatherc

#18
Lainaus käyttäjältä: Mr - tiistai, 21.07.2020, 10:52
Sitten tuli mieleen että olen käyttänyt Arduinon ja Wemoksen koodeissa "isnan" tarkistusta ja se on voinut seuloa pois mahdollisia virhetilanteita.

Jeps, todennäköisesti nan:ia puskee silloin, kun katsoo tuota koodia niin -45:hän on tulos jos temp on 0:


import smbus
import time

bus = smbus.SMBus(1)
# SHT31 address, 0x44(68)
bus.write_i2c_block_data(0x44, 0x2C, [0x06])

time.sleep(0.5)

# SHT31 address, 0x44(68)
# Read data back from 0x00(00), 6 bytes
# Temp MSB, Temp LSB, Temp CRC, Humididty MSB, Humidity LSB, Humidity CRC
data = bus.read_i2c_block_data(0x44, 0x00, 6)

temp = data[0] * 256 + data[1]
cTemp = -45 + (175 * temp / 65535.0)

weatherc

#19
SHT:ta lukevaa Python häkkyrää muokattu hitusen niin että se on SHT-raspi joka lähettää filun WeeWX:lle rsyncillä kun uusi generoitu (näin ei WeeWX mene sekaisin jos wifi failaa) sekä että generoi filun 30 sek välein :)


import smbus
import time
import datetime
import schedule
import subprocess

def readsht():

   bus = smbus.SMBus(1)
   bus.write_i2c_block_data(0x44, 0x2C, [0x06])
   time.sleep(0.5)

   # Temp MSB, Temp LSB, Temp CRC, Humididty MSB, Humidity LSB, Humidity CRC
   data = bus.read_i2c_block_data(0x44, 0x00, 6)

   temp = data[0] * 256 + data[1]
   cTemp = -45 + (175 * temp / 65535.0)
   fTemp = -49 + (315 * temp / 65535.0)
   humidity = 100 * (data[3] * 256 + data[4]) / 65535.0

   print "Temperature in Celsius is : %.2f C" %cTemp
   print "Temperature in Fahrenheit is : %.2f F" %fTemp
   print "Relative Humidity is : %.2f %%RH" %humidity

   if cTemp > -30:

      with open('/dev/shm/sht31.txt', 'w') as s_file:
         s_file.write("%.2f %.2f %.2f\n" % (cTemp,humidity,fTemp))

      try:
         subprocess.call("rsync -avz /dev/shm/sht31.txt pi@192.168.0.65:/dev/shm/".split())
      except:
         pass

   else:

      currt = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
      with open('/var/www/html/shtlog.txt', 'a') as l_file:
         l_file.write("%s %s\n" & (currt,temp))

schedule.every(30).seconds.do(readsht)
while True:
   schedule.run_pending()
   time.sleep(1)