推荐一款.NET开发的物联网开源项目
物联网(IoT)是一个正在快速发展的技术领域,它涉及到各种设备、物体和系统的互联。所以各种物联网平台和物联网网关项目层出不穷,在物联网(IoT)领域,.NET平台扮演着重要的角色。作为一款广泛使用的软件开发框架,.NET为开发者提供了丰富的工具和功能,使得构建高效、可靠的物联网应用程序变得更加容易。
·
物联网(IoT)是一个正在快速发展的技术领域,它涉及到各种设备、物体和系统的互联。所以各种物联网平台和物联网网关项目层出不穷,在物联网(IoT)领域,.NET平台扮演着重要的角色。作为一款广泛使用的软件开发框架,.NET为开发者提供了丰富的工具和功能,使得构建高效、可靠的物联网应用程序变得更加容易。
下面介绍一个基于.NET开发的物联网项目,这个项目是利用.NET框架的强大功能和灵活性,为物联网应用提供了高效、可靠的解决方案。
IoTSharp
IoTSharp 是一个 基于.Net Core 开源的物联网基础平台, 支持 HTTP、MQTT 、CoAp 协议, 属性数据和遥测数据协议简单类型丰富,简单设置即可将数据存储在PostgreSql、MySql、Oracle、SQLServer、Sqlite,是一个用于数据收集、处理、可视化与设备管理的 IoT 平台。
部署IoTSharp
的必要条件
- Docker最新版本
- 如果要部署IoTSharp, 首先推荐的是docker, 以及Docker-Compose,通过
docker-compose.yml
可以直接部署成功,而不用煞费周折的部署环境。
- 如果要部署IoTSharp, 首先推荐的是docker, 以及Docker-Compose,通过
- 关系型数据库 用来存储基础数据和属性数据。
- PostgreSQL 验证过的版本为 PostgreSQL 11.3,12.x等。
- MySql 验证过的版本为 MySQL 8.0.17
- Oracle 验证过的版本为 Oracle Standard Edition 12c Release 2 , 操作系统为Cent OS 7
- Sqlite 程序内置,均验证。 小项目推荐。
- SQLServer 验证过的版本为 Microsoft SQL Server 2016 (RTM-GDR) (KB4019088) - 13.0.1742.0 (X64)
- InMemory 通过EF 的内存数据库,一般用于测试 。
- Cassandra 现在开始我们通过 EFCore.Cassandra 支持了Cassandra。
- 时序数据库 用来存储遥测数据并提供遥测数据的查询统计等等。
- 通过EFCore 使用关系型数据库来存储带有时间戳的数据,虽然不推荐,但不妨是一种小型项目的最佳选择。
- InfluxDB 2.x 我们致力于推荐的时序数据库, InfluxDB集成非常好用的可视化工具, 除了不符合信创没有任何可挑剔的。
- TDengine 我们致力于推荐的国产时序数据库, 甚至为了支持它我花了大量时间编写他的提供程序 Maikebing.EntityFrameworkCore.Taos
- PinusDB 国产松果时序数据库, 简单易用, 我们也为他编写了提供程序, PinusDB.Data
- TimescaleDB 基于PostgreSQL的时序数据库, 你可以直接选择它来当时序数据库也可以当关系型数据库, 一次搞定。
- 关系数据库 分区法 , 我们有支持这种方式,但始终不推荐,除非你想只想用一个数据库且通过分区就能搞定你的数据量。
- SingleTable 通过EF的的单表存储。 通过单表, 我们就不需要依赖于数据库或者分区等等。 小项目推荐。
- 消息队列 我们是通过CAP项目来实现的,因此它支持的理论上我们都支持。
- RabbitMQ 我们推荐的。
- Kafka 测试似乎正常。
- ZeroMQ 针对出门的ZeroMQ , 我们编写了MaiKeBing.CAP.ZeroMQ 和 MaiKeBing.HostedService.ZeroMQ 以支持它。
- InMemory 通过它可以不需要依赖任何外接, 这是CAP提供的一种途径。 小项目推荐。
- 消息队列存储
- PostgreSql 如果全称用PostgreSQL 可以考虑。
- MongoDB 我们推荐的
- LiteDB .Net 编写的NoSQL 项目, 小项目推荐,
- InMemory 存储在内存, 不依赖于外接。 小项目推荐。
初次使用
- 初始租户和管理员、用户注册信息在系统发现你未初始化时自动跳转到安装界面, 填写完成后, 系统会初始化权限、基础数据等种子数据。
- X509 CA证书用于通过证书进行保障安全通讯和关系验证, 第一次时需要调用高级管理员权限办法并写入系统, 尤其是当你使用了非管理员用户进行启动IoTSharp 时 , 因此, 需要确保第一次生成使用高权限, 后续使用低权限。
功能预览
更多推荐
已为社区贡献1条内容
所有评论(0)