Installer le logiciel weewx sur un nono-ordinateur INTEL Edison et se connecter à distance

Motivations

Lors de la première session de formation du projet "Météo Climat tremplin pour l'enseignement des sciences" a été abordée la question des instruments de mesure des paramètres météorologiques et de l'exploitation des données mesurées. Cette formation a soulevé un engouement important des enseignants du second degré pour l'installation dans leur établissement d'une station météorologique, le recueil des données et éventuellement l'accès aux données d'autres stations ce qui se traduit aussi par la mise en ligne de leurs propres données.

Notre objectif est de proposer des solutions légères et peu onéreuses qui permettent de façon robuste de remplir ces fonctions et qui puissent aussi s'insérer dans une démarche d'apprentissage du codage; la solution proposée ici permet d'aborder une station météorologique comme un "object connecté"(IoT en anglais). L'installation se fait à partir du code source et propose plusieurs niveaux d'accès à un appareil numérique allant de la simple installation de logiciels à la possibilité de modifier le code source et même la participation à une communauté de développement.


Sommaire

  1. Téléchargement du logiciel

    a. Clonage depuis la forge GitHub

    b. Instalation des dépendances

  2. Installation sur l'INTEL Edison via la "méthode python"

  3. Connexion à l'Edison sur un port non standard

    a. Connexion via ssh

    b. Connexion via le serveur web nginx


Téléchargements

  1. Weewx sur sourceforge
  2. Téléchargements sur le site principal weewx
  3. Weewx sur GitHub

1. Téléchargement du logiciel

Nous travaillons pour le moment avec le système d'exploitation Yocto fourni par INTEL mis à jour. IL est possible d'utiliser un autre système d'exploitation comme Debian mais pour les opérations décrites ici Yocto fait parfaitement l'affaire. Cependant Yocto n'est pas Debian et weewx ne propose pas encore la fabrication automatisée de paquests Yocto on ne peut donc pas procéder à une installation par paquets comme cela est proposé pour la RaspberryPI. Toutefois il y a un fort degré de parenté entre les paquets Debian et Yocto.

1.a Clonage depuis la forge GitHub

Si vous ne l'avez pas encore installé sur votre Edison installez l'outil git sudo opkg install git ensuite créez un répertoire où télécharger le logiciel, je range mes logiciels dans un répertoire portant le nom du logiel à l'intérieur du répertoire Logiciels (mes répertoires ont un nomcommençant toujours par une majuscule mais ce n'est évidemment absolument pas obligatoire)

kdir -p Logiciels/Weewx; cd Logiciels/Weewx .

Utilisez la commande

git clone https://github.com/weewx/weewx.git .

Un nouveau répertoire weewx est créé et contient le clone de la version en cours de weewx; cela permet d'avoir plusieurs versions (pour tester de nouveaux développements par exemple) chacune dans son répertoire afin d'éviter les contaminations.

1.b Instalation des dépendances

Voir la doc de weewx pour installer ces dépendances suivant votre configuration vous pouvez avoir besoin de paquets supplémentares, la séquence d'instructions a suffi dans notre cas :

sudo pip install configobj
sudo pip install Cheetah
sudo opkg install libjpeg-dev
sudo pip install pillow
sudo pip install pyserial
sudo pip install pyusb
sudo pip install pyephem

Nous sommes maintenant prêts à installer weewx.

Le logiciel weewx est développé par Tom Keffer. Il s'agit d'un logiciel opensource exposé sur la forge opensources GitHub le développeur principal est très actif et très réactif (une journée pour obtenir l'ajout du port sur le connecteur MySQL par exemple :-) Thanks Tom!).

2. Installation sur l'INTEL Edison via la "méthode python"

L'installation se passe vraiment sans aucun problème :

./setup.py build
 sudo ./setup.py install

Un nouvel utilisateur weewx est créé et l'ensembled des ressources sont déposées dans le répertoire /home/weewx. Pour aller plus loin il est nécessaire de mettre en place un service. Yocto utilise les services systemD. Ce travail sera fait ultérieurement.

Pour le moment pour utiliser weewx aller sur le user weewx et lancer weewx une fois que la station est connectée!

cd /home/weewx
sudo ./bin/weewxd weewx.conf

3. Connexion à l'Edison sur un port non standard

3.a Connexion via ssh

Pour des raisons de sécurité ou plus simplement pour permettre de se connecter à un Edison sur un réseau privé il peut être utile de changer le port sur lequel écoute le daemon ssh. Éditer le fichier sshd.socket :

sudo vi /lib/systemd/system/sshd.socket

Modifier

ListenStream=22

par

ListenStream=xxxxxx

xxxxxx étant le numéro de port choisi pour se connecter en ssh.

3.b Connexion via le serveur web nginx

Installer nginx

Dépendance à installer si elle n'existe pas encore.

sudo opkg install libpcre-dev

Téléchargement, décompression, configuration, compilation installation.

cd Logiciels/
mkdir Nginx
wget http://hg.nginx.org/nginx/archive/tip.tar.gz
tar xvf tip.tar.gz 
cd nginx-5eb4d7541107/
./auto/configure 
make
sudo make install

Pour tester

cd /usr/local/nginx/
sudo ./sbin/nginx

Bon travail!


Webographie

  1. Site weewx

Commentaires