Outils pour utilisateurs

Outils du site


gnu-linux:monitoring:weewx

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

  1. Brancher votre clé USB SDR
  2. Allumer un capteur
  3. 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

gnu-linux/monitoring/weewx.txt · Dernière modification : 2024/02/05 20:37 de jocker