Attention: TOUS ce qui est ici est uniquement valable pour weewx < v5
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.
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 :
En root :
apt-get install cmake libusb-1.0-0-dev build-essential autoconf libtool pkg-config
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
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
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`
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
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
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
En root :
service weewx start
wee_reports /etc/weewx/weewx.conf
= force la regeneration des rapports, et du sitetail -f /var/log/syslog | grep -i "weewx"
= lire syslog en livetail -f /var/log/weewx.log
= lire weewx.log en live