So easy!Zephyr操作系统+Arduino开发板变成一款心率监测器

发布者:温雅如风最新更新时间:2017-05-25 来源: eefocus关键字:Arduino  Zephyr 手机看文章 扫描二维码
随时随地手机看文章

“大健康”概念提出以后,作为医院外补充医疗的可穿戴设备掀起一股发展热潮,心率监测仪作为一款常见的监测设备很受欢迎。它不仅价格便宜,而且体积小携带方便,随时随地都能测试,并给用户提供实时监测结果,让用户及时了解健康状况并采取合适的治疗方式。那么对于开发者来说,如何快速开发一款心率监测仪?今天,我们就手把手教你采用Zephy操作系统在Arduino 101开发板上搭建一款心率监测仪。

先来了解一下心率检测仪的组成部分,一般包括硬件部分和软件部分。硬件部门主要完成的功能包括数据采集、数据传输和数据显示,软件部分主要进行数据转换和分析。我们采用的Arduino 101开发板上有一个英特尔居里模块,英特尔Quark SE处理器有两个核:一个用于控制传感器子系统的ARC内核,一个用于控制蓝牙低功耗芯片的X86内核。Zephyr操作系统非常适用于资源受限的物联网设备,从简单的嵌入式环境传感器和LED可穿戴设备,到精密的智能手表和物联网无线网关都能覆盖。与其它实时操作系统相比,Zephyr操作系统支持丰富的I/O驱动,具有高可配置性,编译时可进行资源定义,这使得它非常适用于快速原型开发;对于特殊应用案例易于优化。同时,它不仅支持板上的所有传感器接口,还能够通过IPM机制实现双核之间以及蓝牙到其它设备之间进行数据交换。因此在资源配置方面,Arduino 101开发板和Zephyr操作系统可以满足心率监测仪的设计需求。

我们将从以下几点来展示心率监测器的设计过程,包括:如何从脉冲传感器读取模拟数据并监测心率?如何在Grove RGB LCD上现实心率和心跳?如何通过低功耗蓝牙连接发送心率数据到智能手机?所有的源代码主要基于Zephyr提供的样例,通过这个设计用户将会更加了解Zephyr操作系统的详细使用方法。

硬件搭建
与其它Arduino开发板类似,必须用到USB type B连接线把应用程序烧制到Arduino101开发板的系统闪存,它同时给开发板供电。FTDI USB TTL串行连接线在调试时从串行接口中抓取数据。Grove RGB LCD的工作电压为5V,采用SCL和SDA线通过I2C总线与Arduino 101进行通信。Arduino 101开发板在工作电压为3.3V时,没有内部上拉电路,我们需要创建一个:

    将3.3V引脚连接到两个10K 欧姆的电阻上;
    将SCL和SDA引脚连接到上拉电路上;
    将SCL和SDA引脚将转到Grove RGB LCD显示屏的对应引脚上;
    把5V和地引脚分别从开发板上连接到显示屏上的对应引脚;

脉冲传感器能够在3.3V或5V电压下工作,在Arduino 101开发板上我们采用3.3V。有三路线连接到传感器,红线连到3.3V,黑线接地,紫色线接到模拟输入 A2,开发者能够通过ADC-CHANNEL 在代码种定义任何引脚,从A0到A5。注意: 手指上的汗水可能会导致短路,从而损坏传感器,需采取适当的预防措施,避免造成短路。
 



Arduino 101开发板采用数字引脚0和1发送和接收串行数据,连接下面的引脚和线:
    板子上的引脚0(RX)连接到橘红色线,USB FTDI的引脚5(TX);
    板子上的引脚1(TX)连接到黄线,USB FTDI线缆的引脚4(RX);
    最后把地连接到黑线,FTDI线缆的引脚0(GND)

 


图1: 面包板搭建电路


图1展示了一个如何使用面包板连线到设备的案例。两个10K欧姆的电阻用于搭建上拉电路。它们一端连接到3.3V输出,另一端连接到SCL和SDA,这将信号传输到LCD。脉冲传感器与上拉电路(红色电缆)共用3.3V线,并使用A2引脚将模拟数据发送到电路板。棕色和橙色跳线的一端连接到引脚0和引脚1,另一端分别连接到USB FTDI卡的TX和RX。
 


图2:Proto Shield的后侧(左图)和前侧(右侧)


图2展示了Arduino Proto Shield rev. 3,电路原理和面包板类似,只是被焊接板代替了。Shield为电路提供了方便的5V和GND连接。7引脚连接器的引脚0和引脚1弯折后连接到3.3V和地引脚,而其它五个引脚进入模拟输入端口。

 


图3:硬件设置(左)和心率监测器内部示例(右)


图3展示了硬件内部植入一个案例之前和之后的设置。Proto Shield具有Arduino 101开发板完全相同的外形尺寸,因此你可以使用一些长的M3螺栓将它们固定在一起。这样硬件就设置好了,接下来开始进行软件搭建。

