Difference between revisions of "Plateforme CampusIoT"

From air
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 12: Line 12:
 
** Cluster Kubernetes sur 3 machines.
 
** Cluster Kubernetes sur 3 machines.
 
* Disponibilité
 
* Disponibilité
** Replication (postgres, redis, rabbitmq)
+
** Replication (postgres, redis, rabbitmq, jorammq)
 
** Alertes pour gateway, E2E device, cluster
 
** Alertes pour gateway, E2E device, cluster
  +
*** Containers InfluxDB, Kapacitor, Alerta, Grafana
 
* Sécurité
 
* Sécurité
** SSO Keycloak
+
** SSO Keycloak https://www.loraserver.io/lora-app-server/integrate/auth/
 
** Fail2Ban
 
** Fail2Ban
  +
*** MQTT auth
  +
*** Appserver/Keycloak auth
 
** Rate Limit (MQTT rate limit) https://www.rabbitmq.com/flow-control.html
 
** Rate Limit (MQTT rate limit) https://www.rabbitmq.com/flow-control.html
 
** Load balancer Nginx
 
** Load balancer Nginx
  +
*** Multi-domain names (x.campusiot.imag.fr with x=lora,grafana,demo,alerta
 
* Extension appserver
 
* Extension appserver
 
** Organization tokens (for MQTT ACL)
 
** Organization tokens (for MQTT ACL)
 
** Gateway tokens (for MQTT ACL)
 
** Gateway tokens (for MQTT ACL)
  +
** Map of organizations gateways
** Maps Device
 
  +
** Map of organizations devices
  +
** Map and track of a geo-located device
 
* Extra services
 
* Extra services
 
** Dataviz TTNMapper
 
** Dataviz TTNMapper
* Extension loraerver et bridge
+
* Extension loraserver
  +
** Gateway duty cycle
  +
* Extension loraserver et bridge
 
** frames filtering and caching
 
** frames filtering and caching
  +
* Monitoring lora networks (and alerting)
  +
** Gateways duty cycle
  +
** Devices duty cycle
  +
* Benchmarking
  +
** Load injection
  +
** Tuning ([https://www.loraserver.io/lora-gateway-bridge/use/data/ 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

Latest revision as of 15:03, 9 February 2019

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).


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é
  • 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
  • Implementation of a location server (based on RSSI, timestamp, precise timestamp, ...)