.NET 8.0 + Linux 香橙派,实现高效的 IoT 数据采集与控制解决方案

news/2025/2/24 5:05:19/文章来源:https://www.cnblogs.com/1312mn/p/18655859

前言

随着物联网(IoT)技术的迅猛发展,智能设备之间的互联互通变得越来越重要。

推荐一套基于 C# 的高效 IoT 系统,该系统运行在 Linux 开发板上,并支持 Modbus RS485 传感器、NPN/PNP 开关等所有符合 485 通讯协议的设备进行数据采集和指令发送。这套系统在为智能家居、智能生产以及智能农场等领域提供全面的解决方案。

项目介绍

yihong 物联 IoT 系统是一款为实现物联网、智能家居、智能生产和智能农场而设计的高效数据采集与控制系统。

该系统基于 Linux 开发板,支持 Modbus RS485 传感器、NPN/PNP 开关以及其他所有符合 485 通讯协议的设备进行数据采集和指令发送。

通过集成这些先进的技术和硬件,yihong 物联 IoT 系统能够提供全面的解决方案,满足多种应用场景的需求。

项目架构

yihong 物联 IoT 系统采用分层架构设计,确保系统的灵活性、可扩展性和维护性。

系统由以下几个主要部分组成:

1、网关层

负责与各种传感器和执行器进行通信,采集数据并发送指令。

支持多种设备协议,包括 GPIO 操作、串口 Modbus RS485、I2C 和 NPN/PNP 信号。

2、服务端层

使用 C# 和 .NET 8.0 开发,处理来自网关的数据,并通过 MQTT 协议与网关保持实时通信。

提供 RESTful API 接口,支持第三方业务系统的接入,便于与其他系统集成。

3、数据库层

使用 MySQL 数据库存储系统配置、设备信息、历史数据等。

支持高效的数据查询和管理,确保数据的可靠性和完整性。

开发环境与技术栈

开发语言:C# (.NET 8.0)

数据库:MySQL

通信协议:

网关与服务端之间使用 MQTT 协议进行通讯。

服务端提供 API 接入,支持第三方业务系统的集成。

设备协议支持

系统支持以下几种常见的设备操作协议:

GPIO 操作:控制通用输入输出引脚,适用于简单的开关控制。

串口 Modbus RS485:用于工业自动化中的数据采集和命令发送。

I2C:一种简单的双向二线制同步串行总线,适用于近距离通信。

NPN/PNP:用于工业传感器和执行器的信号传输,支持高低电平检测和控制。

设备支持与预适配

系统已经预适配了多种常见设备,涵盖了广泛的应用场景。这些设备已经在实际生产环境中经过验证,确保其稳定性和可靠性。

另外,系统具备高度的灵活性,可以根据项目需求添加新的设备类型。

已预适配的设备列表(共23种)

项目使用

MySql数据库准备

脚本位于项目的Doc/mysqldata/yihongIOT.sql,复制到你的mysql中执行生成表即可

随后修改连接字符串 GatewayServer项目下面Configs目录中的配置文件appsettings.json

需要部署的程序

1、Mosquitto

mqtt服务端 或者安装其它的mqtt服务端也可以

Mosquitto是一个开源的MQTT消息代理,Linux、Windows和Mac OS上安装都可以,安装方法百度下,有很多教程,有问题可以群里咨询

初次使用可安装到自己电脑上测试,安装好后修改连接mqtt的参数:

GatewayServer项目下面Configs/appsettings.json

GatewayClient项目下面Configs/appsettings.json

2、GatewayServer 服务端

可以使用Microsoft Visual Studio打开项目运行起来先,没问题自己行按装到服务器上面

3、GatewayClient 网关客户端

独立发布后,上传到到香橙派中ubuntu中运行即可

使用说明

GatewayServer运行起来后,本地打开http://localhost:8070/magermain/index

即可访问,账密admin/123456

项目案例

实现案例1

家用自动浇花系统

实现案例2

大型自动化室内/集装箱式种植自动化控制

 

项目地址

Gitee:https://gitee.com/yihong-lin/yihong-iot

总结

以上仅展示了yihong物联IOT系统的部分功能。更多实用特性和详细信息,请大家访问项目地址。

希望通过本文能为上位机机开发方面提供有价值的参考。欢迎在评论区留言交流,分享您的宝贵经验和建议。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

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

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

相关文章

DeepSeek 背后的技术:GRPO,基于群组采样的高效大语言模型强化学习训练方法详解

