Plateforme CampusIoT: Difference between revisions
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 |
* 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).
- 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, ...)