1.自我介绍

本人已经工作10年,一直在工业领域。在一线干过实施,下过矿井;干过项目,带过团队;干过软件研发,出过产品;干过项目群管理,售前和市场也接触过;期间在纯软件公司也干过将近两年的时间,熟悉软件开发流程与管理。虽然没有取得多大成绩,也算经历丰富了。

互联网“行业”如火如荼的发展,曾经也想过转行去做“互联网”,奈何犹豫太久,已然提不起太多兴趣。凭借当年的沉淀与积累,有个半成品的框架,在工作索然无味的情况下,毫不犹豫的投身到物联网框架的开发与产品化的进程中。别人都说物联网的时代来了,如果真的是这样,也不知道是自己的选择好,还是命好。

这方面的工作纯属个人爱好,业余时间在干,一般晚上21点到23点是自己的第二个工作时间。这两年积极的投身到新的框架开发中,提高性能、统一接口、跨平台……等方面的工作。也做了自己的基础硬件产品,智能网关。

有人会问,那你正式工作是干什么的?在某集团公司工业版块负责大数据建设的相关工作。在没有大数据、云服务概念的时候,做过远程E服务相关的项目。说实话,对于传统行业来讲,是很困难的一件事。但是作为企业来讲,要么等死,要么在改变中死,完全在于自己的选择。

2.占领大脑和丢了脚

不知道从什么时候,物联网、大数据、云服务、云计算……等一批概念流行起来。大厂都在争夺高制高点,大数据、云服务、各种标准……,做这些事情都很有意义。但是我在想,大家都去占领大脑,脚就不重要了嘛?!显然不是,应该是同等重要。华为设备部、中兴仪器仪表……对于基础物联层,也是很头痛的一件事,这是大厦的根基,特别是工业领域。所以,我坚信对于我们的框架有很大的市场应用空间,创造的直接价值那是另外一回事。

3.物联的现实困难

对困难理解的前提是对现实世界的认知,有些传统制造业都不具备物联的基础条件,更谈不上物联网、智能制造、智能工厂,但是至因为落后,才有广阔的市场空间。就算有物联的基础,条件比较落后,底子比较薄,面临四个多样性:设备多样性、协议多样性、通讯机制多样性、数据多样性。这就是我们面临的问题,难道问题有多大吗?为了生存,企业都说能做。但是结构化的多样性问题,要用结构化的手段或框架来解决,这是各方面保障的前提。

4.效率与成本

接触一家上海公司,有专人负责网关层的数据采集,有专人负责服务(云)端的对接,不太稳定、经常出现问题。解决细节问题,不能用细节的思维方式去解决,而是要有更广阔的思维、结构化思路才能够彻底的、更好的解决问题。网关层、服务端是否可以使用同一套框架?并且框架之间是否可以无缝对接?如果可以实现,应用同一套框架,开发效率会提高,用人成本和时间成本会降低。好的组织结构、好的框架总之要解决效率和成本,否则没有任何价值。

5.逆向思维

大厂都在搞云平台、协议标准……,当然他们有资本和实力这样搞,软件用他们的、硬件用他们的,对于他们来讲,养这么多人,反而成本是最低的。他们奉行一流企业定标准,用这种思维模式去整合资源,竞争比的就是占领资源的多少。我们认真考虑一下,对于传统企业来讲,本来生存就很困难,和房地产、互联网拿投资的没法比,他们有能力一下子完全统一化的更新换代嘛?!参加上海工业博览会,也进行了市场调查,简直是开玩笑。我们再认真考虑一下,用框架性的东西去解决设备多样性、协议多样性、通讯机制多样性、数据多样性的问题,在物联网和集成系统的建设中是否也是整合资源的一种手段?!先解决企业互联监控的问题,再解决企业标准化的问题,这样是否也是一种思维模式?!是的,我们就先这样干!

5.智能网关,跑Windows 10 IOT和Ubuntu Mate

