历史上的今天

今天是:2024年10月12日(星期六)

正在发生

2020年10月12日 | 加速工业物联网应用开发(二):工业物联网传感器部署

发布者:脑力激荡 来源: eefocus关键字:工业物联网  传感器系统  机器学习  传感器网络 手机看文章 扫描二维码
随时随地手机看文章

由于开发人员需要等待新设备的硬件实现可用才能开始开始工作,因此嵌入式应用开发项目通常会出现延迟。工业物联网 (IIoT) 应用开发面临类似的瓶颈,需要等待传感器数据才开始像工业预见性维护系统或设施自动化系统之类基于机器学习方法的应用的开发。本系列文章由两部分组成,将探讨哪些替代方法能提供所需的早期数据流,以加速工业物联网应用开发。第 1 部分介绍了如何使用模拟方法生成这些数据流。本文是第 2 部分,将会讨论有哪些选择方案可用来快速进行传感器系统原型开发,以帮助生成数据。

 

大规模工业物联网 (IIoT) 应用从根本上依赖于对目标环境中所部署传感器网络产生的数据流的分析和响应。如果在开发初期不能随时获得这些数据流,则工业物联网应用可能会落后于紧迫的工期或低于公司的预期。

 

尽管模拟方法可以满足许多应用的数据要求,但有些应用可能需要与目标环境精确匹配的数据。对于这些应用,要想获得有效的模拟结果,所需的投入可能不切实际。而使用现成的传感器和网关装置提供了一个可能更容易的快速数据交付途径。这些装置专为工业环境而设计,支持各种传感器类型和连接选项,几乎不需用户花费什么精力。

 

本文是关于加速工业物联网应用开发的两部分系列文章中的第二部分,将会介绍多种预配置型工业物联网传感器和网关,用于生成加速工业物联网应用开发所需的数据。

 

工业物联网数据模拟的局限性
传感器数据是工业物联网应用的核心,但完整的应用部署同时依赖于能提供这些数据的传感器系统,以及将这些数据转换为有用信息的软件系统是否现成可用。对于某些工业物联网应用,模拟可能无法提供足够有用的数据。如果不仔细注意模拟的参数,则模拟的数据流可能会展现出将应用偏向特定工作曲线的属性。

 

例如,若数据模拟配置为在 -40°C 至 +125°C 范围内提供均匀分布的随机温度,则可能会使应用偏向极端温度,超出目标环境的实际温度范围。此外,这种简单的模拟提供的温度数据还可能容易从一个测量期到下一个测量期一下跳过几十度。在典型的工业物联网应用中,此类不切实际的大幅温度变化可能会对过程控制回路和其他应用结果造成混乱。

 

如果应用预期要嵌入机器学习推断模型,则数据质量及其对真实情况的体现程度尤其值得关注。数据科学家们都知道,采用糟糕数据进行训练的推断模型也会提供同样糟糕的结果。因此,为了构造这些模型所需的有效数据模拟,投入水平可能会迅速攀升。

 

对于大多数工业物联网项目而言,将应用开发推迟到传感器系统部署完成后,这根本不现实。事实上,当需要执行软件应用来提供所需的信息,甚至来验证能否全面部署时,等待传感器部署甚至都不可行。例如,数据科学家可能需要复杂算法的结果来确定是否需要更高分辨率、更快更新速率,甚至不同类型的传感器数据,来解决结果中的不明确性,或在其他方面优化应用。

 

由于所有这些原因,组织可能不情愿地决定延迟工业物联网应用的开发,因为相比使用对目标工业过程和环境表现不佳的模拟数据来开发应用,这是更好的选择。幸运的是,随着预置工业物联网传感器系统和相关网关设备的不断增多,组织至少能够快速部署应用开发所需的一组最关键的传感器。

 

