Wednesday, February 5, 2014

Programming...

I've avoided blogging about programming until this point because its been a work in-progress.  I'm finally at a point where I'm happy with the code that is running and the output files.  Here is a brief rundown of the programs that run the weather station.

  • 4 Python scripts to query each sensor once per second (1Hz) and write the output to a temporary text file for later analysis
    • TempHumi.py (relies on rpiSht1x python library)
    • PresTemp.py (relies on Adafruit I2C libraries)
    • wdir.py (relies on Adafruit software-level SPI implementation)
    • wspd.py (uses RPi.GPIO to interrupt and count each pulse)
  • A Fortran (used because of speed and familiarity) program to analyze each of the temporary text files every minute
    • Finds average temperature, dewpoint, pressure, and windspped
    • Finds the maximum 3-second wind gust
    • Uses the Yamartino Method  to calculate average wind direction and standard deviation
    • Generates summary each minute and writes it into the appropriate text file for the day/month/year
    • Generates current.txt which will be used for future projects (updating websites, Twitter, etc.)
  • A scheduling python script to call the Fortran program at XX:XX:00 (better sleep functions than Fortran
  • Cron tasks to call each of the Python scripts at reboot

1 comment: