Contribution ChirpStack

From air
Jump to navigation Jump to search

Description du projet

Le projet en quelques mots

Ce projet à pour but de travailler sur la platforme Chirpstack en rajoutant certaines fonctionnalitées, sécuriser l'application et améliorer la gestion de l'authentification. La plateforme CampusIoT est un réseau LoRaWAN pour l'enseignement pratiques des technologies IoT long-range dans les établissements d'enseignement supérieur sur Grenoble et Valence. Ce réseau comporte plusieurs stations de base réparties dans des batiments des Campus.

L'équipe et leurs rôles

  • Hoël Jalmin - Chef de projet, Intégration contributions de l’an dernier
  • Mandresy Rakotoarimalala - Scrum master, Monitoring avec Grafana, Dactylographe
  • Iheb Mastoura - Monitoring avec Grafana
  • Jian Zheng - Intégration Kafka
  • Mathieu Dumax Vorzet - DevOps, Intégration contributions de l'an dernier

Avancé équipe

Sprint 1 - Du 29/01/20 au 02/02/20

Prise en main d'outils :

  • Installation Docker
  • Prise en main de ChirpStack et LoRa
  • Discussion sur les contributions que nous souhaitons apporter
  • Récupération de matériel au Fablab dont:
    • Un gateway Kerlink iFemto
    • Un field test device Adeunis

Lecture de documentation sur MQTT, CUPS, Architecture de Chirpstack

Julien rejoint le groupe

Matériel emprunté:

Matériel Quantité
TTIG gateway 2
Kerlink iFemtoCell gateway 1
Testeur réseau 2
Multitech gateway 1

Sprint 2 - Du 03/02/20 au 09/02/20

Répartition des rôles au sein du groupe

Consensus sur les contributions que l'on souhaite réaliser ie:

  • Intégration de Cayenne sur Chirpstack
  • Intégration de monitoring avec Grafana
  • Solveur de géolocalisation TDoA
  • LoRa 2.4Ghz
  • Intégration TTN mapper (facultatif)

RDV avec Didier Donsez pour discuter des contributions à réaliser:

  • Filtrage des packets au niveau du MQTTbroker
  • LoRa 2.4Ghz (facultatif)
  • Intégration de TTN mapper
  • TTIG TTN to Chirpstack
  • Monitoring avec Grafana
  • Intégrer les contributions effectuée l'année dernière

Mise en place de l'environnement de travail :

  • Installation de Go/Docker et des packets nécessaires
  • Clonage des composants de chirpstack un par un
  • Modification des fichiers de configurations log.toml
  • Prise en main du code source

[EDIT]

L'environnement de travail final était sur docker donc les configurations effectuées cette semaine n'ont pas été conservées

Sprint 3 - Du 10/02/20 au 16/02/20

Séparation en 3 groupes:

RDV avec Didier Donsez au fablab:

  • Enregistrement de la gateway Kerlink Ifemto sur son serveur Chirpstack
  • Enregistrement de la gateway Multitech sur son serveur Chirpstack

Sprint 4 - Du 17/02/20 au 23/02/20

Groupe Prometheus:

  • Travail au niveau du network server
  • Modification du fichier de configuration .toml
  • Téléchargement et prise en main de prometheus

Groupe anciennes contributions:

  • Objectifs:
    • Visualisation des devices sur une carte
    • Sécurisation des gateways par une clé mqtt
  • Adaptation du code de l'année précédente à l'architecture actuelle de Chirpstack

Groupe Kafka:

  • Lecture de documentation sur Kafka et prise en main en local

Sprint 5 - Du 2/03/20 au 8/03/20

Groupe Prometheus:

  • Modification du fichier de configuration de Prometheus pour prendre en compte le network server
  • Modification du docker-compose

Groupe anciennes contributions:

  • Mise en place des branches d'environnement Git
  • Modification du code de l'API pour la partie authentification MQTT
  • Clé MQTT rendue facultative pour les gateways
  • Partie visualisation des devices avec une carte intégrée

Groupe Kafka:

  • Modification de l'UI au niveau de l'application server
  • Ajout du backend de Kafka en local
  • Test de fonctionnement

Préparation de la soutenance de mi-parcours

Sprint 6 - Du 9/03/20 au 15/03/20

Groupe Prometheus:

  • Debug par Mathieu des fichiers qui rendaient difficile l'accès au métriques
  • Prometheus et Grafana totalement fonctionelle

Groupe Intégration des anciennes contributions:

Groupe Kafka:

  • Kafka fonctionelle
  • reflexion sur la mise en place d'un environement docker pour kafka
  • reflexion sur la mise en place de test pour kafka

Préparation des slides pour la soutenance de mi-parcours

Sprint 7 - Du 16/03/20 au 22/03/20

Enregistrement de la Gateway Kerlink localement.

Groupe Prometheus:

  • Nouvelles métriques
  • Mis a jour du dashboard grafana

Groupe Intégration des anciennes contributions:

Groupe Kafka:

  • Probleme d'intégration UI
  • Utilisation d'Apache Nifi pour un configurer un Consomateur Kafka
  • Debug sur chirpstack API

Préparation à la soutenance finale:

   Slides
   rédaction des docs
   Pull request pour l'intégration du MQTT auth
   PUll request pour Prometheus-Grafana