快速部署传感器网络
工业物联网传感器将传感器、处理器和连接接口组合在一个封装中,以承受典型的工业环境压力。除了用于温度、振动、压力和湿度的单个传感器,开发人员还可以找到可用的多传感器装置,这些装置封装了特定应用功能(如预见性维护)所需的传感器组合。

 

预见性维护方法会监测起着设备潜在故障指示作用的特性。例如,在电机中,振动频率和温度的特定变化能可靠地指出电机中非常具体的故障类型。工业物联网传感器设计用于捕获这些数据,例如 National Control Devices (NCD) 的 PR55-20A 预见性维护传感器,它将所需的传感器与低功耗微控制器和 DigiMesh 无线网状网络连接组合在一起(图 1)。

 

图 1:NCD PR55-20A 预见性维护传感器结合了多个传感器以及将数据传送至本地无线节点所需的网状网络连接。(图片来源:National Control Devices)

 

为了加速工业物联网应用的开发,开发人员可以轻松地将专用传感器(例如 NCD 预见性维护传感器)与其他传感器(例如 NCD PR49-24G 无线环境传感器)组合使用。NCD PR49-24G 采用由两节 AA 电池供电的工业封装,并集成了温度、湿度和气体传感器。

 

除了各种特定的传感器类型,工业物联网传感器制造商还提供了预置的通信网关装置,旨在简化传感器到本地连接网络的集成。实际上,开发人员可以找到一些可用的网关装置,需要预先配置成连接特定的商业云或支持常用于连接物联网云平台的通信协议。

 

针对其 DigiMesh 无线传感器,NCD PR55-21 网关系列使用 Wi-Fi 连接来连接到特定的云服务,包括 Microsoft Azure IoT (PR55-21_AZURE)、Amazon Web Services IoT (PR55-21_AWS) 或 Losant IoT 平台 (PR55-21_LOSANT)。此外,PR55-21_MQTT 网关还支持与使用 ISO 标准 MQ 遥测传输 (MQTT) 协议的任何主机进行通信。与 PR55-21 系列的其他成员一样,PR55-21_MQTT 网关将低功耗工业微控制器与子系统相结合,以实现本地 DigiMesh 无线连接以及与本地或远程 MQTT 服务器的加密 Wi-Fi 回程连接(图 2)。

 

图 2:NCD PR55-21_MQTT 网关不仅为本地 DigiMesh 网状网络提供无线支持,还可通过 Wi-Fi 连接与服务器进行 MQTT 信息交换。(图片来源:National Control Devices)

 

开发人员可以使用通过网关的嵌入式 Web 服务器提供的菜单式工具,快速配置 DigiMesh 本地网络和 MQTT Wi-Fi 连接。例如,下图中的设备屏幕显示了 DigiMesh 连接的设备及其信号强度和活动情况,并提供一个用于管理配置的集中点(图 3)。

 

图 3:NCD PR55-21_MQTT 网关嵌入式 Web 服务器允许用户更改设置并检查连接到本地网络的传感器的活动情况。(图片来源:National Control Devices)

 

DigiMesh 网状网络提供了一种有效的方法,用于扩展电池供电型传感器系统中所需的低功率收发器的有效范围。当然,这只是工业环境中可能遇到的多种连接选项之一,制造商针对其中许多连接提供了类似的传感器和网关组合。例如,Laird 的 Sentrius RS1xx 系列包括专用于支持蓝牙和 LoRaWAN 连接的工业传感器。该公司的 Sentrius RG1xx 系列包括互补性网关,用于支持 LoRaWAN 部署的区域频率要求。此外,这些网关还支持本地蓝牙连接和 Wi-Fi 回程 Internet 连接。

 

在某些应用中,强电磁干扰 (EMI) 源会降低无线通信中的信号完整性。对于这些情况,若能够将传感器与通信功能分开,这可是重要的优势。除了自家公司的无线工业传感器,Banner Engineering 还提供了能通过 RS-485 或单线串行接口连接至单独无线节点的传感器。因此,操作人员可以将无线通信节点与连接至强 EMI 源(例如高速电机)的传感器相距一定距离放置(图 4)。

 

