如何用最简单的方式获取传感器数据?

发布者:Xiaohan521最新更新时间:2019-03-13 来源: ZLG致远电子关键字:传感器  数据 手机看文章 扫描二维码
随时随地手机看文章

传感器作为各个领域最重要的设备之一,产品种类之多,应用领域之广,随着“智能时代”的到来,传感器的使用将发挥更加关键的作用。那么,要如何以最简单,最高效的方式使用这些种类繁多,操作复杂的传感器呢?本文将为大家一一介绍。

传感器作为一种检测装置,它的应用早已渗透到诸如工业生产、宇宙探索、海洋探测、环境保护、资源调查、医学诊断、生物工程、甚至文物保护等等极其之广泛的领域。可以毫不夸张地说,从茫茫的太空,到浩瀚的海洋,以及各种复杂的工程系统,几乎每一个现代化项目,都离不开传感器。

目前,市面上已经存在大量各种类型,各种型号,不同厂家生产的各种传感器,例如,温度、湿度、电压、电流、压强、光照、加速度、角速度等等。它们的应用场景、产品参数、使用方法都不尽相同,这往往使许多项目开发人员在使用传感器时举步维艰:添加一个传感器,就要编写对应的驱动,提供一套访问这个传感器的接口。

通常情况下,在一个复杂的系统中,传感器往往不止一个,可能存在几个或几十个甚至更多不同种类的传感器,若这些传感器的使用接口都不相同,那么可想而知,软件方面的工作量和复杂度又会有多大?无形中又增加了很大的开发难度。不仅如此,若基于多种传感器开发的应用程序想跨平台复用,而底层各个传感器的接口却千奇百怪,那么,这样的工作量和复杂度又会上升到什么程度?

为了解决这些问题,AWorks定义了通用的传感器接口,适用于各式各样的传感器,只要是挂载在AWorks系统中的传感器,都可以通过相同的操作接口来访问。同时,只要是基于这些通用接口开发的应用程序,都不会与具体的硬件设备绑定,换句话说,底层更换使用不同型号的传感器,对应用程序不会造成影响,应用程序可以不做任何改动。

从功能上看,传感器实现了对真实世界中某种物理信号(温度、湿度、气压等)的采集,在使用传感器时,最重要的操作就是从传感器中获取出相应的数据。接下来,进一步介绍如何通过接口获取传感器数据作。

1、传感器通道ID

在介绍接口的使用方法之前,需要简单了解一个概念,AWorks之所以能够实现使用一套相同的接口访问所有类型的传感器,是因为AWorks对系统中的传感器进行了统一的管理。为了实现对各式各样的传感器进行统一管理,在AWorks中,定义了“传感器通道”的抽象概念,一路传感器通道用于完成一路物理信号的采集,系统为每个传感器通道分配了一个唯一的ID。例如,若此时系统中存在三个传感器,分别为温湿度传感器HTS221(能为系统提供一路温度和一路湿度通道),三轴磁传感器LIS3MDL(能位系统提供X,Y,Z轴三路磁数据通道和一路温度通道)和光照传感器BH1730(能为系统提供一路光照度采集通道),则对应的ID分配范例详见表 1。

表1 传感器通道id分配

按照以上的传感器通道ID分配方式,理论上,系统中可以挂载无数个各种类型的传感器,新加入的传感器通道只需按照以上方式依次向后分配ID即可。通常情况下,该ID号的分配已经由系统完成,无需我们自行分配,我们只需简单知道当前系统中的有效ID号所对应的传感器通道类型即可。例如,当前AWorks系统中存在的传感器如表1所示,有三个传感器,ID号为0~6,下文中函数接口ID的使用将以此为例。

2、获取传感器数据

基于以上对传感器ID的描述,此时若想获取传感器的数据,只需在应用程序中调用获取传感器数据的函数接口即可,获取传感器数据的函数接口如下:

其中,id即为传感器通道ID号,p_val为存放对应ID的传感器数据。此处aw_sensor_val_t类型为一个结构体,只需知道它是一个保存传感器数据的变量即可。

