IoTSharp open source IoT is an open source IoT basic platform based on .NetCore. It supports HTTP, MQTT, and CoAp protocols. Attribute data and telemetry data protocols are simple and rich in types. With simple settings, data can be stored in PostgreSql, MySql, Oracle, SQLServer, Sqlite is an IoT platform for data collection, processing, visualization and device management.
The main functions of IoTSharp open source IoT:
1. Support data collection protocols based on MQTT, CoAP, and HTTP protocols
2. Support X509 encryption verification, username and password and batch token authentication
3. Provide STM32 acquisition SDK based on rt-thread
4. Provide C#-based collection sdk for Raspberry Pi
5. Provide regular collection sdk in other linux
6. Supports the concept of digital twins, so the data is divided into attributes and telemetry data, and the telemetry data is stored in time series data.
7. Sub-table storage is supported through EFCore.Sharding. The default is to store by month. Depending on the amount of data, you can modify it to be by day or by time.
8. Through Maikebing.Data.Taos, we support Taosi Data’s time series database TDengine. Maikebing.Data.Taos is currently the only and most complete TDengine support component in the .Net ecosystem.
9. Built-in ZeroMQ service to support distributed message processing based on ZeroMQ.
10. The EventBus message bus is implemented through CAP, and ZeroMQ message bus support is supported through CAP.Extensions, making it possible to achieve a pure .Net ecosystem.
11. Through CAP, message data can be stored in MongoDBLiteDBPostgreSql.
12. Through CAP, messages can be produced and consumed through RabbitMQKafkaZeroMQ. When there are multiple servers, one can be used as the main server and the others can be used as auxiliary servers to process all collected data.