IoTSharp:基于 .NET 6.0 的开源物联网平台

news2024/12/23 18:37:25

目录

前言

项目介绍

为什么会有 IoTSharp?

IoTSharp 能做什么?

IoTSharp 的亮点

项目技术

1、编程语言

2、系统框架

3、数据库支持

4、消息队列与 EventBus

5、EventBus 存储

项目使用

1、下载

2、启动

3、注册服务

4、初始化influxdb

5、注册

6、运行

项目地址

总结

最后


前言

想要快速了解物联网的世界吗?如果你对物联网(IoT)感兴趣,或者正打算开发自己的物联网项目。可以试试 IoTSharp,一个基于 .NET 的开源平台。

无论你是初学者还是有经验的大佬,IoTSharp 提供了丰富的功能和广泛的协议支持。让物联网项目开发变得简单又直观。它不仅功能全面,而且操作灵活,让你可以快速上手,轻松实现你的物联网梦想,快来试一试 IoTSharp。

项目介绍

为什么会有 IoTSharp?

想一下,你想要创建一个智能家居系统,比如让家里的灯可以通过手机控制开关,或者让空调可以根据你的习惯自动调节温度。但当开始做这些事情的时候,可能会遇到很多难题,比如怎么让设备互相通信,如何处理大量的数据,怎样确保系统的安全性等等。这些问题可能让你感到头疼。

IoTSharp 能做什么?

IoTSharp 的出现就是为了帮助解决这些问题。它是一个现成的平台,可以帮助你轻松地将不同的设备连接起来,并且能够处理这些设备产生的大量数据。最重要的是开源的,可以和大家一起讨论并且有社区支持。

IoTSharp 的亮点

  • 简单易用: 即使你是新手,也能快速上手。
  • 跨平台: 无论是在 Windows 还是 Linux 或 Mac 上都能运行。
  • 多种设备支持: 支持常见的物联网通信协议,让不同设备轻松接入。
  • 安全可靠: 内置的安全措施确保你的数据安全无忧。

IoTSharp 是一个开源的物联网基础平台,集设备属性数据管理、遥测数据监测、RPC多模式远程控制、规则链设计引擎等强大能力,依据数字孪生概念将可见与不可见的物理设备统一孪生到数字世界,在落地上IoTSharp结合了资产管理、产品化发展的理念,让平台应用更加贴合复杂的应用场景,在协议支持上支持HTTP、MQTT 、CoAp 等多种标准物联网协议接入和非标协议的转换。

项目技术

1、编程语言

主要使用 C# 和 .NET 进行后端开发。

2、系统框架

前端使用 Vue 3,后端基于.NET 6.0 + WebAPI。

3、数据库支持

支持多种数据库类型,包括:

关系型数据库:PostgreSQL、 MySQL、SQL Server 等。

时序数据库:InfluxDB、IoTDB、TDengine、TimescaleDB、PinusDB 等,以满足不同类型的数据存储需求。

4、消息队列与 EventBus

支持多种消息队列和 EventBus 系统,如 RabbitMQ、Kafka、 ZeroMQ、NATS、Pulsar、Redis Streams、Amazon SQS、Azure Service Bus 等,用于构建事件驱动架构和实现高效的消息传递。

5、EventBus 存储

支持将事件存储在多种数据存储中,如 PostgreSql、MongoDB、InMemory、LiteDB、MySql、SqlServer 等。

项目使用

本次介绍的是Windows操作系统下的IoTSharp部署方法。对于其他平台,大家可以访问IoTSharp文档获取更多部署信息。

对于Windows环境下的部署,我们采用的是轻量级的 Sqlite 作为数据存储解决方案。

下面是详细的部署步骤:

1、下载

首先在Github 或者 Gitee 中下载最新版本的安装包, Windows安装包名为 IoTSharp.Release.win7-x64.zip下载至本地。

2、启动

