0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何简化存储和可视化物联网传感器的数据

电子设计 来源:郭婷 作者:电子设计 2019-02-25 09:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

物联网IoT)应用程序的设计有望产生大量数据,以便通过可操作的信息填充云。然而,对于大多数物联网开发人员而言,将数据流式传输到云并理解它需要专家级的数据交换和分析技术理解。

没有简单的方法可以实时深入分析数据流消息来源,物联网开发人员可能会发现自己很难理解数据质量问题对其应用程序整体功能性能的影响。

为了帮助解决这个问题,Initial State Technologies提供了一种开发人员可以轻松使用的分析服务深入了解物联网设备数据。然后,他们可以将其转换为可在桌面或移动设备上访问的有用信息。

嵌入式分析的需求

对于任何物联网应用,其用户感兴趣的产品是从附加到个人,设备或结构的传感器节点生成的数据流导出的可操作信息。在物联网开发人员面临的挑战中,对这些数据流的验证需要能够可视化和测量数据本身。

为此,物联网应用程序开发人员可以利用越来越多的基于云的服务来将原始数据转换为所需的结果。在这些数据处理工作流程中,数据分析为人类提供了一种关键能力,使他们能够了解数据的性质,以确保其质量,并识别工作流程中无法预料的有用事件或异常。

对于开发人员,物联网数据分析带来了一系列全新的需求,超出了Web开发人员熟悉的需求。虽然后者通常需要离线批处理大型日志文件,但物联网数据分析将大型数据存储库(“大数据”)与“快速数据”相结合。为了有效,物联网应用程序必须实时处理大量数据流以对现实事件做出反应。

企业级概念(如lambda架构和Apache Storm和Spark等工具)已经出现,为将数据分析构建到大规模物联网应用程序的工作流程中。但是,对于大多数开发组织而言,构建这些平台和创建自己的数据分析解决方案所需的时间和资源充其量只能分散注意力。因此,物联网开发人员可能会忽略数据分析,期望数据源是“已知良好”的资源,而后端代码将捕获任何问题。

事实上,物联网应用程序开发人员面临越来越多的脱节可用数据量与轻松部署的分析功能之间的关系,用于调试物联网应用程序以及向用户提供有用信息。

初始状态通过软件即服务(SaaS)解决了这一重要差距)解决方案使物联网开发人员可以在任何应用程序中部署实时分析。通过仅添加几行代码,开发人员(或客户)可以使用包含一组特定流或事件的图形显示的可自定义仪表板来显示物联网数据。

探索数据流的详细信息,Initial States'Waves工具形成一个交互式波形查看器,允许用户放大数据流。该公司的Lines工具用作多波形分析仪。与其顶级前身一样,这款基于云的工具可让开发人员实时检查,比较和测量多个信号波形(图1)。

如何简化存储和可视化物联网传感器的数据

图1:初始状态平台以多种格式呈现数据流,包括分析复杂物联网数据所需的多波形显示。 (图片来源:Initial State Technologies)

SaaS解决方案

与任何SaaS软件包一样,Initial State维护云中的服务资源,并提供简单的流媒体应用程序编程接口(API)数据。开发人员使用传统的Web GET和POST协议将数据流式传输到“事件存储桶”,后者在初始状态平台中提供存储资源。

开发人员可以使用简单的GET请求来创建存储桶:

<跨度>复制 <代码>

https://groker.initialstate.com/api/buckets?accessKey=myAccessKey&bucketKey=myBucketKey&bucketName=myBucketName

正如此请求所示,每个存储桶都是使用开发人员的初始状态私有访问密钥(由注册时的初始状态提供)和唯一存储桶密钥(由创建存储桶的工程师提供)的组合来标识的。该公司还为企业客户提供更细粒度的身份验证级别。在创建事件存储桶时,开发人员还可以提供可选的存储桶名称,稍后用于在各种初始状态图形显示中识别来自该存储桶的数据。

初始状态将数据存储为键:值对。因此,开发人员可以使用相同类型的GET请求来存储多个事件(例如,使用键eventKeyN和值eventValueN):

复制

