Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jczic/iotsocket-concentrator
IoTSocket Concentrator - Router for Web API and thousands of IoT connections
https://github.com/jczic/iotsocket-concentrator
asynchronous concentrator hc2 http https iot iot-platform iot-socket iotsocket iotsocket-concentrator protocol router server sessions tcp telemetrie telemetry tls udp
Last synced: 20 days ago
JSON representation
IoTSocket Concentrator - Router for Web API and thousands of IoT connections
- Host: GitHub
- URL: https://github.com/jczic/iotsocket-concentrator
- Owner: jczic
- License: mit
- Created: 2019-01-05T06:47:36.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-11-16T05:28:59.000Z (about 5 years ago)
- Last Synced: 2024-11-04T09:43:20.156Z (2 months ago)
- Topics: asynchronous, concentrator, hc2, http, https, iot, iot-platform, iot-socket, iotsocket, iotsocket-concentrator, protocol, router, server, sessions, tcp, telemetrie, telemetry, tls, udp
- Language: Python
- Homepage: https://github.com/jczic/IoTSocket-Concentrator/blob/master/Protocole%20IoTSocket%20(v1.01).pdf
- Size: 3.49 MB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
![IoTSocket Concentrator](img/iotsocket_concentrator.png "IoTSocket Concentrator")
## Concentrateur/Routeur/API pour les objets connectés.- Implémente le protocole [IoTSocket Protocol (v1.01)](https://github.com/jczic/IoTSocket-Concentrator/blob/master/Protocole%20IoTSocket%20(v1.01).pdf).
- Utilise la couche sockets asynchrone I/O [XAsyncSockets](https://github.com/jczic/XAsyncSockets).
- Permet des échanges en TCP, UDP et HTTP(S).
- Supporte le dialogue avec des APIs Web de type REST.
- Assure le maintient de milliers de connexions persistantes.
- Offre une télémétrie "hors session" par obtention de jetons temporaires.
- Sécurise les communications par chiffrement TLS et clés/jetons.
- Permet de traiter les sessions d'objets au sein de groupes dédiés.
- Finement paramétrable via fichier de configuration JSON.
-------------------------------------------------------------------------------------------
### Le routage, cœur du concentrateur
- Traite et applique toutes les valeurs spécifiques définies par le fichier de configuration.
- Orchestre les échanges, requêtes et réponses, depuis et vers les différents éléments.
- Procède au traitement asynchrone et parallèle des flux de données entrants et sortants.
- Maintient et applique les droits d’accès des éléments (sessions, clé d’API Web).
- Garde en mémoire les données à transmettre durant certaines déconnexions.
- Gère le pool de l’ensemble des connexions persistantes, serveurs et écouteurs.
- Contrôle le système de suivi entre les requêtes Web HTTP(S) routées et leur réponse.
- Permet des échanges formatés et typés en binaire, ASCII, UTF-8 et JSON.### Le serveur TCP
- Est le point de terminaison des sessions entrantes pour le central et les objets.
- Sécurise l’authentification des sessions par négociation de clé via challenge.
- Utilise le chiffrage des échanges avec certificat par application d’une couche TLS (SSL).
- Assure la persistance des connexions ainsi que l’expiration des opérations trop longues.
- Maintient les données de session à transmettre durant certains types de déconnexions.### Le serveur UDP
- Est le point de terminaison de l’écouteur des datagrammes contenant la télémétrie.
- Sécurise les remontées de données par système de jetons uniques et aléatoires.### Le serveur HTTP(S)
- Est le point de terminaison Web pour les requêtes provenant du central vers les objets.
- Utilise le chiffrage des échanges avec certificat par application d’une couche TLS (SSL).
- Assure le maintient des requêtes jusqu’au retour de réponse ou temps d’attente expiré.
- Fonctionne tel qu’une API Web JSON (type REST) avec authentification par clé d’API.### Le client HTTP(S)
- Redirige les requêtes d’objets vers le central au moyen de WebHooks HTTP(S).
- Contrôle le système de suivi entre les requêtes et leur réponse auprès des objets.
- Fonctionne tel qu’un retour d’API Web JSON avec authentification par clé d’API.
### By JC`zic for [HC²](https://www.hc2.fr) ;')