图 4:对于电机振动测量等电磁干扰严重的情况,开发人员可以将 Banner Engineering 安装在电机上的振动传感器与相距噪声源一定距离放置的无线节点连接。(图片来源:Banner Engineering)

 

为支持这种配置,Banner Engineering 的 DX80N9Q45VTP 无线节点设计成与该公司的 QM30VT1 单线振动和温度传感器连接,而 DX80N9Q45TH 无线节点则与 M12FTH4Q 单线温度和湿度传感器连接。为了满足更广泛的传感器接口要求,该公司的 DX80N9Q45U 可用作通用的单线无线节点,同时该公司的 DX80G9M6S 系列无线节点支持 RS-485 传感器连接到多跳网络。

 

本地处理
即使能快速部署工业物联网传感器网络,开发人员也可能需要预期进行一定程度的本地处理,以减少数据量或减轻下游资源的处理负载。实际上,先进的工业传感器(例如 Banner Engineering 的 QM30VT2 振动和温度传感器)能够让用户将测得的振动频率分成多达 20 个频段。此功能在预见性维护应用中尤为重要,在这些应用中,通过确定不同频段内的变化可确定特定类型的故障。

 

除了由传感器进行预处理外,在早期部署传感器网络时,也可能会产生一系列本地处理要求。Banner Engineer 的 DXM700 控制器和网关提供了此功能。DXM700 的尺寸仅为 70 x 86 x 55 毫米 (mm),可提供多个本地无线和有线连接以及到主机服务器的以太网回程连接(图 5)。

 

图 5:Banner Engineering 的 DXM700 控制器和网关提供了多个本地和 Internet 连接选项,并支持本地 ScriptBasic 处理。(图片来源:Banner Engineering)

 

当从本地传感器网络接收数据时,该控制器可以执行用 ScriptBasic 编写的程序,来检查输入数据,根据输入数据激活输出,或执行简单的数据转换。Banner Engineering 说明文档中包括了一些 ScriptBasic 示例,用于说明像响应传感器数据变化这样的典型操作 (清单 1)。

 

副本


   ...'Function to read the T/H sensor FUNCTION GetTempHumidityData    LastValueTempC = TempC    LastValueHumidity = Humidity    Humidity =GETREG(SensorHumidity_reg, TH_SID, MBtype)    TempC = GETREG(SensorTempC_reg, TH_SID, MBtype)    IF Humidity > 65535 or TempC > 65535 THEN          PRINT "Read Error - humidity / temp reading...", Humidity,"  ",TempC,"nr"    END IF    WrErr = SETREG (Humidity_reg, Humidity, LocalRegSID, MBtype)    WrErr = SETREG (TempC_reg, TempC, LocalRegSID , MBtype)   FUNCTION StateMachine 'State machine definitions for the periodic reading of temp/humidity ' TH_State = 0  current state of the state machine ' TH_Idle= 0  initial state ' TH_Wait= 1  wait time between samples ' TH_Sample= 2  get samples from remote sensor ' TH_Error= 3 error state - unknown condition    LOCAL StartState    StartState = TH_State    WrErr = SETREG (SM_reg, TH_State, LocalRegSID, MBtype)       IF TH_State = TH_Idle THEN           StartTime = NOW           TH_State = TH_Wait    ELSEIF TH_State = TH_Wait THEN       IF NOW >= (StartTime + WaitTime) THEN          TH_State = TH_Sample       ELSE          TH_State = TH_Wait       END IF    ELSEIF TH_State = TH_Sample THEN       GetTempHumidityData       TH_State = TH_Idle    ELSE       TH_State = TH_Error    END IF    IF StartState <> TH_State THEN       PRINT "rn Time ",NOW,"  SM Started-> ",THState[StartState],"  End->",THState[TH_State]," rn"    END IF END FUNCTION FUNCTION LED_driver IF LastValueTempC < TempC THEN    WrErr = SETREG (TempGoingUp_LED2_reg,1,DisplaySID, MBtype)    ELSE       WrErr = SETREG (TempGoingUp_LED2_reg,0,DisplaySID, MBtype)    END IF       IF LastValueTempC > TempC THEN    WrErr = SETREG (TempGoingDown_LED3_reg,1,DisplaySID, MBtype)    ELSE       WrErr = SETREG (TempGoingDown_LED3_reg,0,DisplaySID, MBtype)    END IF       IF (Humidity > 65535 ) OR (TempC > 65535) THEN    WrErr = SETREG (CommsError_LED4_reg,1,DisplaySID, MBtype)    ELSE       WrErr = SETREG (CommsError_LED4_reg,0,DisplaySID, MBtype)    END IF        IF GETREG(ScriptRunnning_LED1_reg, DisplaySID, MBtype) THEN       WrErr = SETREG (ScriptRunnning_LED1_reg,0,DisplaySID, MBtype)    ELSE       WrErr = SETREG (ScriptRunnning_LED1_reg,1,DisplaySID, MBtype)    END IF    END FUNCTION ‘Main program loop BEGIN:    PRINT "Script Startingrn"    ITERATE:       'PRINT "rn Time = ",NOW," rn"       StateMachine       LED_driver       Sleep(1)    GOTO ITERATE END 