https://groker.initialstate.com/api/events?accessKey=myAccessKey&bucketKey=myBucketKey&eventKey0=eventValue0&eventKey1=eventValue1&eventKey2=eventValue2

合并物联网数据很简单:开发人员可以通过将数据从每个源流式传输到相同的存储桶来组合来自不同来源的数据,这些存储桶由accessKey和bucketKey的全局唯一组合标识。

开发人员还可以使用常用实用程序创建存储桶和流数据作为curl发出POST请求。在这种情况下,身份验证密钥(accessKey和bucketKey)在请求标头中传递,数据键:值对在POST主体中以JSON格式传递,如下所示:

复制 <代码>

https://groker.initialstate.com/api/events

内容类型:应用/JSON

X-IS-ACCESSKEY:myAccessKey

X-IS-BucketKey:myBucketKey

接受版本:〜0

[

{

“键“:”温度“,

“value”:“1”,

“epoch”:1419876021.778477

},

{

“key” :“温度”,

“值”:“2”,

“epoch”:1419876022.778477

}

]

正如此POST请求所示,来自单个传感器(例如温度)的多个数据实例用相同的键表示。纪元值是标准Unix时间表示中提供的传感器读数的事件时间戳。因此,开发人员可以使用适当的密钥为每个传感器源轻松地从单个传感器构建基于时间的数据流,或者为多个传感器传输基于时间的数据。

而不是为每个事务构建原始http请求,开发人员可以利用Initial State或Initial State开发人员社区提供的C,JavaNode.jsPython库。例如,C库使用Libcurl发出POST请求,并提供两个函数create_bucket和stream_event,其参数直接对应于前面描述的原始GET和POST请求中使用的键和数据:

int create_bucket(char * access_key,char * bucket_key,char * bucket_name);

int stream_event(char * access_key,char * bucket_key,char * json);

分析部署

Initial State SaaS分析解决方案为新兴的现成物联网开发套件提供了现成的补充。例如,Connected Cellular BeagleBone IoT开发套件提供了一个快速实现IoT蜂窝无线节点的平台。除了完整的蜂窝电话包外,该套件还包括BeagleBone Black板,采用基于德州仪器(TI)ARM®Cortex®-A8的AM335x处理器和多种扩展接口,包括以太网USB。开发人员可以通过Seeed Technology提供的Grove斗篷板将易于使用的Grove兼容传感器连接到电路板,从而真正支持各种传感应用(图2)。

图2:使用Connected Cellular BeagleBone物联网开发套件,物联网开发人员只需插入与Grove兼容的传感器(如此处所示的光传感器)即可添加传感器功能。 (图片来源:Initial State Technologies)

开发人员可以简单地将分析插入到他们的IoT应用程序中。在连接到BeagleBone Black板之后,开发人员可以安装初始状态库,例如ISStreamer Python模块。实际上,Initial State为模块提供了安装脚本,避免了由于不正确的安装过程导致的常见问题。因此,安装只需要运行安全下载脚本的shell脚本(在带有反斜杠的curl命令之前以确保使用正确的二进制文件)并使用bash执行下载的脚本:

$ curl -sSL https://get.initialstate.com/python -o - | sudo bash

软件工程师会创建一个存储桶,其中包含一行Python代码添加到他们在板上运行的Python脚本中:

stream = Streamer( access_key =“myAccessKey”,bucket_key =“myBucketKey”)

通过调用流对象的log方法来流式传输数据值。因此,工程师会通过重复调用 stream.log(key,value,epoch)来将数据流式传输到Initial State服务。

实际上,Initial State提供了一个示例构建Python应用程序以支持Connected Cellular BeagleBone IoT Kit。在软件例程中,示例应用程序演示了一种基本设计模式,用于设置从电路板的模数转换器ADC)捕获的数据流和流光传感器值(清单1)。在这种情况下,应用程序将读数作为主观级别进行传输,相应地将其显示为相关仪表板中的图块(图3)。

复制

#Read from light sensor

从导入时间

导入Adafruit_BBIO.ADC作为ADC

从ISStreamer.Streamer导入Streamer

#Initialize the streamer

streamer = Streamer(bucket_name =“BBB Readings”,bucket_key =“myBucketKey”,access_key =“myAccessKey”)

