目 录php
工业物联网和集成系统解决方案的技术路线... 1html
前言... 1前端
第一章 系统架构... 3mongodb
1.1 硬件构架图... 3数据库
1.2 组件构架图... 4apache
第二章 技术选型与介绍... 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。技术的进步就是生产力的提高,未来组织结构和关系也势必发生变化。不论是否懂技术技术、是否懂管理,思惟方式不转变确定会被淘汰。
下面对物联网和集成系统的解决方案的技术路线进行介绍,只对技术选型和系统流程,对于架构的演变以及技术哪一个更好不作具体说明。只供参考!!!
架构图这块主要表达一个大概的结构化的意思,能够不太准确,但愿你们可以理解。做为一个系统来说还包括网络部署框架图,根据应用场景和网络环境不同网络框架图也不同,因此不在本文的讨论范围内。
文章不介绍代码部分,在Demo事例中有完整的代码和注释,能够下载调试。
开发语言:所有使用C#,配有少许的JS代码。
开发工具:除App部分,全部组件都采用VS2012开发,App程序采用VS2015开发,VS2015是一个超级开发工具工厂,在Win10操做系统上开发IoT嵌入式程序,也没有问题。
操做系统:Windows 8.1,用习惯了也不错,据说要中止服务了,不过还有人在使用XP呢,没必要担忧。
数据源也就是产生数据的东西,也有人把这块统称为传感器,可是我认为这个叫法不太准确,因此我通常把这块统称为数据源。
数据源包括的内容不少,例如:各种传感器、大中小型设备、硬件电路、软件组件等。各种数据源的通信协议不一样、通信链路不一样、通信机制不一样,在没有统一标准的状况下,这部分的工做比重要。由于有了数据以后,你的业务系统才有应用的价值。
数据源我是写了一个模块的小程序,包括串口通信和网口通信。至于通信协议,请参见《C#通信(串口和网络)框架的设计与实现(SuperIO)- 12.二次开发及应用》。
数据采集部分使用的是SuperIO框架,由于它支持串口和网口统一的插件式设备驱动开发,也就是说开发一个驱动能够支持串口和网口通信。另外,可扩展性比较强,能够大大减少工做量。
开发了一个驱动程序,在SuperIO平台下增长两个驱动实例,负责与数据源程序进行串口和网络通信。
数据上传服务是在SuperIO平台下开发的,能够继承IAppService接口开发插件服务,而且挂载到SuperIO平台下运行,设备驱动采集完数据后,能够经过接口传递到服务插件内,经过内存交互数据。若是涉及到数据彻底性的数据交互,能够经过介质进行数据交互,例如:数据库、文本文件等。
数据上传服务直接与消息中间件(ActiveMQ)进行交互,再由AcitveMQ进行消息转发。数据上传服务其实是消息生产者的角色。
消息中间件采用ActiveMQ,须要部署Java运行环境。可用的消息中间件比较多,例如:RabbitMQ、ZeroMQ等。
根据应用场景不一样,能够选择的技术方案和技术路线也不同。消息中间件这块也彻底可使用通信组件来代替,例如:Netty和SuperSocket。
数据接收服务是在SuperIO平台下开发的,能够继承IAppService接口开发插件服务,而且挂载到SuperIO平台下运行。
数据接收服务直接与ActiveMQ进行交互,接收ActiveMQ转发过来的消息,其实是消息消费者的角色。
数据存储采用的是MongoDB,不太喜欢大而臃肿的东西,并且不须要ORM了,部署简单,可使用MongoVUE工具对数据库进行管理。若是是大拿,能够直接cmd。
数据接口采用Web Api,符合RESTful风格的http协议,操做调用简单、方便。抛弃了WebService的Soap协议,更没有选择WCF框架。
这块并无实现权限、安全管理。
业务系统采用MVC框架,可是前端并无与后台的控制器进行交互,而是与数据接口的WebAPI进行交互。先后端彻底分离。
手机移动端使用VS2015开发,使用Xamarin框架进行开发,这个框架支持跨平台。Xamarin是个很不错的东西,惟一的缺点就是须要付费,对于中国IT人员来说,这一点应该不是障碍。
项目目录介绍以下:
ClientService:上传数据与交互组件。
DeviceDemo:设备驱动,负责采集数据。
DeviceExport:数据输出组件,在Demo没有使用。
DeviceShowUI:数据显示视图组件,负责显示采集过来的数据信息。
FormTest:测试各部分的主工程。
ProtocolPackage:公用协议包。
ServerService:数据接收数据与交互组件。
SuperIO_App:移动APP端,须要VS2015打开。
SuperOPCClient:OPC客户端组件。
SuperOPCServer:OPC服务端组件。
TestDevice:模拟客户端测试程序。
WebAPI:WebAPI和Web业务端数据显示。
下载地址: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:504547114@qq.com
QQ:504547114
.NET开发技术联盟:54256083
文档下载:http://pan.baidu.com/s/1pJ7lZWf
官方网址:http://www.bmpj.net