推荐一款.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,版本需要大…

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

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

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

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

Spring Boot - JaCoCo Code Coverage

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

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

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

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

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

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

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

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

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

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

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

在线的货币兑换平台源码下载

在线的货币兑换平台,可帮助全球各地的个人和企业将货币从一种货币兑换为另一种货币。该货币兑换平台是 Codecanyon 中最先进的脚本。 源码下载:https://download.csdn.net/download/m0_66047725/88728084

超维空间S2无人机使用说明书——61、ROS无人机4G远程控制

4G模块使用说明 引言:为了实现对无人机的远程控制,我们采用了4G通信的方案,该方案需要硬件以及相关软件的支持。4G通信是可选择功能,请确认无人机型号是否选配了4G通信。 一、4G通信方案 我们的4G通信主要通过两种方式实现&…

openssl3.2 - 自己构建openssl.exe的VS工程(在编译完的源码版本上)

文章目录 openssl3.2 - 自己构建openssl.exe的VS工程(在编译完的源码版本上)概述笔记备注备注END openssl3.2 - 自己构建openssl.exe的VS工程(在编译完的源码版本上) 概述 将openssl3.2编译出来了(openssl3.2 - 编译) 安装后的openssl.exe可以干openssl3.2所有的事情, 用open…

电子学会C/C++编程等级考试2023年09月(四级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:酒鬼 Santo刚刚与房东打赌赢得了一间在New Clondike 的大客厅。今天,他来到这个大客厅欣赏他的奖品。房东摆出了一行瓶子在酒吧上。瓶子里都装有不同体积的酒。令Santo高兴的是,瓶子中的酒都有不同的味道。房东说道:“你可以喝尽…

python统计分析——随机抽样(np.random.choice)

参考资料:用python动手学统计学,帮助文档 import numpy as np import pandas as pddata_setnp.array([2,3,4,5,6,7]) np.random.choice(data_set,size2) (1)a,数据源,用一列数据作为抽样的数据源。 &…

MySQL面试题 | 03.精选MySQL面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

如何做好项目进度估算?5个重点

在实际的IT 项目中,进度常常会出现延误的情况,其原因有很多。但是,我们需要关注一种情况,即我们的项目进度时间是如何估算出来的?是基于准确的数据和分析,还是由其他部门随意拍脑袋决定的?而进度…