pin =“AIN2”

< p>

ADC.setup()

虽然为True:

value = ADC.read_raw(pin)

如果值<= 250:

level =“dim”

如果251 <=值<= 500:

level =“average”

如果501 <=值<= 800:

level =“bright”

如果值> 800:

level =“非常明亮”

打印值

#Stream值

流光。 log(“:level_slider:Sensor Reading”,value)

打印级别

#Stream the level

streamer.log(“:bulb:Brightness”,级别)

#Sleep 1分钟

睡眠(60)

清单1:初始状态示例Python应用程序Connected Cellular BeagleBone物联网套件演示了一种简单的技术,用于获取传感器数据并将其传输到事件桶。 (代码来源:初始状态技术)

如何简化存储和可视化物联网传感器的数据

图3:初始状态平台允许开发人员创建每个显示分析的图形窗口或图块的仪表板源自各个IoT数据流。 (图像来源:初始状态技术)

可扩展性和扩展

开发人员可以扩展此基本模式,以实时监控和探索数据流,并设置触发器以触发文本消息或电子邮件给用户。相同的机制还可以向外部服务发送通知,例如Amazon Web Service的简单队列服务(SQS)。 AWS SQS提供可由其他分布式服务使用的基于云的消息队列。使用这些类型的服务,开发人员可以使用自定义服务轻松扩展其初始状态部署,以创建功能强大,复杂的数据处理工作流。

相反,开发人员可以将分析功能添加到已将数据泵入某个现有外部池的现有IoT应用程序工作流中。例如,工程师可以使用基于云的服务(如AWS Lambda)定期从现有的IoT数据池流式传输数据。

AWS Lambda提供了一种无响应的机制,用于执行代码片段以响应外部事件,因此开发人员无需进一步加载现有IoT应用程序资源即可部署分析。使用这种方法,可以将Lambda函数设置为定期激活并执行基本POST请求以流式传输数据(清单2)。

复制

//将数据发送到初始状态

函数sendToInitialState(accessKey,data,callback){

const req = https.request({

hostname:'groker.initialstate .com',

port:'443',

路径:'/api/events',

方法:'POST',

标题:{

'X-IS-AccessKey':accessKey,

'X-IS-BucketKey':ISBucketKey,

'内容 - 输入':'application/json',

'Accept-Version':'〜0'

}

},(res)=> {

让body ='';

console.log('状态:',res。 statusCode);

console.log('标题:',JSON.stringify(res.headers));

res.setEncoding('utf8');

< p> res.on('data',(chunk)=> body + = chunk);

res.on('end',()=> {

console。 log('成功处理的HTTPS响应');

//如果我们知道它是JSON,解析它

if(res.headers ['content-type'] ===' application/json'){

body = JSON.parse(body);

}

callback(null,body);

});

});

req.on('error',callback);

req.end(JSON.stringify(data) ));

}

物联网开发人员希望看到他们的应用程序随着客户接受度的提高而迅速扩展,而且Initial State希望其服务随应用程序一起扩展。该服务构建于AWS之上,利用专门设计的AWS功能进行扩展,以支持大量流,并在这些流中支持非常高的数据速率。此外,为了确保持续可用性,跨AWS可用区复制事件存储桶(地理区域内不同数据中心的物理多样性)。企业客户可以利用跨AWS区域的复制(位于不同地理区域的数据中心的全球规模多样性)。

结论

