For the complete documentation index, see llms.txt. This page is also available as Markdown.

Vue d’ensemble du projet

Vue d’ensemble du projet KiloCenter — serveur open source natif MIOTY avec des chemins de déploiement Docker, hôte Linux et Kubernetes.

KiloCenter - Serveur réseau MIOTY open source

KiloCenter est un serveur réseau MIOTY open source pour l'exploitation de stations de base, de terminaux, du trafic montant et descendant, et d'intégrations applicatives sur un centre de services auto-hébergé.

Il s'agit d'un centre de services natif MIOTY, conçu spécifiquement pour la pile MIOTY dès le départ. Ce n'est ni un fork, ni un habillage, ni une adaptation d'un autre serveur réseau LPWAN.

MIOTY est un protocole LPWAN conçu pour la résilience aux interférences, la communication longue portée et les grandes flottes de terminaux. KiloCenter implémente la partie centre de services de cette pile avec des chemins de déploiement Docker et sur hôte Linux, des intégrations gRPC et MQTT, ainsi qu'une console de gestion web.

Relation avec Kilo Cloud

KiloCenter Community Edition est le centre de services gratuit, open source et auto-hébergé. Son périmètre est la couche réseau MIOTY : stations de base, terminaux, trafic, opérations du centre de services et interfaces qui transmettent les données à une autre application.

L'édition Enterprise de KiloCenter est intégrée à Kilo Cloud. Choisissez Kilo Cloud lorsque le déploiement a également besoin du reste d'une plateforme IoT : données normalisées des appareils, tableaux de bord visuels, graphiques historiques, moteur de règles visuel, déclencheurs de conditions soutenues, alarmes et escalade, historique d'audit, contrôle d'accès et assistant IA. Les appareils MIOTY utilisent alors directement ces fonctionnalités au lieu de nécessiter des systèmes en aval distincts.

Choisir
Quand cela convient

KiloCenter Community Edition

Vous avez besoin d'un centre de services MIOTY, souhaitez l'exploiter vous-même et intégrerez ses données gRPC ou MQTT dans vos propres applications.

Kilo Cloud

Vous souhaitez que le centre de services Enterprise soit géré pour vous et avez besoin de règles, de visualisation, d'alarmes ou d'autres capacités de la plateforme Kilo autour des données MIOTY.

Plateforme IoT Kilo sur site

Vous avez besoin de la plateforme d'entreprise complète au sein d'une infrastructure que vous contrôlez.

Voir KiloCenter ou Kilo Cloud ? pour la limite fonctionnelle, ou commencez par le connecteur MIOTY de Kilo Cloud.

Démo en direct

Un environnement de démonstration est disponible à https://servicecenter.kiloiot.io/

  • Nom d'utilisateur : demo [at] kiloiot.io

  • Mot de passe : demo1234

Remplacez [at] par @ lors de la connexion.

Avis d'utilisation en production

L'édition communautaire est fournie telle quelle, sans support commercial. L'utilisation en production se fait à vos propres risques.

Pour des déploiements de production pris en charge, utilisez Kilo Cloud ou la plateforme IoT Kilo sur site (Contact Sales). L'édition Enterprise de KiloCenter est intégrée à Kilo Cloud et inclut un support commercial, un fonctionnement couvert par SLA, le multi-tenant et des capacités MIOTY optionnelles, notamment les sous-canaux BSSCI, l'attachement Variable MAC (VM) et la prise en charge de l'extension ReCon. Kilo Cloud ajoute également la plateforme complète autour des données MIOTY : gestion des appareils, normalisation, tableaux de bord, règles, alarmes, historique d'audit, contrôle d'accès et opérations assistées par IA.

Fonctionnalités

Serveur réseau MIOTY

  • Protocole MIOTY BSSCI v1.0.0 - communication station de base vers centre de services sécurisée par TLS

  • Gestion des stations de base - authentification basée sur certificat et surveillance de l'état

  • Gestion des terminaux - registre des terminaux avec propagation des attachements

  • Traitement des messages - gestion du trafic montant et descendant avec déduplication

  • Fonctionnement multi-stations de base - couverture partagée entre les stations de base dans un déploiement auto-hébergé

  • Prise en charge du découpage des télégrammes - prise en charge native du comportement PHY MIOTY

  • Diversité des motifs - prise en charge de la transmission multi-motif pour plus de robustesse

  • Sécurité - gestion des clés réseau et applicatives AES-128

