C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

目       录

工业物联网和集成系统解决方案的技术路线... 1

前言... 1

第一章           系统架构... 3

1.1           硬件构架图... 3

1.2           组件构架图... 4

第二章           技术选型与介绍... 5

2.1           开发环境... 5

2.2           数据源... 5

2.3           数据采集... 5

2.4           数据上传服务... 6

2.5           消息中间件... 6

2.6           数据接收服务... 6

2.7           数据存储... 6

2.8           数据接口... 7

2.9           Web业务系统... 7

2.10        手机移动终端App. 7

第三章           Demo的介绍... 8

3.1           目录介绍... 8

3.2           Demo调试... 8

前言

2000年以后,互联网在中国的大地上如火如荼的发展,在这个行业竞争中比的是加速度。我清晰的记得《世界是平的》中有这样一段话:在非洲,羚羊每天早上醒来时,它知道自己必须跑得比最快的狮子还快,否则就会被吃掉;狮子每天早上醒来时,它知道自己必须追上跑得最慢的羚羊,否则就会被饿死;不管你是狮子还是羚羊,当太阳升起时,你最好开始奔跑!我们奔跑的这10多年的时间里,互联网技术带动了各行各来的发展,同时也席卷了各行各来。

2006年时,工业行业还在普遍使用电话线进行数据传输和远程帮助。网络技术慢慢的在向各行各业传导,工业行业也在发展,局域网、光纤以太网、WIFI\3G\4G等已经应用很广泛了。互联网技术在推动制造业发展的同时,也带动了众多公司的与时俱进,升级技术、提供更好的服务。

我们在思考,后互联网时代将如何发展?将是互联网与各行各业深度融合的过程,例如现在常被提及的物联网,我认为它本质上是工业互联网,是制造技术与互联网技术无缝对接。不管是叫物联网还是工业互联网,未来物与物的交互、物与人的交互将无法避免。硬件与软件的协同发展,更快的推动了这个进程,例如:智能芯片的发展、嵌入式操作系统的发展、智能传感器的发展等。

大数据、分布式、云计算等也在以惊人的速度发展,有些人可能认为这些东西离我们生活还比较遥远。但是并非是这样的,距离2006年只不过10年左右,现在的发展却是以前你无法想象的,而这种加速度的发展方式,2年的发展可能是你过去10年的发展之和。不管这些技术现在是否能够落地,但是这种趋势是无法改变的。

数据的流动可以变现,现金的流动可以增加GDP。技术的进步就是生产力的提升,将来组织结构和关系也势必发生变化。不管是否懂技术技术、是否懂管理,思维方式不转变肯定会被淘汰。

下面对物联网和集成系统的解决方案的技术路线进行介绍,只对技术选型和系统流程,对于架构的演变以及技术哪个更好不做具体说明。只供参考!!!

第一章     系统架构

架构图这块主要表达一个大概的结构化的意思,可以不太准确,希望大家能够理解。作为一个系统来讲还包括网络部署框架图,根据应用场景和网络环境不一样网络框架图也不一样,所以不在本文的讨论范围内。

1.1    硬件构架图

1.2    组件构架图

第二章     技术选型与介绍

文章不介绍代码部分,在Demo事例中有完整的代码和注释,可以下载调试。

2.1    开发环境

开发语言:全部使用C#,配有少量的JS代码。

开发工具:除App部分,所有组件都采用VS2012开发,App程序采用VS2015开发,VS2015是一个超级开发工具工厂,在Win10操作系统上开发IoT嵌入式程序,也没有问题。

操作系统:Windows 8.1,用习惯了也不错,听说要停止服务了,不过还有人在使用XP呢,不必担心。

2.2    数据源

数据源也就是产生数据的东西,也有人把这块统称为传感器,但是我认为这个叫法不太准确,所以我一般把这块统称为数据源。

数据源包括的内容很多,例如:各类传感器、大中小型设备、硬件电路、软件组件等。各类数据源的通讯协议不同、通讯链路不同、通讯机制不同,在没有统一标准的情况下,这部分的工作比重要。因为有了数据之后,你的业务系统才有应用的价值。

数据源我是写了一个模块的小程序,包括串口通讯和网口通讯。至于通讯协议,请参见《C#通讯(串口和网络)框架的设计与实现(SuperIO)- 12.二次开发及应用》。

2.3    数据采集

数据采集部分使用的是SuperIO框架,因为它支持串口和网口统一的插件式设备驱动开发,也就是说开发一个驱动可以支持串口和网口通讯。另外,可扩展性比较强,可以大大减小工作量。

