Skip to main content

Serveur IoT - MQTT, SQL, Node-RED, InfluxDB

On a besoin d'un broker (serveur) MQTT public (exposé sur internet via une IP publique et éventuellement un nom de domaine) pour pouvoir envoyer des données openSenseMap. 

Ce serveur public peut recevoir et centraliser les données provenant de :

  • stations LoraWan via le serveur Chirpstack Unistra/EMS
  •  d'un autre Raspberry (non public) configuré pour récupérer les données des stations via wifi ou filaire. Par exemple avec HomeAssistant

Exposition du serveur IoT sur internet

 fan.ynh.fr (Raspberry 4B) sur le net via un VPN wireguard

https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/installer-un-serveur-avec-la-distribution-linux-yunohost 

Documentation Yunohost

https://doc.yunohost.org/fr/admin/

Installation des services publics

  • Création des domaines et d'un certificat let'sEncrypt
  • Installer sur le serveur fan.ynh.fr les applications YunoHost :
    • mosquitto_ynh
    • phpmyadmin
    • nodered
    • influxdb_v2

Créer un nouveau comptes utilisateurs sur le serveur IOT

Pour plus de détail : https://doc.yunohost.org/fr/admin/users/

Page web du domaine Yunohost du FAN : https://fan.ynh.fr

Uniquement les membres du groupe admin peuvent créer de nouveaux comptes sur le serveur. 

Une fois connecté avec le compte admin, sélectionner l'onglet Administration situé en bas de la fenêtre pour passer du mode utilisateur (URL avec le chemin sso : https://fan.ynh.fr/yunohost/sso) au mode administrateur (URL avec le chemin admin : https://fan.ynh.fr/yunohost/admin).

Depuis la page Home, dans la section Comptes, cliquer sur + Ajouter un compte puis remplir le formulaire.

Les utilisateurs sont créés avec une adresse e-mail associée au format username@domain.tld. Des alias et des redirections d'e-mails supplémentaires peuvent être ajoutés ultérieurement par l'administrateur et l'utilisateur.

Le mot de passe doit comporter au moins 8 caractères, mais il est recommandé d'utiliser un mot de passe plus long (c'est-à-dire une phrase de passe) et/ou différents types de caractères (majuscules, minuscules, chiffres et caractères spéciaux).

Finalisez la création de l'utilisateur en cliquant sur le bouton Sauvegarder.

Créer un nouveau sous-domaine Yunohost

Pour plus de détail : https://doc.yunohost.org/fr/admin/domains

Domaine et sous domaine Yunohost

Chaque fois que vous ajoutez un domaine, il est supposé que vous avez acheté (ou en tout cas que vous contrôlez) le domaine, de sorte que vous puissiez gérer la configuration DNS de celui-ci.

Une exception concerne les domaines en .nohost.me, .noho.st et ynh.fr qui sont offerts par le Projet YunoHost et peuvent être directement intégrés avec YunoHost grâce à une configuration DynDNS automatique.

Pour limiter les abus et les coûts, une instance ne peut avoir qu'un seul domaine offert à la fois, toutefois vous pouvez ajouter autant de sous-domaines de celui-ci que vous le souhaitez. Par exemple, ci vous choisissez le domaine exemple.ynh.fr vous pourrez par la suite ajouter les sous-domaines video.exemple.ynh.fr ou www.exemple.ynh.fr ou tout autre sous-domaine dont vous pourriez avoir l'utilité.

Créer un sous-domaine au domaine fan.ynh.fr

Pour créer un sous-domaine sur fan.ynh.fr, il suffit d'ajouter le sous-domaine à YunoHost comme n'importe quel autre domaine.

Depuis la page Home, dans la section Domaines de la page Home, cliquer sur le bouton Ajouter un domaine.

Sélectionner l'option Je veux ajouter un sous-domaine d'un domaine déjà ajouté .

Saisir le nom du sous domaine et installer le certificat Let's Encrypt.

image.png

Installer les applications dans le sous domaine

Pour plus de détail : https://doc.yunohost.org/fr/admin/apps/

L'une des fonctionnalités principales de YunoHost est la possibilité d'installer facilement des applications immédiatement utilisables. Pour donner des exemples d'application, il est possible d'installer un système de blog, un "cloud" (pour héberger et synchroniser des fichiers), un site web, un lecteur RSS...

Les applications peuvent être installées et gérées via la page Home dans la section Applications.

Le catalogue d'applications et ses catégories peuvent être consultés directement depuis l'interface d'administration Web en cliquant sur le bouton + Installer une app dans la liste des applications.

Avant de passer aux étapes d'installation proprement dites, YunoHost vous demandera généralement de remplir un formulaire afin de configurer l'application correctement pour vous.

Sous-chemins ou domaines individuels par application

Parmi les questions spécifiques, les formulaires vous demandent généralement de choisir un domaine et un chemin d'accès sur lesquels l'application sera accessible.

Dans le contexte de YunoHost, il est assez courant d'avoir un seul (ou quelques) domaine(s) sur lesquels plusieurs applications sont installées dans des "sous-chemins", ce qui donne quelque chose comme ceci :

yolo.com
     ├── /blog  : Wordpress (a blog)
     ├── /cloud : Nextcloud (a cloud service)
     ├── /rss   : TinyTiny RSS (a RSS reader)
     ├── /wiki  : DokuWiki (a wiki)

Vous pouvez également choisir d'installer chaque application (ou certaines d'entre elles) sur un domaine dédié. Si toutes les applications de l'exemple précédent étaient installées sur un domaine distinct, cela donnerait quelque chose comme ceci :

blog.yolo.com  : Wordpress (a blog)
cloud.yolo.com : Nextcloud (a cloud service)
rss.yolo.com   : TinyTiny RSS (a RSS reader)
wiki.yolo.com  : DokuWiki (a wiki)

Gestion des accès utilisateurs et applications publiques

Le formulaire d'installation demande généralement si l'application doit être accessible au public. Si vous choisissez de ne pas la rendre publique, seuls les utilisateurs connectés à YunoHost pourront y accéder.

ASTUCE
Après l'installation, cela peut être configuré via l'administrateur web dans le panneau Groupes et autorisations, ou de manière similaire via la sous-catégorie de ligne de commande yunohost user permission.