基于此,获取系统中任意传感器通道的数据只需调用该接口即可,例如,每隔500ms获取一次温度采样数据的程序范例如下:

同样,若想获取光照度传感器采样数据,程序范例如下:

以此类推,只需要调用这一个相同的接口,便可以依次获取系统中所有传感器的数据。此时,或许有人会疑问,系统中那么多传感器,一个一个调用该接口,会不会显得繁琐?对于该问题,AWorks系统当然给出了答案,那就是提供同时获取多通道或者所有通道传感器数据的接口,该接口原型如下:

其中,p_ids为指向传感器通道id列表的指针;num表示通道的数目,即id列表的大小;p_buf指向用于存储各通道数据的缓存,缓存大小与num一致。基于该接口,可以同时获取多个或所有系统中传感器的采样数据,例如,每隔500ms获取当前表 1中所有的传感器通道采样数据的程序范例如下:

基于此,AWorks系统的传感器接口已经完美的实现了使用同种接口获取所有传感器采样数据的功能。此时,或许有人又会提出疑问,这两个接口采用的似乎都是轮询的方式获取传感器数据,若在效率要求较高的场合,调用该接口是不是不太好呢?再者说,如今的许多传感器都可以采用中断触发的方式获取数据,这样可以大大提高应用程序的效率,那么能不能实现这种功能呢?当然!AWorks同样提供了这种接口,而且接口的调用非常方便,简洁。接下来将为你一一揭秘。

3、触发方式获取传感器数据

如今大多数传感器内部都支持了通过中断触发的方式通知应用程序获取传感器数据的功能,应用程序只需检测触发类型做相应的处理即可,这样大大提高了应用程序的执行效率,避免了以查询这种耗时的方式主动获取传感器数据的操作。

传感器具有的触发方式一般由传感器本身决定。例如,温湿度传感器HTS221具有的可配置触发方式只有数据准备就绪触发;三轴磁传感器LIS3MDL具有的可配置触发方式有数据准备就绪触发和上下门限值触发。接下来将只以数据准备就绪触发方式,讲解如何高效的获取传感器数据。

在AWorks中,要实现通过触发方式获取传感器通道数据,只需要两步操作即可,第一步是配置传感器通道的触发回调函数,第二步则是打开该通道的触发。

首先,配置传感器通道触发模式的函数原型如下:

其中,id为传感器通道的编号,flags参数为配置的触发模式对应的宏(此处只以数据准备就绪触发举例,其所对应的宏在AWorks中定义为AW_SENSOR_TRIGGER_DATA_READY,直接传入即可),pfn_cb为触发回调函数,p_arg为用户触发回调函数参数。触发回调函数的类型为aw_sensor_trigger_cb_t,定义如下:

其中,p_arg为用户触发回调函数参数,trigger_src为存放的触发类型。例如,此时要配置三轴磁传感器LIS3MDL的X轴采集通道(表1通道2)的数据准备就绪触发,程序范例如下:

当以上程序完成通道的触发方式的配置后,接下来,只需打开该通道的触发即可,该函数接口的定义如下:

该函数接口只需传入id即可。注意,aw_sensor_trigger_on函数接口必须在aw_sensor_trigger_cfg接口之后调用,先后顺序不能颠倒

此时,要通过触发方式获取三轴磁传感器LIS3MDL的X轴采集数据的完整程序范例如下:

通过以上的接口,完美的实现了一种接口访问所有传感器数据的功能,并且这些接口可以在任何运行AWorks操作系统的平台上使用,且无论平台中的传感器类型和数目如何变化,只需要知道该平台传感器通道的ID信息,则都可以使用这些通用接口来进行访问。只要是基于该通用接口开发的应用程序,只要是在AWorks系统中,应用程序能实现“零”修改的移植。在软件意义上,真正实现了“一次编程、终生使用、跨平台”的历史难题。

4、总结

