IoTSharp open source IoT est une plate-forme de base IoT open source basée sur .NetCore. Elle prend en charge les protocoles HTTP, MQTT et CoAp. Les protocoles de données d'attribut et de données de télémétrie sont simples et riches en types. Avec des paramètres simples, les données peuvent être stockées dans PostgreSql. MySql, Oracle, SQLServer, Sqlite est une plateforme IoT pour la collecte, le traitement, la visualisation et la gestion des appareils de données.
Les principales fonctions de l'IoT open source IoTSharp :
1. Prise en charge des protocoles de collecte de données basés sur les protocoles MQTT, CoAP et HTTP
2. Prise en charge de la vérification du cryptage X509, du nom d'utilisateur, du mot de passe et de l'authentification par jeton par lots
3. Fournir un SDK d'acquisition STM32 basé sur rt-thread
4. Fournir un SDK de collection basé sur C# pour Raspberry Pi
5. Fournissez un SDK de collecte régulier sous d'autres Linux
6. Prend en charge le concept de jumeaux numériques, de sorte que les données sont divisées en attributs et données de télémétrie, et les données de télémétrie sont stockées dans des données de séries chronologiques.
7. Le stockage des sous-tables est pris en charge via EFCore.Sharding. La valeur par défaut est de stocker par mois. En fonction de la quantité de données, vous pouvez le modifier par jour ou par heure.
8. Grâce à Maikebing.Data.Taos, nous prenons en charge la base de données de séries chronologiques de Taosi Data, TDengine. Maikebing.Data.Taos est actuellement le seul et le plus complet composant de support TDengine de l'écosystème .Net.
9. Service ZeroMQ intégré pour prendre en charge le traitement distribué des messages basé sur ZeroMQ.
10. Le bus de messages EventBus est implémenté via CAP et la prise en charge du bus de messages ZeroMQ est prise en charge via CAP.Extensions, permettant d'obtenir un écosystème .Net pur.
11. Grâce à CAP, les données des messages peuvent être stockées dans MongoDBLiteDBPostgreSql.
12. Grâce à CAP, les messages peuvent être produits et consommés via RabbitMQKafkaZeroMQ. Lorsqu’il existe plusieurs serveurs, l’un peut être utilisé comme serveur principal et les autres comme serveurs auxiliaires pour traiter toutes les données collectées.