网关在物联网和集成系统建设中是重要的一个环节,实现数据的初步整合(采集),再进行数据的转发,形成体系层次清晰的级联网络系统。市场的网关大至分为两类:纯硬件接口的转换、搭载操作系统的小型机。当然也有在硬件基础上搭载自己的软件框架,但是不多见。在我们的智能网关上可以实现搭载我们ServerSuperIO物联网框架,使软件和硬件无缝结合,设备驱动的接口统一,可以开发一套驱动跑在不同的嵌入式操作系统上,Windows 10 IOT和Ubuntu Mate,对于系统建设的方案选择更灵活。

智能网关的硬件配置:

l  四核1.2GHz Broadcom BCM2837 64位CPU。

l  1GB RAM。

l  板载BCM43143 WIFI和蓝牙低功能耗(BLE)。

l  40引脚扩展GPIO。

l  4个USB接口。

l  全尽寸HDMI,并且转VGA接口。

l  微型SD卡端口,用于运行操作系统和存储数据的介质。

l  升级切换的微型USB电源,高达2.5A。

l  可搭载的操作系统:Ubuntu Mate、Windows 10 IOT。

智能网关实体机照片:

6.SuperIO到ServerSuperIO发展历程和解决的实现问题

      SuperIO&ServerSuperIO最早的雏形于2010年开始开发,当时主要是解决公司内部硬件产品众多、协议众多、以前的软件经常出问题、维护成本高、搞集成系统时各方面都很累。经过两三年的发展,确实解决了公司内部的产品体系问题,所有硬件产品都可以挂载到平台下运行。离开公司之后,感觉这个平台从代码、应用等方面还有很大发展空间,2014年逐步产品化后才形成了SuperIO(SIO)这个平台。

但是SIO也只是解决了设备驱动(众多协议)插件式挂载的问题,不过只限于运行在Windows系列操作系统下,一般性的PC机和工控机上数据采集完全没有问题。但是在运行效率方面还有很大提升空间、设备驱动的接口还可以进一步标准化(为了各层级都可以应用)、跨平台运行必须攻克、设备(驱动)之间信息交互与控制必须实现、框架在不同层级应用的级联与控制必须实现、多服务实例的应用等等,一系列的框架和技术性问题还可以进一步完善。从整体物联网建设的框架性方面考虑,从2015年初开始,基于SIO的核心思想重新开发新一代物联网框架,也就是现在的ServerSuperIO(SSIO)框架,经过两年多的发展,搭载在智能网关的基础上,可以形成综合性的解决方案。

7.一套设备驱动,支持多种IO通讯

不管是zigbee、wifi、有线网络,还是RS485、RS232、RS422,总之主要分为两种硬件接口:网口和串口。至于OPC协议,可以用SSIO服务接口的形成间接实现,形成服务插件的一部分。如果不结构化的设计IO,网口和串口独立存在,随着产品越来越多,是很头痛的一件事,也不一定运行稳定。对于ServerSuperIO框架,在此基础上开发一套设备驱动可以分别实现通过网口或串口与硬件设备(传感器)进行交互,非常方便。有人认为通讯很简单,其实如果把众多问题都考虑进去,那么将变得很复杂。也有很多纯网络通讯框架,业务场景、通讯机制的不同,纯网络通讯框架也未必能够完全的适用于现场环境。根据多年的工作经验,针对SSIO增加了通讯机制与应用场景,参见:《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制。

示意图如下:

8.一套设备驱动,统一接口,多种平台挂载运行

针对ServerSuperIO框架的设备驱动接口进行标准化设计,另外针对ServerSuperIO框架本身进行了跨平台运行的移植工作,所以一次开发设备驱动,可以在多种平台下挂载运行。现在支持的平台包括:Windows xp SP3以上的版本操作系统(包括Server)、Windows 10 IOT嵌入式操作系统、Ubuntu&Ubuntu Mate操作系统。

示意图如下:

9.物联通讯的级联

如果单单是采集硬件的数据与控制,也只能算是本地的系统,但是在物联网和集成系统建设中,必须形成体系化、网络化框架。所以ServerSuperIO在采集本范围内的数据信息与控制外,还要形成与上一级的ServerSuperIO进行数据交互,以及接收下一级的ServerSuperIO的交互数据,那么ServerSuperIO之间就形成了级联的关系,主要完成两大职责:数据的级联上传和反向控制,进而对设备本身进行级联控制。

结构示意图如下:

10.设备之间的通讯、控制

采集与控制单个设备,在实际应用中还远远不够,还要能够设备与设备之间进行信息传递与控制,并且返回给发送控制源设备确认信息。例如:在监测流量计严重报警的情况下,是否应该调节或控制液体源头的阀门。类似的例子很多。

在ServerSuperIO最新的3.1版本中(还没有发布),支持设备向另一个设备发起传递信息和控制后,被控制设备是否立即返回确认信息,还是自主异步决定返回确认信息。增加了异步返回确认信息的功能,因为控制命令只是发给了另一个设备驱动,设备驱动还会进一步与实际的硬件设备进行交互,与实现硬件交互成功后,再返回确认信息给发起的源设备驱动。

示意图如下:

11.与云端的交互、控制

ServerSuperIO提供了服务驱动的接口,一些除设备驱动类的功能以外,都可以以服务驱动的方式存在,例如:多设备采集的数据的融合模型计算、与其他平台或上层进行交互等等,在此仅以与服务端进行交互为实例进行介绍。与设备驱动之间的交互与控制不同的是,设备驱动主动把采集的数据信息传递给服务驱动,服务驱动与云端进行交互,在接收云端指令后,发起传递信息或控制设备驱动,设备驱动再返回确认信息给服务驱动。

示意图如下:

12.未来的规划

从大环境来讲,肯定是有很广泛的应用;从本公司来讲,将来在工业基础物联层面,肯定也会用的上;从个人兴趣来讲,也乐意能够继续做这方面的工作,当然是除正式工作之外。

从ServerSuperIO本身来讲,3.1版本(未发布)对代码进行优化以及增加了异步返回确认信息的交互能力。后期会增加对数据安全方案的验证机制,以保障在工业领域应用数据交互与控制的安全性。另外从体系结构来讲,以ServerSuperIO框架为基础,增加云端的建设能力,例如:数据分布式持久化等。从嵌入式应用为讲,要增加远程可配置能力等。

13.结束语

在现在的社会,长期坚持做一件事很不容易,做成产品级以及配合体系方案更不容易。慢慢往下走吧,希望机会会眷顾那些踏实、实干的人。天道酬勤!!!


1.[连载]《C#通讯(串口和网络)框架的设计与实现》

2.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍

2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案

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

5.ServerSuperIO开源地址:https://github.com/wxzz/ServerSuperIO

物联网&集成技术(.NET) QQ群54256083


连载教程:

1.4种通讯模式机制
2.服务实例的配置参数说明
3.设备驱动介绍
4.如开发一套设备驱动,同时支持串口和网络通讯
5.轮询通讯模式开发及注意事项
6.并发通讯模式开发及注意事项
7.自控通讯模式开发及注意事项
8.单例通讯模式开发及注意事项
9. 协议过滤器,解决一包多发、粘包、冗余数据
10.持续传输大块数据流的两种方式(如:文件)
11.实现设备(驱动)与设备(驱动)交互和级联控制。
12.服务接口的开发,以及与云端双向交互
13.自定义视图显示接口开发,满足不同的显示需求
14.配制工具介绍,以及设备驱动、视图驱动、服务实例的挂载


转载于:https://www.cnblogs.com/lsjwq/p/6185169.html