解压压缩包后, 我们可以看到里面 有一个 IoTSharp 的exe文件, 双击运行即可启动。可以看到控制台启动, 启动后, 即可在浏览器中打开 http://localhost:2927 来访问。

3、注册服务

IoTSharp 已经支持了Windows服务的方式运行, 如果有需要注册为Widnows服务。

需要首先了解 https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/sc-create使用 sc 命令创建 为 Windows 服务,然后打开 http://localhost:2927 来访问。

看到下图说明运行成功

4、初始化influxdb

浏览器访问 http://localhost:8086/,初始化influxdb

Org: `iotsharp` Bucket: `iotsharp-bucket`

5、注册

Chrome浏览器访问 http://localhost:2927/

6、运行

注册完成后,可以进入首页,具体如下所示:

首页

设备管理

产品列表

项目地址

  • Gitee: gitee.com/IoTSharp
  • Github: github.com/IoTSharp/Io…
  • 文档: docs.iotsharp.net/

总结

IoTSharp 是一个 基于.NET 开源的物联网基础平台,支持 HTTP、MQTT 、CoAp 协议, 属性数据和遥测数据协议简单类型丰富,是一个用于数据收集、处理、可视化与设备管理的 IoT 平台。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

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

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

相关文章

实现清除默认样式的操作

1、在npm官网中搜索reset.scss->点击第一个。(有时候会更新一些代码,第一个出现的不一定就是我图片中的这个,不一定要跟我图片中的代码一致,只需要选择第一个出现的即可) 2、点击Code选项。 3、打开Code选项下面的t…

在私有化过程中不要忽视LLMs的双重逻辑能力:医学领域的数据密集型分析

链接:https://arxiv.org/abs/2309.04198 原标题:Don’t Ignore Dual Logic Ability of LLMs while Privatizing: A Data-Intensive Analysis in Medical Domain 日期:Submitted on 8 Sep 2023 摘要 大量的研究致力于通过喂养特定领域的数据…

智能楼宇控制系统的革新——M31系列分布式IO模块

随着物联网技术的飞速发展,智能楼宇控制系统正逐渐成为现代建筑的标配。它不仅能够提高建筑的能源效率,还能提升用户的生活品质和舒适度。在这样的背景下,分布式IO模块作为智能楼宇控制系统的核心组成部分,发挥着至关重要的作用。…

深度学习9--目标检测

1.概念介绍 目标检测不仅可以检测数字,而且可以检测动物的种类、汽车的种类等。例如,自动驾驶车辆需要自动识别前方物体是车辆还是行人,需要自动识别道路两 旁的指示牌和前方的红绿灯颜色。对于自动检测的算法,有两个要求&#xf…

聊聊场景及场景测试

在我们进行测试过程中,有一种黑盒测试叫场景测试,我们完全是从用户的角度去理解系统,从而可以挖掘用户的隐含需求。 场景是指用户会使用这个系统来完成预定目标的所有情况的集合。 场景本身也代表了用户的需求,所以我们可以认为…

项目管理工具的秘密:如何选出最佳系统

国内外主流的 10 款project项目管理系统对比:PingCode、Worktile、用友、泛微、蓝凌、Zoho Projects、Asana、Trello、Basecamp、Jira。 在寻找合适的项目管理系统时,你是否感到选择众多、功能复杂让人难以抉择?这正是许多项目经理面临的痛点…

计算机毕业设计选题推荐-个性化智能学习系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

MySQL架构与数据库基础

文章目录 一、数据库概念二、数据库的简单概念三、SQL四、MySQL架构 一、数据库概念 数据库是一个以某种由组织的方式存储的数据集合。我们可以把数据库想象称为一个文件柜。此文件柜是一个存放数据的物理位置,不管数据是什么以及如何组织的。数据库本质也需要像文…

C++-类与对象(上篇)

一、目标: 1. 面向过程和面向对象初步认识 2. 类的引入 3. 类的定义 4. 类的访问限定符及封装 5. 类的作用域 6. 类的实例化 7. 类的对象大小的计算 8. 类成员函数的 this 指针 二、对类与对象的介绍: 1.面向过程和面向对象初步认识 &#xff1a…