软件搭建
Zephyr编程环境需要设置,以用来构建和烧录应用程序。Arduino 101开发板带有一颗Nordic半导体的nRF51蓝牙低功耗控制器。Zephyr不支持此控制器上的Arduino 101出厂安装固件,因此需要将其新闪存按照Zephyr网站上的说明,将新固件烧录到板上。步骤如下:

获得应用资源代码:
$ git clone https://gerrit.zephyrproject.org/r/heartrate-monitor

构建并烧录ARC应用,代码如下:
    $ cd heartrate-monitor
    $ make pristine && make BOARD=arduino_101_sss_factory ARCH=arc
$ sudo -E dfu-util -a sensor_core -D output/zephyr.bin

构建并烧录X86应用,代码如下:
$ make pristine && make BOARD=arduino_101_factory ARCH=x86
$ sudo -E dfu-util -a x86_app -D output/zephyr.bin

连接智能设备
支持BLE的便携设备可以用于连接到Arduino 101开发板。这个示例已经被iPhone的默认健康APP和安卓设备的nRF 工具盒子测试过了。

   


图4:iOS健康APP(左)和nRF工具盒子APP(右)屏幕截图



在iPhone上,按照以下流程操作:
1.打开“设置>蓝牙”扫描并与Zephyr健康心率监测器配对;
2.启动健康APP;
3. “健康数>器官>心率”;
4.将手指放在脉冲传感器上;
5.过几秒,心率数据会出现在Grove LCD和健康APP的屏幕上;

安卓手机上,按照以下流程操作:
1.打开nRF工具盒子;
2.转到HRM,并启用蓝牙功能;
3.选择连接,并将手机与Zephyr健康心率监测器配对;
4.将手指放在脉搏传感器上;
5.几秒钟后,心率数据就会出现Grove LCD和应用程序屏幕。

 


图5:数据流传输



图5描述了实例中的数据流。应用程序在ARC处理器上运行,通过ADC接口从脉冲传感器采集数据。它分析数据并判断这个数据是否代表心率。当ARC APP监测到心跳时,它会在Grove LCD上显示心率,并且刷新LCD显示的节拍。同时,应用程序APP会通过IPM将心率数据发送到X86端。然后,X86应用程序接收心率数据并且通过IPC控制nRF51蓝牙芯片,使用BLE心率描述规范给已连接的设备通知更新数值。

怎么样?看完以上的几个步骤,作为开发者你还觉得设计心率监测器很难吗?有Zephyr操作系统和Arduino 101开发板就够了,同时Zephyr还提供很多传感器APP示例程序,Arduino 101开发板资源配置丰富,而且简单易用。你的心率监测器设计之路从这里开始吧!


关键字:Arduino  Zephyr 引用地址:So easy!Zephyr操作系统+Arduino开发板变成一款心率监测器

上一篇:QLED电视亮相台湾,三星鼓吹的“3Q”都是啥
下一篇:智能音箱会是智能家居广泛采用的催化剂吗?

推荐阅读最新更新时间:2024-05-03 01:12

Arduino做一个axidraw画图机器人
AxiDraw由一支名为Mad Scienst的设计团队开发,可以在大部分平坦的表面写字和画画,支持日常用的圆珠笔、铅笔、钢笔等,可以在A4纸或更小尺寸的表面上书写。AxiDraw握笔位置是延伸到本体之外,因此书写范围更加广。
[机器人]
小信号双线变送器XTR101的原理和应用
    摘要: 在恶劣的工业环境下远距离传送微北信号是测量系统的关键问题,B-B公司生产的XTR101型小信号双线变送器是一个理想的解决方案。本文介绍了它的性能和工作原理,给出了设计举例和应用电路,最后指出了使用中的一些注意事项。     关键词: 变送器  测量  零点调整  失调被偿  泠端补偿  XTR101 1 概述     XTR101是一个精密、低漂移的双线变送器,它可以把微弱的电压信号进行放大并变换成4mA~20mA的电流信号后进行远距离传送。它由一个高精度的仪表放大器、压控输出电流源和2个精密的1mA电流源组成,图1是它的简化方框图。     XTR101的失调电压为30μV,温漂0