AWorks是ZLG历时12年开发的下一代开源嵌入式开发平台,将MCU和OS的共性高度抽象为统一接口,支持平台组件“可插拔、可替换、可配置”,与硬件无关、与操作系统种类无关的方式设计,用户只需修改相应的头文件,即可实现“一次编程、终生使用、跨平台”。

并且ZLG推出了一系列搭载AWorks操作系统的Cortex-M0/3/4/7、Coterx-A7/8/9、ARM7/9、DSP等常用内核的核心板。使用这些核心板,即可在AWorks平台上快速完成产品开发。


关键字:传感器  数据 引用地址:如何用最简单的方式获取传感器数据?

上一篇:新型传感器在交通设备被破坏时可发送警报
下一篇:蜂窝窄带物联网结合传感器可监测预警地质灾害

推荐阅读最新更新时间:2024-03-16 11:32

用于嵌入式温度测量的磁性纳米传感器
美国NIST的热磁成像与控制项目正在开发纳米级别的温度传感器 位于马里兰州的美国国家标准与技术研究所(NIST)的研究人员正在开发一种纳米级超灵敏温度传感器阵列,据悉,这种传感器可以嵌入到各种材料中。 该系统将是第一个在不透明的三维体积中对微观温度进行实时测量的系统,其中可能包括医用植入物、冰箱、电子设备,甚至是人体。 该团队介绍,热磁成像和控制(Thermal MagIC)项目可能会给生物学、医学、化学合成、制冷、汽车工业、塑料生产等许多领域的温度测量带来革命变化。NIST的物理学家Cindi Dennis:“几乎任何地方的温度都起着关键作用。”“这是无处不在。” Thermal MagIC将通过使用
[传感器]
用于嵌入式温度测量的磁性纳米<font color='red'>传感器</font>
利用isoSPI数据链路来实现高性能车载电池管理系统
引言 对于被设计到HEV、PHEV和EV动力传动系统中的 电池 组而言,实现高可靠性、高性能和长寿命的关键因素之一是电池管理系统(BMS)中所使用的电子组件。目前为止,大部分电池组设计采用了集中式的实用BMS硬件,局限于在规模较大的装配中。特别是,电池和相关设备的电气噪声工作环境对数据通信链路提出了非常严格的要求,而通信链路承载了车内关键信息的传输。应用广泛的CANbus能够处理这类噪声,但是原始BMS数据的数据吞吐量需求及其相关组件成本导致无法在结构化吸引的设计中采用模块化和分布式电池模块,特别是在提供好的分配重量上。运用标准芯片级串行外设接口(SPI)的isoSPI物理层自适应技术,从而释放成了本效益型分布式电池组架构的全部
[电源管理]
利用isoSPI<font color='red'>数据</font>链路来实现高性能车载电池管理系统
一种无线数据采集及远程监测系统的设计
  在工农业生产中,对于采集数据的传输大多采用有线方式,因为有线方式的传输距离、数据传输速率以及抗干扰能力都要优于无线方式;然而对于在野外或者不便于铺设线缆的地区进行数据采集传输时,采用有线方式就受到了限制。针对这一特点,设计了采用无线传输方式的无线数据采集及远程监测系统。系统选用Cygnal公司的C8051F020单片机作为微控制器,集数据采集、存储、无线传输为一体,并实现通过GSM短消息进行远程监测和报警的功能。整体结构框图如图1所示。   1 系统总体结构及硬件设计   1.1 系统结构   如图1所示,系统分为主机和从机两部分,从机将从传感器上采集的数据通过无线收发单元发送给主机,主机收到数据后,将其在显示单元显示
