Plateforme CampusIoT

Enseignant: Didier Donsez

L'objectif du projet est d'améliorer l'infrastructure de support du projet CampusIoT (Learn-by-doing platform for teaching Internet of Things technologies and businesses).


 * https://github.com/campusiot
 * https://github.com/campusiot/tutorial
 * https://github.com/CampusIoT/loraserver-docker

Quelques taches qui devront être réalisées :
 * DevOps
 * Cluster Kubernetes sur 3 machines.
 * Disponibilité
 * Replication (postgres, redis, rabbitmq, jorammq)
 * Alertes pour gateway, E2E device, cluster
 * Containers InfluxDB, Kapacitor, Alerta, Grafana
 * Sécurité
 * SSO Keycloak https://www.loraserver.io/lora-app-server/integrate/auth/
 * Fail2Ban
 * MQTT auth
 * Appserver/Keycloak auth
 * Rate Limit (MQTT rate limit) https://www.rabbitmq.com/flow-control.html
 * Load balancer Nginx
 * Multi-domain names (x.campusiot.imag.fr with x=lora,grafana,demo,alerta
 * Extension appserver
 * Organization tokens (for MQTT ACL)
 * Gateway tokens (for MQTT ACL)
 * Map of organizations gateways
 * Map of organizations devices
 * Map and track of a geo-located device
 * Extra services
 * Dataviz TTNMapper
 * Extension loraserver
 * Gateway duty cycle
 * Extension loraserver et bridge
 * frames filtering and caching
 * Monitoring lora networks (and alerting)
 * Gateways duty cycle
 * Devices duty cycle
 * Benchmarking
 * Load injection
 * Tuning (protobuf message format ...)
 * Implementation of a location server (based on RSSI, timestamp, precise timestamp, ...)
 * see https://air.imag.fr/index.php/PM2M-2016-GeolocOutdoor/Suivi