开发了一个驱动程序,在SuperIO平台下增加两个驱动实例,负责与数据源程序进行串口和网络通讯。

2.4    数据上传服务

数据上传服务是在SuperIO平台下开发的,可以继承IAppService接口开发插件服务,并且挂载到SuperIO平台下运行,设备驱动采集完数据后,可以通过接口传递到服务插件内,通过内存交互数据。如果涉及到数据完全性的数据交互,可以通过介质进行数据交互,例如:数据库、文本文件等。

数据上传服务直接与消息中间件(ActiveMQ)进行交互,再由AcitveMQ进行消息转发。数据上传服务实际上是消息生产者的角色。

2.5    消息中间件

消息中间件采用ActiveMQ,需要部署Java运行环境。可用的消息中间件比较多,例如:RabbitMQ、ZeroMQ等。

根据应用场景不同,可以选择的技术方案和技术路线也不一样。消息中间件这块也完全可以使用通讯组件来代替,例如:Netty和SuperSocket。

2.6    数据接收服务

数据接收服务是在SuperIO平台下开发的,可以继承IAppService接口开发插件服务,并且挂载到SuperIO平台下运行。

数据接收服务直接与ActiveMQ进行交互,接收ActiveMQ转发过来的消息,实际上是消息消费者的角色。

2.7    数据存储

数据存储采用的是MongoDB,不太喜欢大而臃肿的东西,而且不需要ORM了,部署简单,可以使用MongoVUE工具对数据库进行管理。如果是大拿,可以直接cmd。

2.8    数据接口

数据接口采用Web Api,符合RESTful风格的http协议,操作调用简单、方便。抛弃了WebService的Soap协议,更没有选择WCF框架。

这块并没有实现权限、安全管理。

2.9    Web业务系统

业务系统采用MVC框架,但是前端并没有与后台的控制器进行交互,而是与数据接口的WebAPI进行交互。前后端完全分离。

2.10     手机移动终端App

手机移动端使用VS2015开发,使用Xamarin框架进行开发,这个框架支持跨平台。Xamarin是个很不错的东西,唯一的缺点就是需要付费,对于中国IT人员来讲,这一点应该不是障碍。

第三章     Demo的介绍

3.1    目录介绍

项目目录介绍如下:

ClientService:上传数据与交互组件。

DeviceDemo:设备驱动,负责采集数据。

DeviceExport:数据输出组件,在Demo没有使用。

DeviceShowUI:数据显示视图组件,负责显示采集过来的数据信息。

FormTest:测试各部分的主工程。

ProtocolPackage:公用协议包。

ServerService:数据接收数据与交互组件。

SuperIO_App:移动APP端,需要VS2015打开。

SuperOPCClient:OPC客户端组件。

SuperOPCServer:OPC服务端组件。

TestDevice:模拟客户端测试程序。

WebAPI:WebAPI和Web业务端数据显示。

3.2    Demo调试

下载地址:http://pan.baidu.com/s/1pJ7lZWf

(1)    下载DEMO和工具

下载SuperIO v2.2.7\SuperIO_Demo v2.rar;下载mongodb数据库;下载ActiveMQ消息中间件。

(2)    启动服务和程序

启动mongodb,mongodb-win32-x86_64-2008plus-3.0.3-1\start.bat,默认监听端口为:2222。

启动ActiveMQ服务,apache-activemq-5.12.0\bin\win64\activemq.bat,需要JAVA运行环境。

启动SuperIO_Demo.sln解决方案,需要VS2012开发IDE,也可以转成VS2015工程,重新编译。

启动SuperIO_App.sln解决方案,需要VS2015开发IDE,如果使用VS自带的模拟器,需要执行<adb connect 模拟器的IP>,才能把程序成功部署到模拟器,并且进行调试,否则VS工具一直处于部署阶段。

(3)运行效果图

(4)调试视频

youku视频不是太清楚,请下载高清调试视频,地址:http://pan.baidu.com/s/1pJ7lZWf中的【视频演示】。

作者:唯笑志在

Email:[email protected]

QQ:504547114

.NET开发技术联盟:54256083

文档下载:http://pan.baidu.com/s/1pJ7lZWf

官方网址:http://www.bmpj.net

时间: 2024-10-12 12:08:20

C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)的相关文章

开源物联网通讯框架ServerSuperIO,成功移植到Windows10 IOT,在物联网和集成系统建设中降低成本。附:“物联网”交流大纲