[工业控制]
3D智能传感器在机器人中的应用
机器人在工业自动化领域中的应用正以极大的步伐向前发展。已有越来越多的制造商行动起来,让简单的重复性工作脱离人工,转而使用中小型的协作式机器人,以便发挥出它们的准确性和效率优势。 机械手的意义 虽然机器人也可以执行精细的任务,如视觉引导或基于动作的扫描,但经验告诉我们,眼下大多数机器人的自动化应用就是机械手,即需要机器人系统定位工件并将其从一个单元移动到另一个。这些工件可整齐或随机地排列在移动的传送带、叠放的料仓或托盘上。 此类系统通常会涉及到一个带有真空或气动抓取机制的机械臂,以便机器人能够接触不同表面上的工件并在避免碰撞的前提下有效地将工件运送到目标位置。一些专业化的应用则需要带有“手指”的机械抓取机构,以便能对工件进行
[机器人]
拉绳位移传感器信号输出方式
  拉绳位移传感器又称拉绳传感器,是一种常用的测量仪器。我们在使用拉绳位移传感器的时候对于它的使用知识都是需要掌握的,今天小编主要来为大家介绍一下拉绳位移传感器信号输出方式吧,希望可以帮助到大家。   拉绳位移传感器是一种新型而简便的长度位移传感器,用途非常广 泛,具有结构紧凑、测量行程长、安装空间尺寸小、测量精度高,可靠性好,寿命长,维护少 等优点。另外,拉绳位移传感器安装使用方便,适合许多危险场合应用,广泛应用与测量领域。   拉绳位移传感器信号输出方式   拉绳位移传感器信号输出方式分为数字信号输出和模拟信号输出,数字输出型可以选择 增量旋转编码器、绝对值编码器等,输出信号为方波 ABZ 信号或格雷码信号,行程最大可 以做
[测试测量]
指针式万用表标尺上数据的读取方法
标度尺上一般只有一组数字(交、直流公用标度尺有两组或三组数字),但对应每一测量项目却有数种量限,而且标度尺的刻度有均匀与不均匀两种,故在测量中应细心读取数据。下面以mf47型万用表交、直流公用标度尺(均匀刻度)和欧姆标度尺(非均匀刻度)为例来说明怎样读取标度尺上的数据。 交、直流公用标度尺下面有50、100、150、200、250,10、20、30、40、50和2、4、6、8、10三组数字(为选取不同量限时便于读数换标而设置),它们分别包含5个直流电流挡:0~50μa,0~0.5ma,0~5ma,0~50ma,0~500ma;5个交流电压挡:0~10v,0~50v,0~250v,0~500v,0~1000v;8个直流电压挡:0
[测试测量]
日本瑞穗证券:英特尔数据中心芯片占有率或将继续下滑
据日本瑞穗证券(Mizuho Securities)报告,英特尔下一代Xeon(至强)服务器芯片“Sapphire Rapids”量产时间可能再次延后,可能今年第三季度才能量产出货。 报告称,英特尔第三代Xeon服务器芯片“Ice Lake”的产量今年将增长50%。同时为了维持市场占有率,英特尔不会调涨Ice Lake的售价。这种方式将有助于阻止AMD继续在数据中心芯片市场攻城掠地。 然而,瑞穗证券援引浪潮系统副总Dolly Wu的说法,指出英特尔第四代Xeon芯片Sapphire Rapids原定第二季度开售,如今也许会延迟到第三季度量产。瑞穗证券认为,Sapphire Rapids物料成本大增,影响英特尔生产,该公司的数据
[手机便携]
日本瑞穗证券:英特尔<font color='red'>数据</font>中心芯片占有率或将继续下滑
WB系列电量隔离传感器/变送器选型
    摘要: 在概述了电量隔离传感器/变送器的基本特性及功能的基础上全面介绍了WB系列电量隔离传感器的主要用途、分类特点和选型方法,给出WB系列电量隔离传感器/变送器的命名方法和各种类型器件的引脚排列。最后给出了几种WB系列器件的电路连接方法。     关键词: 电量  测量  隔离  传感器  变送器  WB系列 1 概述     WB系列电量隔离传感器/变送器是根据自动控制和数据采集技术发展的需要而研制开发的新一代高性能电量检测产品。     电量隔离传感器/变送器可以对电流、电压、频率、功率、相角、功率因数等电参量进行高速、高精度的隔离测量和变换,也可以对微弱的电量信号进行高速、高精度地隔离放大和传
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新安防电子文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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