Plateforme CampusIoT
Jump to navigation
Jump to search
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, ...)