====== weeWX ======
FIXME Attention: TOUS ce qui est ici est uniquement valable pour weewx < v5 FIXME
===== Description =====
WeeWX est un logiciel open source, écrit en Python, qui interagit avec les station météo pour produire des graphiques, des rapports et des pages HTML.
===== Intallation de weeWX avec le module SDR =====
Installation de weeWX avec le module SDR (software-defined radio). Dans cette configuration vous pouvez réaliser une station météo ultra low cost. Je ne decris pas ici la configuration d'apache ou nginx.
Il faut :
* Un PC sous GNU/Linux ou un raspberry
* Une clé USB capable de recevoir les signaux radio [[https://doc.ubuntu-fr.org/rtl2832u]]
* Au moins un capteur transmettant via onde radio 433.9 MHz
==== Dépendances ====
En root :
apt-get install cmake libusb-1.0-0-dev build-essential autoconf libtool pkg-config
==== rtl-sdr ====
En user :
mkdir meteo && cd meteo
git clone git://git.osmocom.org/rtl-sdr.git && cd rtl-sdr && mkdir build && cd build
cmake -DINSTALL_UDEV_RULES=ON .. && make -j"$(nproc)"
En root :
make install
ldconfig
==== rtl_433 ====
En user :
git clone https://github.com/merbanan/rtl_433 && cd rtl_433 && mkdir build && cd build
cmake .. && make -j"$(nproc)"
En root :
make install
==== Correction des modules chargés ====
Dans certain cas les modules de la clé USB radio sont utiliser par d’autre application que weeWX, il faut donc les désactiver.
En root, ajouter les lignes ci-dessous dans ''/etc/modprobe.d/blacklist.conf''
blacklist rtl2830
blacklist rtl2832
blacklist rtl2832_sdr
blacklist dvb_usb_v2
blacklist dvb_core
blacklist dvb_usb_rtl28xxu
blacklist dvb_core
blacklist videodev
blacklist videobuf2_vmalloc
blacklist videobuf2_v4l2
blacklist videobuf2_memops
blacklist videobuf2_common
En root, taper `update-initramfs -u && reboot`
==== weeWX ====
=== Installation ===
En root :
wget -qO - http://weewx.com/keys.html | sudo apt-key add -
wget -qO - http://weewx.com/apt/weewx.list | sudo tee /etc/apt/sources.list.d/weewx.list
apt-get update
apt-get install weewx pip python3-configobj python3-cheetah python3-pil python3-serialpython3-usb python3-pip python3-ephem python3-mysqldb
pip install pyephem
service weewx stop
git clone https://github.com/matthewwall/weewx-sdr.git
wee_extension --install weewx-sdr
wee_config --reconfigure
=== Configuration ===
- Brancher votre clé USB SDR
- Allumer un capteur
- En root taper ''%%rtl_433%%'' ou ''%%rtl_433 -M newmodel%%'', et vérifier que vous recevez un signal, si oui continuer
En root taper ''%%PYTHONPATH=/usr/share/weewx python3 /usr/share/weewx/user/sdr.py --cmd="rtl_433 -M utc -F json"%%'', en sortie il doit y avoir quelque chose dans ce genre (si la commande `rtl_433` a fonctionné, et que celle-ci retourne une erreur, relancer jusqu’à que ça fonctionne) :
out:[u'{"time" : "2020-01-02 05:25:34", "model" : "Ambient Weather F007TH Thermo-Hygrometer", "device" : 11, "channel" : 1, "battery" : "OK", "temperature_F" : 32.500, "humidity" : 99, "mic" : "CRC"}\n']
parsed: {'temperature.1:11.AmbientF007THPacket': 32.5, 'humidity.1:11.AmbientF007THPacket': 99.0, 'usUnits': 1, 'dateTime': 1577942734}
Ici il faut ajouter la commande `cmd = rtl_433 -M utc -F json`, les sondes `temperature.1:11.AmbientF007THPacket` et `humidity.1:11.AmbientF007THPacket`, au fichier de configuration de weeWX dans `/etc/weewx/weewx.conf`. Comme ceci:
[SDR]
# This section is for the software-defined radio driver.
# The driver to use
driver = user.sdr
path = /usr/local/bin
cmd = rtl_433 -M utc -F json
[[sensor_map]]
outTemp = temperature.1:11.AmbientF007THPacket
outHumidity = humidity.1:11.AmbientF007THPacket
==== Séparé les logs de WeeWX du fichier syslog ====
ln -s /etc/weewx/rsyslog.d/weewx.conf /etc/rsyslog.d
service rsyslog restart
sudo ln -s /etc/weewx/logrotate.d/weewx /etc/logrotate.d
==== Démarrage ====
En root :
service weewx start
===== Commandes utiles =====
* ''wee_reports /etc/weewx/weewx.conf'' = force la regeneration des rapports, et du site
* ''tail -f /var/log/syslog | grep -i "weewx"'' = lire syslog en live
* ''tail -f /var/log/weewx.log'' = lire weewx.log en live
===== Références =====
* [[https://github.com/weewx/weewx/wiki]]
* [[https://github.com/weewx/weewx/wiki/sdr-rpi-recipe]]
* [[https://domoticproject.com/installing-weewx-raspberry-pi/]]