清单 1:此 ScriptBasic 代码段来自 Banner Engineering,展示了开发人员如何对 Banner Engineering 的 DXM700 进行编程,以在本地对传感器数据作出响应。在此例中,通过打开和关闭 LED 来响应温度和湿度传感器数据的变化。(代码来源:Banner Engineering)

 

Multi-Tech Systems 的 MTCAP-Lxxx 系列等网关为本地处理提供了更大的灵活性。此系列专用于满足各种连接要求,可支持传感器侧的本地 LoRaWAN 连接,以及回程信道的以太网和可选宽带 LTE 连接。针对其工作环境,此网关系列基于开源的 Multi-Tech Linux (mLinux) 操作系统。因此,开发人员可以使用熟悉的开发环境来创建本地处理软件例程。此外,这些网关还支持 Node-RED,这是一种需要很少代码的开发选项,对于事件驱动型应用(例如工业物联网)非常有用。关于 Node-RED 的更多信息请参阅后文。

低代码快速原型开发
通过快速部署物理传感器网络,在全面设计、开发和调试传感器网络之前就能提供早期的关键数据来源,从而帮助加速工业物联网应用的开发。如果快速部署带来了大量附带的软件开发要求,则可能会妨碍进行部署。在很多情况下,前述预配置型工业物联网的传感器和网关都可以避免这种情况,但若超出即用型传感器和网关功能的独特数据要求,则可能会带来相关的软件要求。

 

为了满足独特的数据要求,快速原型设计平台(例如 Arduino 和 Raspberry Pi)提供了各种各样的专用传感器和执行器作为扩展板。通过混合搭配这些扩展板,开发人员可以快速构建几乎满足任何传感器数据要求的原型设计。

 

对于物联网应用来说,制造商通过发布多传感器板来简化应用的原型设计,这些多传感器板设计具有应用通常需要的最小尺寸和功能。诸如 ON Semiconductor 的 RSL10-SENSE-GEVK 评估套件或 STMicroelectronics 的 STEVAL-STLKT01V1 SensorTile 开发套件之类开发板,则将高性能处理器与可穿戴设备和物联网设备通常需要的各种各样传感器集成在一起。例如,SensorTile 就组合了 STMicroelectronics 的 STM32L4 处理器、STMicroelectronics 的 BLUENRG-MS 收发器和一个传感器阵列,而传感器阵列则包括了该公司的 LPS22HBTR 微机电系统 (MEMS) 压力传感器、带加速计和陀螺仪的 LSM6DSMTR MEMS 惯性测量装置 (IMU) 以及带线性加速和磁传感器的 LSM303AGRTR MEMS 电子罗盘(图 6)。

 