Fonctionnalités du centre de services

  • Interface BSSCI - prise en charge du protocole station de base vers centre de services

  • Interface SCACI - prise en charge du protocole centre de services vers centre d'applications avec TLS, persistance de session, supervision et flux de file d'attente/statut

  • Système d'événements - persistance centralisée des événements et alertes

  • Gestion des certificats - modèle de confiance basé sur une autorité de certification avec prise en charge de la rotation et de la supervision

  • Partitionnement de la base de données - stockage des messages partitionné par mois

  • Système d'archivage - prise en charge du cycle de vie et de la rétention des données

  • Intégration MQTT - chemin d'intégration applicative basé sur Mosquitto

  • API gRPC - API de gestion gRPC et gRPC-web via KC-Gateway

Interface de gestion

  • Tableau de bord web - console de gestion basée sur React

  • Supervision en temps réel - vues en direct de l'état, du trafic et des alertes

  • Enregistrement des stations de base - flux de provisioning basés sur l'interface graphique

  • Enregistrement des terminaux - flux de gestion des terminaux via l'interface graphique

  • Flux de certificats - statut, renouvellement du certificat serveur et flux de certificats de station de base

  • Visionneuse de messages - vues du trafic pour différents types de messages

Fonctionnalités de la plateforme

  • Déploiement avec Docker Compose - postgres, redis, mosquitto, certgen, kc-identity, kilocenter, kc-gateway, et kc-web

  • Migrations de base de données - modifications de schéma contrôlées par version

  • Journalisation structurée - journaux et points de terminaison de santé configurables

  • Développement multiplateforme - Linux, macOS et Windows via WSL

Architecture

KiloCenter utilise une architecture de services modulaire :

C'est la vue d'exécution. KC-Gateway est le point d'entrée API externe du centre de services. Il expose gRPC natif et gRPC-web sur le port 9090, donc à la fois KC-Web et les applications tierces s'intègrent à KiloCenter via la même surface d'API publique. KC-Core utilise également des RPC internes vers KC-Identity pour les flux d'organisation, d'adhésion et de résolution admin. Dans Docker Compose, un service certgen à exécution unique s'exécute également avant KC-Core au premier démarrage pour créer l'autorité de certification partagée et l'ensemble des certificats serveur. Les modules du dépôt sont listés ci-dessous.

Modules du dépôt

  • KC-Web - interface de gestion web servie par nginx sur le port 80

  • KC-Gateway - point d'entrée gRPC-web externe et proxy de requêtes sur le port 9090

  • KC-Identity - service d'identité et d'organisation sur le port 50052

  • KC-Core - BSSCI, SCACI, API gRPC interne et logique du centre de services

  • KC-DB - migrations PostgreSQL, dépôts et interfaces de stockage utilisés par les services d'exécution

  • KC-MQTT - package d'intégration MQTT utilisé par KC-Core ; non déployé comme conteneur séparé dans la pile Docker communautaire

  • pkg - gestion de version partagée et utilitaires Go communs utilisés dans tous les modules

Mise en route

Démarrage rapide (Docker Compose)

Prérequis :

  • Docker et Docker Compose v2

  • Git

  1. Cloner le dépôt :

  1. Copier le modèle d'environnement :

  1. Démarrer la pile :

Cela démarre postgres, redis, mosquitto, certgen, kc-identity, kilocenter, kc-gateway, et kc-web.

Les certificats TLS sont générés automatiquement au premier démarrage. Les migrations de base de données s'exécutent au lancement.

  1. Ouvrez l'interface web et connectez-vous avec le compte administrateur par défaut :

E-mail

admin [at] kilocenter.local

Mot de passe

admin123!

Remplacez [at] par @ lors de la connexion.

Avertissement : Modifiez le mot de passe administrateur par défaut ou supprimez ce compte avant tout déploiement en production ou exposé au public. Les identifiants par défaut sont publiés dans ce dépôt.

Important : KC-Identity et KC-Gateway doivent partager le même secret HMAC pour que l'authentification JWT fonctionne. Le secret est configuré dans config/config.identity-docker.yaml et config/config.gateway-docker.yaml sous auth.hmac_secret. Si ces valeurs diffèrent, vous verrez des erreurs invalid_token après la connexion. Voir le guide Docker Compose pour plus de détails.

Pour des détails spécifiques à Docker, la configuration d'un nom d'hôte TLS personnalisé et l'export de l'autorité de certification, voir Installation avec Docker Compose.

Autres modes d'installation

Export du certificat de l'autorité de certification

Les stations de base et les centres d'applications SCACI externes ont besoin du certificat de l'autorité de certification pour établir la confiance TLS :

Arrêt

Configuration

Copiez .env.example dans .env et adaptez selon les besoins. Clés Docker Compose courantes :

