.NET 8.0 + Linux 香橙派,实现高效的 IoT 数据采集与控制解决方案
前言
随着物联网(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技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

.NET 8.0 + Linux 香橙派,实现高效的 IoT 数据采集与控制解决方案的更多相关文章
- 树莓派(香橙派)通过.NET IoT 操作SPI编写屏幕驱动 顺手做个四足机器人(一)
摘要 这片文章主要是记录自己的整活过程,涉及到的技术包括.NET IoT, .NET Web, .NET MAUI,框架采用的也是最新的.NET 7. 本人是用的树莓派Zero 2 W(ubuntu- ...
- 2022年写的香橙派 OrangePi Zero 用python获取dht11温度和湿度
感谢网上资料和个人的不放弃,终于方便的解决了香橙派 OrangePi Zero用python获取dht11温湿度的问题. 网上关于香橙派的资料比起树莓派真是少之又少,现在香橙派zero能干的活暂时也只 ...
- 【完整篇】orangepi香橙派新手入门之被官方坑
图片特意缩小,看不清请打开另一个窗口查看原图. 第一步:烧录系统,我烧录的是Ubuntu_Desktop[请注意!!!!用户名是错的!!用户名是错的!!用户名是错的!!] 正确的用户名是orangep ...
- Linux下一种高效多定时器实现
Linux下一种高效多定时器实现 作者:LouisozZ 日期:2018.08.29 运行环境说明 由于在 Linux 系统下一个进程只能设置一个时钟定时器,所以当应用需要有多个定时器来共同管理程序运 ...
- Red Hat 9.0 Linux 分辨率修改
Red Hat 9.0 Linux 分辨率修改 我是在VMware Workstation中装了一个红帽的Linux系统,装上之后发现分辨率有点低,是800x600的,看着很不舒服,然后就想着怎么样可 ...
- ACE-6.1.0 linux 下的编译与安装步骤
ACE-6.1.0 linux 下的编译与安装步骤 引用至http://www.cnblogs.com/liangxiaxu/archive/2013/03/07/2948417.html 1.从 ...
- 2.0 Linux系统的安装之Fedora安装单系统(2)
2.0 Linux系统的安装之Fedora安装单系统(2) *Linux系统的安装之Fedora安装单系统 恐怕最好装的系统就是Linux系统了,或者与Windows并列.此篇教程为Fedora的单系 ...
- Call to localhost/127.0.0.1:9000 failed on connection exception:java.net.ConnectException的解决方案
Call to localhost/127.0.0.1:9000 failed on connection exception:java.net.ConnectException的解决方案 作者:凯鲁 ...
- Linux权限:提示-bash: ./startup.sh: Permission denied的解决方案
Linux权限:提示-bash: ./startup.sh: Permission denied的解决方案 Linux上启动Tomcat,结果弹出:-bash: ./startup.sh: Permi ...
- Adobe/Flash Media Server 5.0 linux 64位系统下的安装
一.下载 Adobe/Flash MS5.0下载地址: http://fs1.d-h.st/download/00036/VOt/adobemediaserver_5_ls1_linux64.tar. ...
随机推荐
- 新型大语言模型的预训练与后训练范式,阿里Qwen
前言:大型语言模型(LLMs)的发展历程可以说是非常长,从早期的GPT模型一路走到了今天这些复杂的.公开权重的大型语言模型.最初,LLM的训练过程只关注预训练,但后来逐步扩展到了包括预训练和后训练在内 ...
- manim边做边学--圆柱体
Cylinder是Manim中用于创建圆柱体对象的类. Cylinder类在制作数学.物理或工程领域的动画时,可用于以下的场景中: 演示几何概念:使用Cylinder类创建圆柱体,并通过改变其参数和方 ...
- 使用 httputils + protostuff 实现高性能 rpc
1.先讲讲 protostuf protostuf 一直是高性能序列化的代表之一.但是用起来,可难受了,你得先申明 protostuf 配置文件,并且要把这个配置文件转成类.所以必然要学习新语法.新工 ...
- JavaScript是按顺序执行的吗?聊聊JavaScript中的变量提升
作为一位前端开发者,我们经常会听到这么一句话:"JavaScript的执行是按照顺序自上而下依次执行的."这句话说的并没有错.但是它似乎又好像不完全对.我们先来看以下这段代码.你觉 ...
- WinDbg: Failed to find runtime module (coreclr.dll or clr.dll or libcoreclr.so)
当我们通过 WinDbg 启动一个 .NET 的程序时,WinDbg 将会在运行可执行之前执行一个中断,此时还没有加载 .NET 的运行时. 但是,SOS 扩展需要 clr.dll 或者 corecl ...
- 中电金信:产教联合共育人才 AFAC2024金融智能创新大赛启动
当前,人工智能技术正在蓬勃发展,引领着各行各业迈向智能化的新纪元,特别是在金融科技领域,伴随人工智能技术的不断迭代与突破,金融服务的边界也在不断拓展,传统的金融业态正经历着深刻的变革与重塑. 与此同时 ...
- 两个 F# 的 MVVM
fsprojects/Avalonia.FuncUI: Develop cross-plattform GUI Applications using F# and Avalonia! fabulous ...
- 【前端】2024年 前端Base64编码的中文处理问题
window.btoa() 遇到中文要出问题 localStorage.setItem("token",window.btoa(unescape(encodeURIComponen ...
- 【C#】【平时作业】习题-11-ADO.NET
选择题 1.下列ASP.NET语句(B)正确地创建了一个与mySQL数据库和服务器的连接. A.SqlConnection con1 = new Connection("Data Sourc ...
- Harbor 入门指南
Harbor 介绍 Harbor 是由 VMware 开源的一款云原生制品仓库,Harbor 的核心功能是存储和管理 Artifact.Harbor 允许用户用命令行工具对容器镜像及其他 Artifa ...