图 6:STMicroelectronics 的 SensorTile 基于该公司的 STM32L4 处理器,提供了一个灵活的传感器系统硬件构建平台,以满足超出即用型工业物联网传感器系统支持范围的独特要求。(图片来源:STMicroelectronics)

 

作为流行的低代码开发环境,Node-RED 允许开发人员通过绘制连接功能元件(节点)的图形(流程),来对这些板卡和其他硬件系统(例如 NCD 设备和 Multi-Tech 网关)进行编程。这些流程与节点之间的交互相对应,而这些节点又对应于一些特定的功能,包括读取传感器数据、对数据执行操作、将数据传输到其他功能元件(如云网关)以及显示数据(图 7)。

 

图 7:Node-RED 开发环境能够让开发人员通过连接从广泛的开源资源库中提取的节点,来创建应用。(图片来源:National Control Devices)

 

在开源的 Node-RED 流程存储库中有超过 225,000 个模块可用,该环境提供了一个可用于开发事件驱动型应用的丰富生态系统,例如采集传感器数据并传输到云。尽管 Node-RED 提供了在生产应用中集成结果流程的方法,但它对 Node.js 的依赖可能不适用于某些应用或生产环境。

 

Digi-Key 的 DK IoT Studio 提供了另一个低代码开发环境,大幅消除了对手动软件开发的需求,同时仍提供 C 语言源代码。通过使用 DK IoT Studio,开发人员可以在 DK IoT Studio 画布上拖放与 SensorTile 的每个功能关联的组件,从而创建所需的功能(图 8)。

 

图 8:Digi-Key DK IoT Studio 通过在画布(中间)上连接作为图标放置的功能组件并根据需要修改相关特征(右侧),从创建的应用自动生成代码(左侧)。(图片来源:Digi-Key/STMicroelectronics)

 

除了支持特定的硬件组件外,该环境还提供了类似的可拖放功能组件,这些组件代表了云数据传输或云资源操作。在绘制描述数据流和操作的图表后,开发人员可以下载生成的代码,以上传到 SensorTile。在构建典型原型时,此过程几乎或完全不需要额外的代码开发。有关这一快速原型开发流程的更多信息,请阅读“快速部署电池供电型蓝牙 5 认证多传感器物联网设备”。

 

总结
大规模工业物联网应用的开发主要依赖能否获得如实呈现目标环境的数据。正如本系列文章的第 1 部分所述,尽管模拟方法可以满足许多应用的数据要求,但有些应用可能需要与目标环境精确匹配的数据。对于这些应用,要想获得有效的模拟结果,所需的投入可能不切实际。而使用现成的传感器和网关装置,则提供了一种更加简单的快速数据交付解决方案。

 

如第 2 部分(本文)所述,这些装置支持各种传感器类型和连接选项,几乎不需要用户花费什么精力。使用这些产品,开发人员可以快速部署传感器网络,从而能够交付加速工业物联网应用开发所需的数据。

关键字:工业物联网  传感器系统  机器学习  传感器网络 引用地址:加速工业物联网应用开发(二):工业物联网传感器部署

上一篇:电机驱动轴上的再生制动
下一篇:惊艳好文分享:什么是卡尔曼滤波?

推荐阅读

   2012年,英特尔、三星、台积电一起注资ASML以支持下一代EUV光刻机的研发,三家公司所占ASML的股份合起来大约是23%,金额达到38.5亿欧元。随后,三家公司均陆续减持 了所持股份。集微网消息,本周五荷兰金融市场管理局(AFM)登记处周五发布的公告显示,英特尔已将所持半导体设备制造商ASML Holding的股份减少至略低于3%。ASML是全球最大的半导体...