调用FluentUI中的折线图散点图等

文章目录 0.文章介绍1.源码位置2.线性图:基础版本2.1效果图2.2代码 3.线形图:封装版本3.1 效果图3.2 代码 0.文章介绍 调用项目FluentUI中的散点图、折线图组件,做定制化改进。 项目FluentUI源码位置:https://github.com/zhuzich…

手把手教你SpringBoot项目将Swagger升级3.0详解

SpringBoot项目将Swagger升级3.0 前言 这阵子观察到Swagger官方已经升级到了3.0的版本,想着升级体验一下最新的版本 新特性 移除了2.x版本的冲突版本,移除了guava等移除了EnableSwagger2新增了springfox-boot-starter… 引入依赖 新版本中&#xf…

三十八、【人工智能】【机器学习】【监督贝叶斯网络(Bayesian Networks)学习】- 算法模型

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

数据库-DML语言-数据操作语言

定义 DML是对表中数据进行操作的语言,涉及的关键字:INSERT UPDATE DELETE INSERT:向表中插入新数据的语句UPDATE:修改表中数据的语句DELETE:删除表中数据的语句 准备工作 USE mydb; 使用mydb库 CREATE TABLE person( 创建表personname VARCHAR(30),age INT…

AAAI‘25 今日截稿!SD 核心成员开源比 Midjourney 还强的文生图模型,现已提供一键启动

Midjourney 真的不香了!继 Stable Diffusion 3 于 6 月开源后,Stability AI 前核心成员 Robin Rombach 带领着新团队在本月初推出了 FLUX.1 图像生成模型家族。官方声称 FLUX.1 在多个关键指标上超越了 Midjourney v6.0 和 DALLE 3 等文生图的头部模型&a…

VMware Workstation Pro 安装 Ubuntu Server

这里写目录标题 VMware Workstation Pro 安装 Ubuntu Server1. 启动选项2. 系统语言3. 安装程序升级4. 键盘配置5. 安装类型6. 网卡配置7. 代理配置8. 系统镜像配置9. 硬盘配置10. 账户配置11. Ubuntu Pro 版本12. SSH 服务13. 推荐软件14. 安装成功15. 第一次重启报错16. 登录…

JavaScript调试:console 命令的使用

1、console 命令介绍 console 对象用于 JavaScript 调试。JavaScript 原生中默认是没有 console 对象,这是宿主对象(也就是浏览器)提供的内置对象。 用于访问调试控制台,在不同的浏览器里效果可能不同。 console 对象常见的两个用途&#x…

【计算机操作系统】覆盖与交换

覆盖与交换 覆盖与交换是实现内存空间扩充的技术,虚拟存储技术后续会详细讲解 覆盖技术 为了解决程序大小超过物理内存总和的问题引入了覆盖技术 覆盖技术的思想: 将程序分为多个段(多个模块),常用的段常驻内存&…

Go Kafka 操作详解

Go Kafka 操作详解 引言 Apache Kafka 是一个分布式流处理平台,广泛应用于构建实时数据管道和流应用程序。在 Go 语言中,使用 github.com/IBM/sarama 库可以方便地与 Kafka 进行交互。本文将详细介绍如何使用 Sarama 库在 Go 中实现 Kafka 的生产者和消…

等保测评中的安全需求分析:构建精准的信息安全防护体系

在数字化转型的时代背景下,信息安全成为企业发展的关键因素之一。等保测评,作为我国信息安全等级保护制度的重要组成部分,要求企业进行详细的安全需求分析,以构建精准、有效的信息安全防护体系。本文旨在探讨等保测评中的安全需求…

基于SpringBoot+VUE的在线视频教育平台(源码+文档+部署

主要内容:Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、简历模板、学习资料、面试题库、技术互助、就业指导等 业务范围:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写…