====== 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/]]