尽管已经有一些市场批准了基于摄像头的流媒体后视镜技术,但美国道路交通安全委员会(NHTSA)尚未做好用它来取代传统反射镜的准备。今年 8 月,路透社报道了 NHTSA 的最新动向,说明该机构已开始就这项技术展开研究。因为根据现行的法规,所有上路的车型都必须配备反光镜。但是展望未来,当局也可能强制新车带有备用的摄像头。(图自:Lexus,via Cne...
从家庭控制中智能门铃和安全摄像头的存在检测,到零售应用中用于库存的对象计数,再到工业应用中物体和存在检测,越来越多的网络边缘应用正在不断推动新型AI解决方案面市。根据IHS Markit(现Omida)的预测,2018-2025年物联网设备数量将达到400亿,截至2022年,所有企业产生的数据中近50%会在传统数据中心或云端以外的地方进行处理。 但与此同时,市场一...
偏移补偿是一种在低电平电阻测量中减小或消除热电动势 (EMFs) 的测量技术。由于热电动势 (VEMF) 存在而产生的电压偏移会对电阻测量精度产生不利影响,为了克服这些偏移电压,可以使用偏移补偿欧姆。今天安泰测试就通过实际测试案例,了解使用或不使用万用表偏移补偿功能时的测试差别。测试设备:· 一台吉时利万用表 DMM7510· 一台已设置为与DMM75...

史海拾趣

问答坊 | AI 解惑

6个好习惯让你做个优秀的开发者

1.       交谈   尽可能多地跟其他软件开发者交谈;培养个人关系;跟意见与你相左的人交流;跟经验更丰富的人交流;跟阅历丰富的人交流。多到Groups 中去,尤其是交谈自由随意的Groups——不约束主题,不约束交谈内 ...…

查看全部问答∨

把wince驱动学好到底有多难啊?

突然觉得自己掉进了一个无底洞,本来是想学应用程序,老板说驱动缺人,要我去学驱动,我对驱动一窍不通,但是想去尝试一下就答应了,学了一段时间的驱动我发现这一块什么都要懂,C、C++、还要看电路图懂硬件,晚上做梦都会梦到那些代码,在我看来想 ...…

查看全部问答∨

网络存储开发项目

网络存储开发项目 有ARM、大容量固态存储、网络设备及移动媒体播放器等开发经验的朋友请尽快联系我,有个兼职项目做! 联系方式qq和邮箱都是 ruixuerenli@sina.com 兼职qq群:34048757 …

查看全部问答∨

做DSP视频口驱动,卡住看不下去了。

    准备学习DSP视频口(VP口)的驱动,先是看操作系统和驱动开发手册,了解驱动的工作原理和程序结构,然后看VP口的工作原理,接着发现不了解数据传输协议是不行的,于是开始看了下BT.656的传输协议,结果卡在这看不动了,对于协议中场的 ...…

查看全部问答∨

单片机中文件的加入与链接如何操作?

单片机中文件的加入与链接如何操作?               谢谢大家回复!…

查看全部问答∨

点标题栏上的OK发送的是什么消息?

点标题栏上的OK发送的是什么消息?…

查看全部问答∨

LM3S9B96开发板第一个例程闪烁的LED

开发软件:KEIL4.20 大家一起玩吧…

查看全部问答∨

MSP430F5438 TA0CCR0 寄存器

MSP430F5438  TA0CCR0  寄存器中的各位详细说明有么?还是就是一个16为的数据存储器…

查看全部问答∨

MSP430之CCS和IAR的问题

最近因为好奇下载了CCS使用,发现对新手来说CSS用起来可真不方便。在IAR上测试运行通过的项目,在CSS上重建后编译的时候就因为内存不足而编译不成功;在删掉了大约100个字节的全局变量及相应的程序后,终于编译通过了,也能下载运行了,但是运行结 ...…

查看全部问答∨
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved