My Own Memory Hole

Station météo Netatmo & WeeWX

Dans le cadre de la «digitalisation» de La Sculpture : les Pluies de Patrick Dubrac, nous cherchons à aller au-delà de ce que nous avons mis en place avec Le Calendrier des pluies, mis à jour mensuellement à partir des données météorologiques quotidiennes. D'où l'idée de développer un prototype associant une station météo Netatmo à un Raspberry Pi sur lequel serait installé WeeWX, un petit programme en Python qui permet d'interagir avec de multiples modèles de stations météo, de publier les données sur de multiples sites, de conserver les données dans des bases de données...

Cependant, le pilote pour les stations Netatmo (https://github.com/matthewwall/weewx-netatmo) n'est pas compatible avec la version 4 de WeeWX... On bascule donc sur la dernière des versions 3 de WeeWX disponibles, la 3.9.2 :

$ wget http://weewx.com/downloads/released_versions/weewx-3.9.2.tar.gz

On installe les dépendances nécessaires :

$ sudo apt install python-configobj python-pil python-serial python-usb python-pip python-cheetah python-ephem mariadb-client python-mysqldb

Puis on lance l'installation :

$ tar xvfz weewx-3.9.2.tar.gz
$ cd weewx-3.9.2
$ python2 setup.py build
$ sudo python setup.py install

L'ensemble des exécutables se trouve dans /home/weewx/bin/ ; le fichier de configuration est à l'emplacement /home/weewx/weewx.conf

On installe ensuite le pilote weewx-netatmo (https://github.com/matthewwall/weewx-netatmo) :

$ wget -O weewx-netatmo.zip https://github.com/matthewwall/weewx-netatmo/archive/master.zip
$ sudo /home/weewx/bin/wee_extension --install weewx-netatmo.zip

Puis on configure weewx :

$ sudo /home/weewx/bin/wee_config --reconfigure

On édite ensuite le fichier de configuration à la main  :

$ sudo nano /home/weewx/weewx.conf

On s'assure que nos identifiants Netatmo sont bien pris en compte et on bascule, dans la sous-section [[wx_binding]] de la section [DataBindings] sur une base de données MySQL :

database = archive_mysql

On crée une base de données avec les mêmes identifiants que ceux que nous avons indiqués dans la sous-section [[archive_mysql]] de la secion [Databases], par défaut :

    # MySQL
    [[archive_mysql]]
        database_name = weewx
        database_type = MySQL
$ sudo mysql -u root -p
MariaDB [(none)]> CREATE DATABASE weewx;
MariaDB [(none)]> CREATE USER 'weewx'@localhost IDENTIFIED BY 'weewx';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON weewx.* TO 'weewx'@localhost;
MariaDB [(none)]> FLUSH PRIVILEGES;

Enfin, on fait en sorte que WeeWX soit lancé au démarrage comme un service :

$ cd /home/weewx
$ sudo cp util/init.d/weewx.debian /etc/init.d/weewx
$ sudo chmod +x /etc/init.d/weewx
$ sudo update-rc.d weewx defaults 98
$ sudo /etc/init.d/weewx start