强化学习(Reinforcement Learning, RL)已成为提升大型语言模型(Large Language Models, LLMs)推理能力的重要技术手段,特别是在需要复杂推理的任务中。DeepSeek 团队在 DeepSeek-Math [2] 和 DeepSeek-R1 [3] 模型中的突破性成果,充分展示了强化学习在增强语言模型数学推…

https://avoid.overfit.cn/post/05d4b8fb001b4adeb4e050fb323cd21f

强化学习(Reinforcement Learning, RL)已成为提升大型语言模型(Large Language Models, LLMs)推理能力的重要技术手段,特别是在需要复杂推理的任务中。DeepSeek 团队在 DeepSeek-Math [2] 和 DeepSeek-R1 [3] 模型中的突破性成果,充分展示了强化学习在增强语言模型数学推…

DeepSeek 杀红眼了!GPT-5 宣布免费,百度文心一言宣布免费。。。大快人心!

大家好,我是R哥。 最近的科技圈可谓风起云涌,横空出世的 DeepSeek 自从它发布以来,不但打破了业界的格局,还引发了一系列连锁反应。 如果你还没用过 DeepSeek,清华大学出的《DeepSeek 从入门到精通》推荐你好好看看吧,质量非常高,从原理到应用实践,写得非常好。 DeepSe…

CppQt3D-DataVisualization Simple LorenzSystem By Q3DScatter

环境搭建: Qt 6.7.2 MSVC 2019 64bit CMake latest find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Core Core5Compat DataVisualization)#executable(...) 之后target_link_libraries(${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSI…

Burpsuite基础使用

Burpsuite使用教程 目标靶场 :pikachu 系统 :win11 (一)暴力破解 1.基于表单的暴力破解什么是暴力破解? Burte Force(暴力破解)概述 ​ “暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用…

docker compose容器化部署 sonarqube+jenkins+dingtalk钉钉插件通知+中文插件 代码检测。超详细

docker hub : https://hub.docker.com/_/sonarqube 钉钉插件:https://github.com/xbmlz/sonar-dingtalk-plugin 中文包:https://github.com/xuhuisheng/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-8.9sonar客户端:https://docs.sonarsource.com/sonarqube-server/la…

[AI/GPT] 硅基流动(SiliconFlow) : AI大模型时代的基础设施

概述:硅基流动(SilliconFlow) 简介 🌸硅基流动(SiliconFlow) 是一家专注于人工智能(AI)基础设施的公司,致力于通过技术创新降低大模型(如生成式AI和大语言模型)的部署和推理成本,推动人工通用智能(AGI)的普及。 https://siliconflow.cn/zh-cn/ 以下是关于硅基流动…

010 组件生命周期

每个组件在被创建时都要经过一系列的初始化过程一一例如,需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会运行一些叫做生命周期的钩子函数,这给了用户在不同阶段添加自己的代码的机会为了方便记忆,我们可以将他们分类:创建时:…

03网络基础day02

ip及子网掩码 私有ip地址范围 A类:10.0.0.0-10.255.255.255 子网掩码是8位 B类:172.16.0.0-172.31.255.255 子网掩码是16位 C类:192.168.0.0-192.168.255.255ip不够解决方案 方式一:部分ip划分出来用于内部ip, 一个公网ip可以让上千万设备共享上网 NAT 网络地址…

Jmeter Http request Get 请求的时候 response body 为空

Jmeter response body 为空已知原因: 1、Content encoding 的默认编码对应不上,需要手动设置编码为:UTF-8; 2、请求设置 Header,且设置有请求数据类型为 Content-Type: application/json 注:原因2是GET,如果通过 Nginx 代理处理请求后再到达目标服务器,则可以避免该情况…

c# log4net 日志的使用

C# log4net 日志参考:C# log4net的使用。输出的日志内容添加文件名和行号。_log4net 发布 输出的文件中行号-CSDN博客1.NuGet增加log4net 2.增加log4net.config文件 log4net.config的内容如下,没有的功能可以搜一搜,设置 log4net.config的属性 复制到输出目录 设为始终复制&…

超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方DeepSeek接入),建议收藏!

在当今数字化时代,AI编程助手已成为提升开发效率的利器。DeepSeek作为一款强大的AI模型,凭借其出色的性能和开源免费的优势,成为许多开发者的首选。今天,就让我们一起探索如何将DeepSeek接入PyCharm,实现高效、智能的AI编程。 1、为什么选择DeepSeek + PyCharm? DeepSeek…