Before you can install WeeWX you need a few more python modules, at least configobj, six, pyserial and Cheetah. If you have a weather station than you might more python modules.
Start by creating a build location where you can store all your sources etc:
Python module configobj:
# cd /usr/src/weewx
# wget -c "https://pypi.python.org/packages/source/c/configobj/configobj-5.0.5.tar.gz"
...
# tar xf configobj-5.0.5.tar.gz
# cd configobj-5.0.5
# python setup.py install
...
Writing /usr/lib64/python2.7/site-packages/configobj-5.0.5-py2.7.egg-info
Python module six:
# cd /usr/src/weewx
# wget -c "https://pypi.python.org/packages/source/s/six/six-1.7.2.tar.gz"
...
# tar xf six-1.7.2.tar.gz
# cd six-1.7.2
# python setup.py install
...
Writing /usr/lib64/python2.7/site-packages/six-1.7.2-py2.7.egg-info
Python module pyserial:
# cd /usr/src/weewx
# wget -c "https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz"
...
# tar xf pyserial-2.7.tar.gz
# cd pyserial-2.7
# python setup.py install
...
Writing /usr/lib64/python2.7/site-packages/pyserial-2.7-py2.7.egg-info
Python module Cheetah:
# cd /usr/src/weewx
# wget -c "https://pypi.python.org/packages/source/C/Cheetah/Cheetah-2.4.4.tar.gz"
...
# tar xf Cheetah-2.4.4.tar.gz
# cd Cheetah-2.4.4
# python setup.py install
...
Writing /usr/lib64/python2.7/site-packages/Cheetah-2.4.4-py2.7.egg-info
Finally you can install weewx. First get the source and extract it:
# cd /usr/src/weewx
# wget -c "http://downloads.sourceforge.net/project/weewx/weewx-2.6.4.tar.gz"
...
# tar xf weewx-2.6.4.tar.gz
# cd weewx-2.6.4
WeeWX will be installed under /home/weewx by default. If you want to change the installation directory then edit the setup.cfg file like this:
# vi setup.cfg
...
#home = /home/weewx
home = /opt/weewx/2.6.4
...
Then build WeeWX:
# python setup.py build
...
changing mode of build/scripts-2.7/wee_reports from 644 to 755
And install WeeWX:
# python setup.py install
...
Writing /opt/weewx/2.6.4/bin/weewx-2.6.4-py2.7.egg-info
The next thing you need to do is to configure WeeWX. Move to your installation directory and backup the original configuration file first:
# cd /opt/weewx/2.6.4/
# mv weewx.conf weewx.conf.bak
And create the following configuration file:
# vi weewx.conf
debug = 0
WEEWX_ROOT = /opt/weewx/2.6.4/
socket_timeout = 20
version = 2.6.4
[Station]
location = Linz, Austria
latitude = 48.3063900
longitude = 14.2861100
altitude = 256, meter
rain_year_start = 1
week_start = 0
station_url = http://karellen.blogspot.com
station_type = Simulator
[Simulator]
loop_interval = 2.5
mode = simulator
driver = weewx.drivers.simulator
[StdRESTful]
[[StationRegistry]]
register_this_station = False
[[Wunderground]]
rapidfire = False
[[PWSweather]]
log_success = True
log_failure = True
[[CWOP]]
post_interval = 600
log_success = True
log_failure = True
[[WOW]]
log_success = True
log_failure = True
[[AWEKAS]]
log_success = True
log_failure = True
[StdReport]
SKIN_ROOT = skins
HTML_ROOT = public_html
[[StandardReport]]
skin = Standard
[[FTP]]
skin = Ftp
port = 21
passive = 1
max_tries = 3
[[RSYNC]]
skin = Rsync
delete = 0
[StdConvert]
target_unit = METRIC
[StdCalibrate]
[[Corrections]]
[StdQC]
[[MinMax]]
barometer = 280, 1200, hPa
outTemp = -40, 120, degree_C
inTemp = 10, 120, degree_C
outHumidity = 0, 100
inHumidity = 0, 100
rain = 0, 60, cm
windSpeed = 0, 120, km_per_hour
[StdArchive]
archive_database = archive_sqlite
stats_database = stats_sqlite
archive_interval = 300
archive_delay = 15
record_generation = hardware
loop_hilo = True
archive_schema = user.schemas.defaultArchiveSchema
stats_schema = user.schemas.defaultStatsSchema
[StdTimeSynch]
clock_check = 14400
max_drift = 5
[Databases]
[[archive_sqlite]]
root = %(WEEWX_ROOT)s
database = archive/weewx.sdb
driver = weedb.sqlite
[[stats_sqlite]]
root = %(WEEWX_ROOT)s
database = archive/stats.sdb
driver = weedb.sqlite
[Engines]
[[WxEngine]]
prep_services = weewx.wxengine.StdTimeSynch
process_services = weewx.wxengine.StdConvert, weewx.wxengine.StdCalibrate, weewx.wxengine.StdQC
archive_services = weewx.wxengine.StdArchive
restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS
report_services = weewx.wxengine.StdPrint, weewx.wxengine.StdReport
Just a few mentions about the configuration file:
[Station]
Contains the information where the station is setup etc. Just search the web for yours cite latitude etc. It also contains the station type, in this case simulator.
[StdConvert] and [StdQC]
Defines which units to use.
[Databases]
Defines the database backend.
As you can see above I use non US units like cm, degree in celsius and so on. The same has to be configured for the skin so that the right values will be displayed. Go to the skin folder and edit the file skin.conf (if you need/want to change something or even all):
# cd /opt/weewx/2.6.4/skins/Standard
# vi skin.conf
...
group_altitude = meter
group_degree_day = degree_C_day
group_direction = degree_compass
group_moisture = centibar
group_percent = percent
group_pressure = hPa
group_radiation = watt_per_meter_squared
group_rain = cm
group_rainrate = cm_per_hour
group_speed = km_per_hour
group_speed2 = km_per_hour2
group_temperature = degree_C
group_uv = uv_index
group_volt = volt
...
As you can above I use meter instead of foot etc.
Now it is time to start WeeWX finally:
# /usr/bin/python /opt/weewx/2.6.4/bin/weewxd /opt/weewx/2.6.4/weewx.conf -d -p /var/run/weewxd.pid
Check that WeeWX is really running:
# pgrep -fl weewx
1101 /usr/bin/python /opt/weewx/2.6.4/bin/weewxd /opt/weewx/2.6.4/weewx.conf -d -p /var/run/weewxd.pid
WeeWX will generate a few simulated data now. After ca. five minutes a new directory public_html will be created which contains all web based data. The data itself will be stored in the archive folder (if sqlite was defined).
Now it is time to configure Apache. First create the extra configuration file for weewx:
# vi /etc/httpd/extra/weewx.conf
Alias /weewx /opt/weewx/2.6.4/public_html
<Directory /opt/weewx/2.6.4/public_html>
Options FollowSymlinks
AllowOverride None
Order allow,deny
Allow from all
#Require all granted
AuthType Basic
AuthName "weewx"
AuthBasicProvider file
AuthUserFile /opt/weewx/2.6.4/users
Require user weewx
</Directory>
As you can see above the configuration file points to the public_html file in the WeeWX installation directory. A basic authentication is required and the user is stored in /opt/weewx/2.6.4/users for the user weewx. Next you need to create the user file with the password:
# htpasswd -c /opt/weewx/2.6.4/users weewx
New password: It'satrap!
Re-type new password: It'satrap!
Adding password for user weewx
Now make sure that Apache has PHP support and that the extra configuration file for WeeWX will be loaded:
# vi /etc/httpd/httpd.conf
...
Include /etc/httpd/mod_php.conf
...
Include /etc/httpd/extra/weewx.conf
In case that Apache is not running already start Apache:
# chmod 755 /etc/rc.d/rc.httpd
# /etc/rc.d/rc.httpd start
Otherwise just restart Apache:
# /etc/rc.d/rc.httpd restart
When the public_html directory has been created you can navigate with your webbrowser to the WeeWX address, eg:
http://192.168.10.5/weewx/
Enter username and password (eg. weewx / It'satrap! like above) and WeeWX with some graphs based on simulated data should appear:
Since I don't own a real weather station (perhaps I'll have one soon) it's pretty useless to run WeeWX standalone. On the other hand even with only simulated data WeeWX is very interesting and worth a look. For supported hardware, more in depth documentation and so on visit the project's website:
http://www.weewx.com/
No comments:
Post a Comment