推荐一款.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可以直接部署成功,而不用煞费周折的部署环境。
  • 关系型数据库 用来存储基础数据和属性数据。
    • 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 时 , 因此, 需要确保第一次生成使用高权限, 后续使用低权限。

功能预览

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
源码链接:https://gitee.com/IoTSharp/IoTSharp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/620670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

管理软件供应链中网络安全工具蔓延的三种方法

软件开发组织不断发展,团队成长,项目数量增加。技术堆栈发生变化,技术和管理决策变得更加分散。 在这一演变过程中,该组织的 AppSec 工具组合也在不断增长。在动态组织中,这可能会导致“工具蔓延”。庞大的 AppSec 工…

Colab 谷歌免费的云端Python编程环境初体验

最新在学习AIGC的过程中,发现很多教程,demo使用到了Colab这个谷歌工具。 Colab 是什么? Google Colab是一个强大且免费的云端Python编程环境,为学生、研究人员和开发者提供了一个便捷的平台来开展数据科学、机器学习和深度学习项…

《最新出炉》系列入门篇-Python+Playwright自动化测试-9-页面(page)

1.简介 通过前边的讲解和学习,细心认真地小伙伴或者童鞋们可能发现在Playwright中,没有Element这个概念,只有Page的概念,Page不仅仅指的是某个页面,例如页面间的跳转等,还包含了所有元素、事件的概念&#…

redis夯实之路-主从复制详解

Redis中可以通过执行slaveof命令或者设置slaveof选项,让一个服务器区复制另一个服务器,被复制的为主服务器,复制的为从服务器。 复制 Redis中可以通过执行slaveof命令或者设置slaveof选项,让一个服务器区复制另一个服务器&#…

LLVM系列(1): 在微软Visual Studio下编译LLVM

参考链接: Getting Started with the LLVM System using Microsoft Visual Studio — LLVM 18.0.0git documentation 1.安装visualstudio,版本需要大于vs2019 本机环境已安装visual studio2022,省略 2安装Makefile,版本需要大…

Dockerfile构建镜像(SSH、Systemctl、nginx、tomcat 、mysql、)

目录 构建SSH镜像 构建Systemctl镜像 构建nginx镜像 构建Tomcat镜像 构建MySQL镜像 构建SSH镜像 切换到目录 /opt/sshd: cd /opt/sshd这是为了进入一个特定的目录,后续的操作将在这个目录下进行。 创建一个 Dockerfile 并使用 Vim 编辑它&#xf…

C++力扣题目617--合并二叉树

给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠&#…

什么是损失函数?

损失函数(Loss Function),也被称为代价函数(Cost Function),在机器学习和统计学中是一个非常核心的概念。它是一个衡量模型预测值与真实值之间差异的函数,用于在训练过程中指导模型参数的优化。…

python爬虫04-常见反爬

目录 1、常见反爬 2、User-Agent 2.1 伪装库:fake-useragent 3、Referer参数 4、Cookie参数 4.1 cookie是什么 4.2 cookie的级别 4.3 session 1、常见反爬 User-Agent:浏览器身份标识;Referer:请求的来源…

YOLOv5改进 | 二次创新篇 | 结合iRMB和EMA形成全新的iEMA机制(全网独家创新)

一、本文介绍 本文给大家带来的改进机制是二次创新的机制,二次创新是我们发表论文中关键的一环,为什么这么说,从去年的三月份开始对于图像领域的论文发表其实是变难的了,在那之前大家可能搭搭积木的情况下就可以简单的发表一篇论文,但是从去年开始单纯的搭积木其实发表论…

Rational Architect 安装提示:插入标注为IBM的磁盘集的第n张磁盘 未能验证位置的介质

这个问题在网上没有搜到 插入标注为IBm的磁盘集的第n张磁盘,选择目录, 应该选择RSP解压以后对应的disk1文件夹就可以正常安装,如果选择其他路径会自动卸载相当于白安

Spring Boot - JaCoCo Code Coverage

文章目录 概述如何集成pom添加插件Code Demo排除不相关的类CI/CD中使用完整POM 概述 JaCoCo(Java Code Coverage)是一个开源的Java代码覆盖率工具,它主要用于评估Java程序的测试完整性。通过跟踪测试过程中执行的代码,JaCoCo能够…

云服务器指定pip,指定python解释器

指定pip下载器: echo "alias pip/www/xxx/bin/pip3" >> ~/.bashrc source ~/.bashrc alias 指定python解释器: echo "alias python/www/xxx/bin/python3" >> ~/.bashrc source ~/.bashrc alias 检验修改情况 pip -…

【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】

前言 大家好吖,欢迎来到 YY 滴C考前速过系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的《…

最小生成树 | Prim 算法

Prim 算法 算法描述 Prim 算法采用的是一种贪心的策略 每次将离连通部分的最近的点和点对应的边加入的连通部分&#xff0c;连通部分逐渐扩大&#xff0c;最后将整个图连通起来&#xff0c;并且边长之和最小。 程序代码 #include <iostream> #include <cstring&g…

大学期末考前复习卷(上)

第一题&#xff1a; 泰勒展开式求sin(x) 【问题描述】 已知sin(x)的泰勒展开式为&#xff1a; sin(x) x/1! - x^3/3! x^5/5! - x^7/7! …… 当某一项的绝对值小于ξ时&#xff0c;停止计算。 输入x及ξ的值&#xff0c;输出sin(x)的值&#xff0c;小数点后保留5位小数。…

第8章-第6节-Java中字符流的缓冲流

1、在说正题之前&#xff0c;先说一个小细节&#xff0c;不管是字节流还是字符流都要注意这个细节&#xff0c;具体看这篇博文&#xff1a;关于Java的IO流里面的方法read()的小细节 2、字符流的缓冲流&#xff1a; 1&#xff09;、BufferedWriter 方法名说明void newLine()写…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《与新能源互补和独立参加多级市场的抽蓄电站容量分配策略》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 这个标题涉及到抽蓄电站在能源系统中的角色&#xff0c;特别是在多级市场中的参与&#xff0c;并强调了新能源的互补性以及抽蓄电站的独立性。下面我将…

如何在企业中实施自适应人工智能?

人工智能不再是企业的选择。很快&#xff0c;它也将不再是一个区分因素。商业中的适应性人工智能正在改变格局。根据最近的统计数据&#xff0c;95%的企业以上都在追求人工智能。 因此&#xff0c;为了确保你拥有竞争优势&#xff0c;你必须期待先进的人工智能选项。适应性就是…

Oracle数据库学习入门教程

Oracle数据库学习入门教程 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;我将带大家进入数据库世界的精彩旅程&#xff0c;探索Oracle数据库的奥秘…