IoTSharp:基于 .NET 8.0 的开源物联网平台
前言
想要快速了解物联网的世界吗?如果你对物联网(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 8.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:https://gitee.com/IoTSharp
- Github:https://github.com/IoTSharp/IoTSharp
- 文档:https://docs.iotsharp.net/
总结
IoTSharp 是一个 基于.NET 开源的物联网基础平台, 支持 HTTP、MQTT 、CoAp 协议, 属性数据和遥测数据协议简单类型丰富,是一个用于数据收集、处理、可视化与设备管理的 IoT 平台。
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

IoTSharp:基于 .NET 8.0 的开源物联网平台的更多相关文章
- 【物联网】 9个顶级开发IoT项目的开源物联网平台(转)
物联网(IoT)是帮助人工智能(AI)以更好的方式控制和理解事物的未来技术. 我们收集了一些最有名的物联网平台,帮助您以受控方式开发物联网项目. 物联网平台是帮助设置和管理互联网连接设备的组件套件. ...
- 9个顶级开发IoT项目的开源物联网平台
https://blog.csdn.net/shnbiot/article/details/80432017 物联网(IoT)是帮助人工智能(AI)以更好的方式控制和理解事物的未来技术. 我们收集了一 ...
- 干货分享 | 3个开发IoT项目的开源物联网平台
物联网(IoT)是帮助人工智能(AI)以更好的方式控制和理解事物的未来技术. 艾艺收集了一些最有名的物联网平台,帮助您以受控方式开发物联网项目.物联网平台是帮助设置和管理互联网连接设备的组件套件. 一 ...
- 开源物联网平台(Thingsboard)-编译
环境准备 Jdk8+ (3.2.2版本开始使用Jdk11) Maven3.2.1+ release-3.2分支 获取代码 ##get source from mirror git clone http ...
- [深度应用]·首届中国心电智能大赛初赛开源Baseline(基于Keras val_acc: 0.88)
[深度应用]·首届中国心电智能大赛初赛开源Baseline(基于Keras val_acc: 0.88) 个人主页--> https://xiaosongshine.github.io/ 项目g ...
- 手把手教你基于luatos的4G(LTE Cat.1)模组接入华为云物联网平台
摘要:本期文章采用了4G LTE Cat.1模块,编程语言用的是lua,实现对华为云物联网平台的设备通信与控制 本文分享自华为云社区<基于luatos的4G(LTE Cat.1)模组接入华为云物 ...
- 开源任务管理平台TaskManagerV2.0介绍及升级说明
上一篇开源任务管理平台TaskManager介绍发布后,有网友联系我看看能不能做个后台管理界面,方便管理系统中所有的任务.由于时间和技术问题1.0版本的时候,新增了一个3分钟读取配置文件动态修改任务的 ...
- 物联网全景动态图谱2.0|PaaS物联网平台汇总(上篇)
物联网智库 原创 物联网智库 整理发布 转载请注明来源和出处 ------ [导读] ------ 毫无疑问,2018年物联网对行业的深度变革才刚刚开启. 物联网产业链企业的质与量将进入全面爆 ...
- Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- 基于Node.js的ghost开源博客平台
Ghost 是一套基于Node.js 构建的开源博客平台(Open source blogging platform),具有易用的书写界面和体验. 1.安装node windows 下安装npm:ht ...
随机推荐
- 文件系统(八):Linux JFFS2文件系统工作原理、优势与局限
liwen01 2024.06.23 前言 在嵌入式Linux设备中,经常使用jffs2文件系统来作为参数区的文件系统格式.至于为什么要使用jffs2来作为参数区的文件系统,我猜大部分人都没有做过多的 ...
- 15分钟面试被5连CALL,你扛得住么?
最近一个朋友跳槽找工作,跟V 哥说被15分钟内一个问题5连 CALL,还好是自己比较熟悉的技术点,面试官最后跟他说,面了几十个人,你是第一个回答比较满意的,我好奇都是什么问题,原来是关于锁的问题连环问 ...
- SQL注入攻击及防御
SQL注入攻击及防御 1.项目实验环境 目标靶机OWASP_Broken_Web_App_VM_1.2: https://sourceforge.net/projects/owaspbwa/files ...
- c语言生成随机数
记录示例,留作自用 #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) ...
- Mybatis 二级缓存的使用
Mybatis二级缓存 简介:二级缓存是namesace级别的,多个SqlSession去操作同个namespace下的Mapper的sql语句,多个SqlSession可以共用二级缓存,如果两个ma ...
- Windows 10 LTSC中个人版OneDrive失效的问题
该问题是由于LTSC注册表无onedriver的id{A52BBA46-E9E1-435f-B3D9-28DAA648C0F6}定义导致,解决方案是新建一个reg_onedrive.reg文件,并编辑 ...
- TypeScript 学习笔记 — 类型推断和类型保护(十一)
目录 类型推断 1.赋值推断 2.返回值推断 3.函数推断(反向推断) 4.属性推断 5.类型反推 6.索引访问操作符 7.类型映射 类型保护 1.typeof 类型保护 2.instanceof 类 ...
- PixiJS源码分析系列:第二章 渲染在哪里开始?
第二章 渲染在哪里开始? 牢记,按第一章介绍的 npm start 启动本地调式环境才可进行调式 如果是 example 文件夹内的例子还需要 serve . 开启本地静态服务器 上一章介绍了 Pix ...
- [oeasy]python0045_四种进制_binary_octal_decimal_hexadecimal
四种进制 回忆上次内容 上次研究了 通过 八进制数值 转义 \ooo 把(ooo)8进制对应的ascii字符输出 转义序列 \n.\t 是 转义序列 \xhh 也是 转义序列 \ooo 还是 转义序列 ...
- ASP.NET Core 程序集注入(二)
public void ConfigureServices(IServiceCollection services) { string strValue = Configuration.GetSect ...