Définissez KILOCENTER_TLS_SERVER_NAME avant le premier docker compose up si vous avez besoin d'un certificat serveur pour un nom d'hôte spécifique au lieu de localhost.

Documentation de l'API

Accès gRPC

  • point de terminaison gRPC / gRPC-web externe : http://localhost:9090

  • Santé du gateway : http://localhost:8087/health

  • Santé de KC-Core : http://localhost:8086/health

  • Santé de KC-Identity : http://localhost:8088/health

  • La réflexion gRPC est activée par défaut sur KC-Core et KC-Identity pour les outils

Surfaces de service

  • CoreService - gestion des appareils, opérations de protocole, analytique, supervision, certificats et RPC de supervision SCACI

  • IdentityService - authentification, utilisateurs, organisations et clés API

  • KiloCenterService - surface de compatibilité qui délègue à Core et Identity

Dans le développement local à partir des sources, KC-Web peut diriger son proxy Vite vers une autre cible gateway via INGRESS_GRPC_URL. Dans les déploiements conteneurisés, KC-Web est servi par nginx et redirige automatiquement vers KC-Gateway.

Déploiement depuis les sources et sur hôte

Docker Compose est le chemin d'installation recommandé pour l'évaluation et la plupart des déploiements.

Si vous avez besoin d'un flux de travail sans conteneur, utilisez les guides dédiés plutôt qu'un démarrage manuel ponctuel :

Kubernetes

Un chart Helm est fourni pour le déploiement Kubernetes. Voir helm/kilocenter/ pour le chart complet et la référence de configuration.

Reportez-vous au README du chart Helm pour les prérequis, les options de configuration et les valeurs d'exemple.

Prise en charge du protocole MIOTY

KiloCenter implémente la pile centre de services MIOTY définie par la MIOTY Alliance :

  • Conscience de la couche physique pour le découpage des télégrammes

  • Traitement des messages des couches MAC et réseau

  • Prise en charge des terminaux unidirectionnels et bidirectionnels

  • Gestion des adresses courtes

  • Flux d'attachement et de détachement

  • Prise en charge du chiffrement de bout en bout

L'édition communautaire se concentre sur la pile centrale du centre de services. Les capacités MIOTY optionnelles telles que les sous-canaux BSSCI, l'attachement Variable MAC (VM), les extensions ReCon et le fonctionnement multi-locataire d'entreprise relèvent de l'offre Enterprise.

Profils et comportements pris en charge

  • MIOTY TS-UNB

  • Fonctionnement de terminaux alimentés par batterie

  • Plusieurs motifs de redondance

  • Gestion de la réception multi-stations de base

Déploiement en production

Ce dépôt n'est pas le véhicule recommandé pour un déploiement en production. Utilisez Kilo Cloud ou la plateforme IoT Kilo sur site pour les déploiements de production nécessitant un support commercial, des garanties opérationnelles, une couverture SLA, le multi-tenant et des capacités MIOTY optionnelles telles que les sous-canaux BSSCI, Variable MAC (VM) et les extensions ReCon. Choisissez Kilo Cloud lorsque le déploiement a également besoin de règles visuelles, de tableaux de bord, de données historiques, d'alarmes et d'escalade, d'un historique d'audit ou d'autres flux de travail de la plateforme sans construire vous-même ces systèmes autour de la Community Edition.

Configuration système

  • Minimum : 2 cœurs CPU, 4 Go de RAM, 20 Go de stockage

  • Recommandé : 4 cœurs CPU, 8 Go de RAM, 100 Go de SSD

  • OS : Linux (Ubuntu 22.04 LTS recommandé)

Considérations de sécurité

  • Utilisez toujours des certificats TLS en production

  • Changez les identifiants par défaut avant le déploiement

  • Restreindre BSSCI (5000) et SCACI (5001) aux réseaux de confiance

  • Sauvegardez régulièrement la base de données

  • Surveillez les alertes système et l'expiration des certificats

Documentation

Licence

KiloCenter Community Edition est sous licence GNU Affero General Public License v3.0 ou ultérieure.

Si vous exécutez une version modifiée en tant que service réseau, l'AGPL exige que vous mettiez le code source modifié à la disposition des utilisateurs. Le dépôt source est github.com/Kiloiot/KiloServiceCenter.

Voir TRADEMARKS.md pour la politique de marques.

Copyright 2024-2026 Tim Kravchunovsky et les contributeurs.

Support

Remerciements

KiloCenter repose sur les normes définies par la MIOTY Alliance et sur des modèles opérationnels courants pour l'infrastructure IoT auto-hébergée.

Mis à jour