Plateforme CampusIoT: Difference between revisions

From air
Jump to navigation Jump to search
No edit summary
No edit summary
 
(3 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 https://www.loraserver.io/lora-app-server/integrate/auth/
** 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
* Benchmarking
** Load injection
** Load injection
** Tuning ([https://www.loraserver.io/lora-gateway-bridge/use/data/ protobuf message format] ...)
** 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 13: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, ...)