显示原始或转换的IoT数据的能力实时在帮助开发人员了解数据质量和为用户提供物联网应用程序本身的核心功能方面发挥着关键作用。虽然存在实施物联网数据分析的机制,但实现合适的可视化功能的能力可能会分散或延迟项目。 Initial State Software-as-a-Service平台提供了一种在物联网应用程序中部署实时数据分析的简单方法。使用此服务,物联网开发人员可以调试来自多个来源的数据流,并更轻松地向最终用户提供实时信息显示。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2574

    文章

    54382

    浏览量

    786106
  • 存储
    +关注

    关注

    13

    文章

    4696

    浏览量

    89571
  • 物联网
    +关注

    关注

    2939

    文章

    47324

    浏览量

    407925
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    锐捷助互联网数据中心网络自动可视化运维

    吉朋表示,集中在网络虚拟,以及自动可视化运维上。当前,互联网业务快速发展,服务数量激增,要求基础网络快速交付,支撑业务快速上线,同时
    发表于 01-25 09:42

    可视化MES系统软件

    ,企业的生产经营将蒙受损失。所以企业能及时正确地传达和响应这些生产过程、设备和质量信息。针对上述需求,结合联技术,研究MES系统软件可视化系统,通过部署多个传感器节点,利用RFID标签定位技术,追踪物料
    发表于 11-30 19:55

    常见的几种可视化介绍

    说说常见的几种可视化一、信息可视化信息可视化就是对抽象数据进行直观视觉呈现的研究,抽象数据既包含数值数据
    发表于 07-12 07:49

    低代码可视化开发理念在联网APP开发 精选资料分享

    低代码可视化开发理念在联网APP开发,云编排式联APP开发平台可通过云端可视化编排开发,边端远程自动
    发表于 07-19 06:14

    基于OneNET View 3.0的可视化数据监测系统的设计资料分享

    姿态定位制作说明功能说明将维特WT901C姿态传感器数据通过合宙Air724UG-4G模块将数据传输到onenet云平台,并建立onenetview可视化界面成果展示
    发表于 01-20 06:28

    联网应用程序数据可视化的工具介绍

    数据可视化是目前联网的热门话题。随着越来越多的公司将数据驱动的计划和创新融入其整体战略和运营中,数据
    的头像 发表于 05-02 14:27 2784次阅读

    关于三维数据可视化联网3D数字孪生的展现形式

    关于三维数据可视化联网3D数字孪生的展现形式和引用方式的科学技术研究。三维联网数字孪生
    发表于 01-16 10:38 2006次阅读

    深度传感器可视化体积

    深度传感器可视化体积
    的头像 发表于 12-30 09:40 838次阅读
    深度<b class='flag-5'>传感器</b><b class='flag-5'>可视化</b>体积

    使用WolkAbout联网平台可视化TTN设备数据

    电子发烧友网站提供《使用WolkAbout联网平台可视化TTN设备数据.zip》资料免费下载
    发表于 06-14 15:30 0次下载
    使用WolkAbout<b class='flag-5'>物</b><b class='flag-5'>联网</b>平台<b class='flag-5'>可视化</b>TTN设备<b class='flag-5'>数据</b>

    使用Google Charts来可视化传感器数据

    电子发烧友网站提供《使用Google Charts来可视化传感器数据.zip》资料免费下载
    发表于 06-16 10:48 0次下载
    使用Google Charts来<b class='flag-5'>可视化</b><b class='flag-5'>传感器</b><b class='flag-5'>数据</b>

    使用谷歌图表在网页上可视化无线传感器数据

    电子发烧友网站提供《使用谷歌图表在网页上可视化无线传感器数据.zip》资料免费下载
    发表于 06-16 10:39 0次下载
    使用谷歌图表在网页上<b class='flag-5'>可视化</b>无线<b class='flag-5'>传感器</b><b class='flag-5'>数据</b>

    工业联网数据可视化管理平台有什么功能

    无疑是其中的重要助力。 数之能推出的工业联网数据可视化管理平台是一种基于联网技术的设备监控管
    的头像 发表于 04-08 16:02 1007次阅读
    工业<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>数据</b><b class='flag-5'>可视化</b>管理平台有什么功能

    联网可视化监控大屏如何实现?有什么功能?

    设备的运行情况和数据变化,从而满足企业对故障管理、资产管理、生产管理、运维管理等需求,提高生产效率与管理水平。 联网可视化监控大屏的实现离不开
    的头像 发表于 04-11 09:25 1689次阅读

    联网云平台地图数据可视化

    可视化技术以其直观、高效、易于理解的特点,成为了一个不可或缺的组成部分。 联网云平台地图数据可视化功能,是指将
    的头像 发表于 07-01 17:10 927次阅读

    可视化组态联网平台是什么

    可视化组态联网平台是联网技术与组态技术相结合的产物,是通过提供丰富的图形组件和
    的头像 发表于 04-21 10:40 698次阅读