Subversion Repositories yaws

Rev

Rev 16 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#
#  yaws.py
#  
#  Copyright 2020 Ron Wellsted <ron@wellsted.org.uk>
#  
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#  
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#  
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#  MA 02110-1301, USA.
#  
#  
cfgPath = './yaws.cfg'

import database.samples as db
from gpiozero import CPUTemperature
import time
import sensors
from sensors import tph, rain, wind, light

AirTemp = None
GndTemp = None
Pressure = None
Humidity = None
WindSpeed = None
WindDirection = None
Rain =  None
Rainfall = None
Sunlight = None
cpu = None

def main(args):
    conn = db.create_connection()
    while True:
        # get Air tph
        data = tph.read_tph()
        AirTemp = data[0]
        Pressure = data[1]
        Humidity = data[2]
        
        # get Ground temperature
        
        # get Rain info
        data = rain.read_rain()
        Rain = data[0]
        Rainfall = data[1]
        
        # get Wind info
        data = wind.read_wind()
        WindDirection = data[0]
        WindSpeed = data[1]
        
        # get light level
        Sunlight = light.read_light()
        
        # get CPU Temp
        cpu = CPUTemperature()
        
        Sample = db.Samples(airtemp = AirTemp, gndtemp = GndTemp,
            pressure = Pressure, humidity = Humidity, windspeed = WindSpeed,
            direction = WindDirection, rain = Rain, rainfall = Rainfall,
            sunlight = Sunlight, cputemp = float(cpu.temperature))
        db.session.add(Sample)
        db.session.commit()
        time.sleep(60)
    return 0

if __name__ == '__main__':
    import sys, configparser
    cfg = configparser.ConfigParser()
    cfg.read(cfgPath)
    dbPath = cfg['global']['dbPath']
    sys.exit(main(sys.argv))