物联网建设中通讯互联层的终极解决方案相关推荐

  1. 系统更新后mysql用不了中文,Mysql在debian系统中不能插入中文的终极解决方案

    在debian环境下,彻底解决mysql无法插入和显示中文的问题,需要的朋友可以参考下 在debian环境下,彻底解决mysql无法插入和显示中文的问题 Linux下Mysql插入中文显示乱码解决方案 ...

  2. 泛在电力物联网建设大纲解读及落地建议

    泛在电力物联网建设大纲解读及落地建议 1. 国网泛在电力物联网建设大纲发布 在2019年3月份,国网发布了泛在电力物联网的建设大纲,大纲的发布无论在国网内部还是在行业外部都引起了极大的轰动,面对如此巨 ...

  3. 物联网技术在地下综合管廊智能化建设中的应用实例分析

    摘   要:物联网是21世纪传感技术.通信技术.信息技术的应用大集成利用物联网技术实现地下综合管廊的智能化管理符合经济和城市规划发展的需要分析了物联网技术的特点及地下综合管廊建设中物联网技术的应用并结 ...

  4. 万物互联所必需的泛在物联网建设需要多少钱?成本低到不可想象

    物联网和互联网的概念都是在上世纪后期差不多时间出现的,距今也就二三十年的时间,但两者发展现状却大相径庭. 互联网的发展非常迅速,从互联网到移动互联网,诞生了一大批世界级的巨无霸公司,如Cisco.Qu ...

  5. 物联网在智慧城市建设中的角色研究

    随着现代通信技术.物联网技术的不断发展.物联网的发展成为智慧城市发展的催化剂,本文以济南市智慧城市发展为例,在智慧城市发展现状的基础上,对物联网在智慧城市建设中的角色进行研究,以期为物联网在智慧城市发 ...

  6. 出入口控制在智慧城市建设中的发展与应用

    徐建明 佳都新太科技股份有限公司 出入口控制管理作为平安城市.智慧城市建设当中不可或缺的组成部分.其充分利用计算机技术.无线通讯技术.物联网.云计算.移动互联网等新一代信息技术的集成应用,从而为居民提 ...

  7. LoRa、Sigfox和NB-IoT在物联网趋势中谁是你的最佳拍档?

    无线通信技术是物联网的传输基础,随着智慧城市大应用成为热门发展,各种技术推陈出新,纷纷抢占物联网市场.在LPWAN技术里,最热门的莫过于LoRa.Sigfox和NB-IoT.在物联网趋势中,这三种技术 ...

  8. 城市云脑研究之三,人工智能在城市云脑建设中的地位与作用

    作者:互联网进化论作者,计算机博士刘锋 城市云脑研究之二<城市云脑,像大脑一样建设智慧城市,基于互联网云脑的新架构>一文中,介绍到:"从1969年互联网诞生以来,人类从不同的方向 ...

  9. 物联网系统中常见的通信协议分析

    物联网(Internet of Things, 简称IoT)是指将各种传感器.设备等通过互联网连接起来,形成一个庞大的网络,实现物与物之间的互联互通.在实现这个过程中,各种不同的通信协议被广泛应用.本 ...

最新文章

  1. 一般web放在linux那个目录下,web.py应该安装在linux的哪个目录下?
  2. 基础才是重中之重~方法override详解
  3. comboBox.DataSource绑定
  4. 【LeetCode】5.最长回文子串
  5. 美国总统就职演说词汇分布图
  6. sqlmap使用_sqlmap于sql labs下使用
  7. angular4动态添加html,angular4 动态创建组件
  8. ie不兼容的几个js问题及解决办法
  9. xmind试用模式会过期吗_汽车可以一直用s档吗?运动模式到底会不会伤车?
  10. 机器学习实战系列(五):SVM支持向量机
  11. mybatis批量写入及批量更新
  12. 广义表的存储结构算法c语言,广义表(一)
  13. android mvp模式到底好,Android中MVP设计模式
  14. Android资源下载
  15. idea 配置svn插件
  16. 《Using OpenRefine》翻译~15
  17. 算术平均值c语言函数名称,求算术平均数和集合平均数的源代码
  18. openlayers中海图的加载
  19. php验证qq,正则表达式验证qq号码是否输入正确
  20. 手工焊的优缺点有哪些?

热门文章

  1. 经验 | 计算机专业科班出身如何提高自己编程能力?
  2. 从学习 Paddle 开始学习深度学习
  3. 少走弯路:Mac+python+opencv
  4. hjimce算法类博文目录
  5. 深度学习(四十)caffe使用点滴记录
  6. python网课阿里云_阿里云大牛用过的680集Python视频教程无偿分享,学完万物皆可爬...
  7. c++ unix time 运行时间_C++编程:c++里时间类型详解 time_t等
  8. java string.substring 参数,Java,String类中的subString()方法,stringsubstring
  9. Vector使用方法简单整理
  10. 浏览器截图插件什么的弱爆了