[半导体设计/制造]
Arduino Atmega328P烧写bootloader及熔丝
0.前言 买到的新的Atmega328P芯片,需要对其烧录bootloader和熔丝才能正常使用,此处记录我烧录的过程。 参考资料1 1.硬件配置 AVR下载器,如图: Atmega328P最小系统,且留出ISP接口,即5V,MISO,MOSI,SCK,GND,RESET 连接AVR和Atmega328P的相应引脚 其中,AVR下载器的实际引脚如图: 2.烧录步骤 2.1.安装AVRDUDESS软件 2.2.检测MCU AVR和Atmega328P连接好之后,把AVR下载器插入电脑。然后打开AVRDUDESS软件,选择如下操作: 正常的话电机Detect后就可以识别出来MCU的型号。但是有可能会遇
[单片机]
<font color='red'>Arduino</font> Atmega328P烧写bootloader及熔丝
LittleBits变身 加入可编程Arduino模块
LittleBits的“世界版图”如今扩大了一点儿,因为,它推出了全新的Arduino模块! 什么是LittleBits 如果你对LittleBits还不太熟悉,那么在此先简单介绍一下,它是一种可以组装的DIY电子元件套装,和乐高积木有些相似。可以说,它是一种 “不是玩具”的玩具。每一个“bit”都是一个独立的电子组件,比如一个扬声器,一个光传感器,或是一个闪烁的LED灯。把这些电子原配件组装在一起,就能制作出很酷的东西出来,而且没有任何编程要求。 可能这么说还不够直观,举个例子:如果你希望别人进入你房间时有声音提示,可以将电源模块和运动触发器模块连接起来,再将运动触发器连接到蜂鸣器模块就可以了。如果你不想使用蜂鸣器,而是喜
[嵌入式]
LittleBits变身 加入可编程<font color='red'>Arduino</font>模块
HDYZ-101氧化锌避雷器综合测试仪试验接线方法
参考接线 带电情况下接线请注意安全,请保证测试线夹子与被试品接触可靠,如有锈迹或氧化层请清理后连接。 本仪器有线方式和无线方式所测得的数据完全一致,用户完全不用担心因使用无线方式而带来测量误差。 5.1、三相PT参考A、B、C三相阻性电流无线方式测量接线 ①开始测试前先将“参数设置”菜单里面的通信方式设置为“无线”。 ②如果PT箱在室内时,请尽量将无线通信单元置于窗台外面无遮挡位置,以保证测量顺利进行。 5.2、三相PT参考A、B、C三相阻性电流有线方式测量接线 ①开始测试前先将“参数设置”菜单里面的通信方式设置为“有线”。 ②在有线测量方式下,无线通信单元无需使用。 5.3、B相PT参考A、B、C三相
[测试测量]
HDYZ-<font color='red'>101</font>氧化锌避雷器综合测试仪试验接线方法
芯科科技与Arduino携手推动Matter普及化
双方的合作可助力开发人员在两分钟内将新开发板配置入网 致力于以安全、智能无线连接技术,建立更互联世界的全球领导厂商Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB)日前宣布,公司与开源硬件和软件领域的全球领导者Arduino建立了新的合作伙伴关系,将支持Arduino开发者社区的3,300万用户更好地实现Matter over Thread应用的无缝开发。Arduino的首个Matter软件库是与芯科科技合作开发的,目前可在芯科科技的xG24 Explorer套件和基于xG24的SparkFun Thing Plus Matter - MGM240P开发板上使用。 芯科科技大众市场销售和应用副
[嵌入式]
芯科科技与<font color='red'>Arduino</font>携手推动Matter普及化
霍尼韦尔推出ZEPHYR数字式气流传感器
日内瓦2010年5月20日电 /美通社亚洲/ -- 霍尼韦尔于2010年4月12日推出霍尼韦尔 Zephyr(TM) 数字式气流传感器,它们能在传感器工作范围内提供业界最精确的气流读数。新的 HAF 系列产品提供高准确度的数字式输出、增强的可靠性和可重复的测量结果,能满足很多医疗和工业应用规范的要求。 霍尼韦尔 Zephyr(TM) 数字式气流传感器具有其他数字式气流传感器所没有的几个竞争优势,其中包括: - ±2.5%指示误差的高准确度,达到非常精确的气流测量,对于有高准确度要求的条件苛刻的应用来说经常是非常理想的; - 客户化定制,它允许传感器按照满足最终用户的特定需求来设计; - 在非常低的流量下具
[传感器]
新版Arduino Uno WiFi Rev 2在贸泽开售
专注于引入新品并提供海量库存的电子元器件分销商贸泽电子 ( Mouser Electronics ) 即日起开始备货 Arduino 的 Uno WiFi Rev 2 板。Uno WiFi Rev2 是Arduino 第一款搭载AVR®的原生 物联网 (IoT) 电路板,采用常见的Uno R3尺寸,其中集成了8位微控制器、Wi-Fi模块、 传感器 和硬件安全性。此全新电路板可满足持续增长的物联网市场对 无线 连接和 低功耗 的需求。 贸泽备货的 Arduino Uno WiFi Rev 2 采用Microchip Technology全新的 ATmega4809 megaAVR® 微控制器。ATmega4809拥有独立
[物联网]
新版<font color='red'>Arduino</font> Uno WiFi Rev 2在贸泽开售
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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