[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 一.概述 经过一个多月晚上的时间,终于把开源物联网通讯框架ServerSuperIO成功移植到Windows10 IOT上,暂时全名:ServerSuperIO.WinIOT(以后可能还会移植到Ubuntu上).以后可以把ServerSuperIO框架应用到嵌入式设备上,移植的成功具有标志性意义,意味着软件和硬件的结合,软硬的结合才具有更强的生命力.为什么我特别愿意干这件事呢?源于我对以前工作的总结,如下图: 二.如果利

MVC文件图片ajax上传轻量级解决方案,使用客户端JSAjaxFileUploader插件02-多文件上传

上一篇中,使用客户端jJSAjaxFileUploader插件实现单文件异步上传,本篇实现多文件异步上传. 本篇源码在github,先看效果: ● 上传文件显示进度条. ● 停止上传按钮和关闭缩略图按钮. ● 限制上传文件的类型. ● 限制上传文件的尺寸. ●同时上传多个文件成功后显示缩略图.文件名: ● 点击界面上的删除按钮,界面删除,同步删除文件夹中文件. ● 再点击上传文件,界面追加一行新的缩略图.文件名.删除按钮: □ HomeController 把上传的文件名改成以GUID命名的格式

MUI 单个图片上传预览(拍照+系统相册):先选择-&gt;预览-&gt;上传提交

1 html部分 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <link href="../css/mui.min.css" rel="stylesheet" /> <script src="../js/mui.min.js"></s

智慧城市楼管控集成系统解决方案软件开发

智慧城市是当下发展趋势.2016就已提出发展信息技术与物联网技术相结合智慧城市发展,为社会民众提供一个便捷,高效,舒适的城市环境. 智慧城市系统体系下可拓展出:一卡通门禁系统.智慧停车场系统.楼宇自控系统.酒店管理系统.物业管理系统.智慧楼宇管理系统等. 1.一卡通门禁系统:包括门禁.考勤.指纹.身份管理等多种功能.这种系统可以进行局部管理,无论是写字楼还是单个公司.小区,有效的帮助企业,楼宇智能管理人员考勤等. 2.智慧停车场系统:可以与上面的一卡通系统相结合,用与车辆进出停车收费管理. 3.

电梯安全以太网口工业移动4G路由上网RS232,RS485数据上传

方案需求 我国电梯保有和使用量已经非常巨大,进而由于电梯产生的关人.夹人.蹲底.冲顶等严重事故频频发生,对社会造成了严重的影响,面对此种现状,迫切的需要对现有的电梯运行情况进行实时的了解和跟踪,尽最大可能的减少类似事故的发生. 目前很多老旧电梯经常出问题,无正常周期维护保养,出现问题需要很长时间才知晓处理,严重影响居民日常生活,数量大且分散,日常巡检维护难以执行效率低. 2007年共发生电梯事故33起,占特种设备安全事故总数的13%,其中电梯死亡事故22起,造成25人死亡,10人重伤:2008年

MUI 图片+数据 上传解决方案

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title>首页</titl

云控后台系统 经验总结(表单和文件上传等)

1. qq emoji替换 接收到这样的字符串,通过正则匹配到每组方括号然后进行替换 var _str = i.content.replace(/\[.{1,3}\]/g, (str) => { //i.content为遍历出来的消息记录 var index; Object.keys(faceCode).forEach((key, _index) => { //faceCode为字符串与样式对应的关系,也可以通过参数去和后台约定好,不用这样查找 if (key === str) { index

有人设备在工业物联网解决方案中的应用

设备解决方案 用于工业物联网 我们的设备解决方案使系统集成商和工业物联网应用开发商能够以更低的成本更快地将产品推向市场. 我们通过提供针对性的数传设备来实现这一点,我们的设备配置和管理,安全性,设备控制以及传感器数据收集和完整性; 同时最大化通信正常运行时间. 有人物联网可以让您轻松获取高质量的数据,让您专注于提供您的工业物联网应用. 不仅仅是设备. 简单,实用,价格合理 我们的4G DTU 集成到您的应用程序中,协调作为应用程序一部分部署的所有有人物联网设备与中央服务器之间的所有通信; 保护所

Internet+ or CPS 行业系统解决方案

今天闲来无事,就想整理下技术方面的东西,后续希望尽量使用开源的东西,铺垫一些基础框架,积累一些思路.其实,以前一直都在做嵌入式的开发工作,互联网方面也就一点PHP的开发经验(NAS),而当前WEB段开发,都习惯性用Java,虽然在项目开发中学了一些,但也有点脱节了,呵呵. 互联网+和物联网智能硬件系统百花齐放百家争鸣 在这个大数据时代,互联网+和物联网智能硬件系统集成方面,传统电子行业和IT互联网行业都争着提出行业系统性的解决方案,从而形成了行业内百花齐放百家争鸣的态势.这种局面显然是一个新的契