资料介绍
描述
介绍
沉默的杀手是医学界人士对高血压或高血压的称呼。他们还给糖尿病、前列腺癌甚至一氧化碳赋予了相同的名称。今天我们只关注高血压,因为根据美国心脏协会的说法,如果不被发现(或不受控制),高血压会导致很多事情,包括心脏病。根据疾病控制和预防中心 (CDC)的说法,这反过来又是美利坚合众国的主要死因。在其他组织中,国际高血压学会 (ISH)也赞同这些发现和准确测量的重要性。
既然我引起了您的注意,我虚构的法律团队建议我给出以下免责声明:
此处所做的声明尚未经过食品和药物管理局的评估。本产品不用于诊断、治疗、治愈或预防任何疾病。
我不是医生,我什至从来没有在电视上玩过。我还应该提到,与现实的任何相似之处纯属巧合。
我们都放弃了,让我们把这个节目放在路上吧。
比赛计划
这是我在 AVR-IoT WG 板上发布的第二个项目。在第一个项目中,我们将开发板连接到私有 Google 云,将所有接收到的数据保存在 Firebase 中,并在 Google 表格中仅显示最新的血压监测 (BPM) 数据。在这个项目中,我们将所有数据直接保存在 Google 表格中。我们将在这个项目中使用 Arduino IDE,因为它降低了许多新创客的进入门槛。在收到关于我之前的 AVR-IoT WG 项目和Helium Network GPS Tracking Directly In Google Sheets项目的良好反馈后,我正在使用 Google 表格。
AVR-IoT WG 将连接到 Wi-Fi 并将数据发送到 Google Sheets,这意味着我们将仅在 Arduino IDE 和 Apps Script 中编码。建立连接后,BPM 将进行测量,结果将通过简单的 HTTPS POST 请求发送。Apps 脚本随后将解析数据并填充 Google 表格。
如果您还记得我们在介绍中谈到“准确测量的重要性”。美国卫生与公众服务部国立卫生研究院国家医学图书馆国家生物技术信息中心研究了环境温度对血压的影响:

因此,我们不仅会发送收缩压、舒张压和心率值,还会发送环境温度和时间戳,为我们的数据提供一些背景信息,以便医疗保健专业人员进行更准确的解释。最后,为了使数据更易于访问,我们将以 Google 表格格式呈现。
在我们深入之前需要注意的几点:
收集信息

这是文档中最有用的图表之一。我们可以从AVR-IoT_WG_Schematics.pdf获得一些信息。我们需要的第一件事是 CryptoAuthentication 的 I2C 地址,这样我们就可以获得序列号并避免在我们部署的每个设备中手动硬编码值。我们需要获取的下一个 I2C 地址是温度传感器的地址。

我们不需要对 SPI 做任何事情,因为 ATmega4808 和 WINC1510 已经连接。但是,我们需要从原理图中找到 CHIP_EN、RESET、WAKE 和 IRQN 的引脚编号。我们也可以从 MPLAB X IDE 获得相同的信息。

硬件
AVR-IoT WG 开发板结合了功能强大的 ATmega4808 AVR® MCU、ATECC608A CryptoAuthentication™ 安全元件 IC 和完全认证的 ATWINC1510 Wi-Fi® 网络控制器 - 提供了将嵌入式应用程序连接到 Google 云端的最简单有效的方法物联网核心平台。该板将用于从非智能 BPM 中获取数据并将其发送到谷歌云。

在等待我的 BPM 到达时,我偶然发现了 YouTube 上的一段视频,其中Circuit Desolator 拆解了三个不同的 BPM。他的目标是通过每个设备上的内部集成电路 (I2C) 总线接入电可擦除可编程只读存储器 (EEPROM)。一旦设备完成测量,它会将结果保存在 EEPROM 中,然后可以轻松检索数据。这种方法需要一些拆卸和精密焊接。对我来说,那将是 B 计划。
我的想法略有不同。我一收到并测试了 BPM,就拆开了它,然后我寻找了一个串行端口。最好的情况是,我会发现通用异步接收器/发送器 (UART) 的四个孔彼此相邻,我必须找出哪个是 Vcc、GND、Tx 和 Rx。

第二个挑战是确定电压电平。由于此 BPM 在两个 1.5 伏电池上运行,因此电压电平不太可能为 5 伏。我测量了 3.3 伏特,现在我已准备好迎接下一个挑战,即找到波特率。我使用我的 FTDI 和以下Python 脚本来回答这个问题:
import serial.tools.list_ports as ports
import serial
BaudRates=[110, 150, 300, 600, 1200, 2400, 4800, 9600,
14400, 19200, 28800, 31250, 38400, 57600,
115200, 128000, 230400, 256000, 460800, 921600]
for p in ports.comports():
for b in BaudRates:
with serial.Serial(p.device,b,timeout=3) as s:
print(s.name + ' ' + str(s.baudrate) + ' ' +
s.read(100).decode('unicode_escape'))
exit()
我必须打开 BPM 才能开始从 UART 读取数据。给我可读文本的波特率为 38400。AVR-IoT WG 的一个 USART 将使用该数字从 BPM 读取数据。

如果您对 Python 感到不舒服(恐惧症),您也可以通过使用 Arduino IDE 串行监视器并尝试窗口右下角的所有波特率来得出相同的结论。

在我们离开本节之前,我想指出我更喜欢使用 UART 而不是 I2C,因为我希望能够在未来扩展这个项目。除了从设备读取之外,我们还可以通过 UART 向设备写入。目前,我们只需将 AVR-IoT WG 的电源和接地连接到 BPM,并将 BPM 的 Tx 连接到 AVR-IoT WG 的 Rx。AVR-IoT WG 和 BPM 开/关按钮之间还需要一个连接。我们需要它,因为一旦我们为 BPM 供电,它就会进入设置模式。因此,我们需要退出该模式,然后打开设备以开始测量过程。
软件 - Arduino IDE

首先; 我们需要按照此处列出的步骤在 Arduino IDE 中安装开发板。我们还需要为 CryptoAuthentication、Wi-Fi 和温度传感器安装三个库。

需要在 Arduino IDE 之外进行的唯一修改是在 C:\Users\
ECCX08Class ECCX08(Wire, 0x60);
至
ECCX08Class ECCX08(Wire, 0x58);
这里需要注意的一点是 MPLAB X IDE 中的 I2C 地址是 7 位左对齐 (0xB0),因此我们不能在不先右移(除以 2)的情况下使用它。

请注意,我们在 C:\Users\
软件 - PlatformIO(可选)
相同的 Arduino 代码适用于 PlatformIO。文件 platformio.ini 应包括以下内容:
[env:avr_iot_wg]
platform = atmelmegaavr
board = avr_iot_wg
framework = arduino
build_flags = -DARDUINO_AVR_ATmega4808
upload_protocol = pkobn_updi
lib_deps =
arduino-libraries/WiFi101@^0.16.1
adafruit/Adafruit MCP9808 Library@^2.0.0
arduino-libraries/ArduinoECCX08@1.3.5
请注意,一旦 PlatformIO 为我们安装了库,我们必须更新 I2C,如上所示。
软件 - Apps 脚本
当您与医生预约时,他们会要求您提前 15 分钟到场,以填写三份与您在网上注册时提供的相同信息的文件。也就是说,你在没人会看的纸上写下你的姓名、地址、电话号码和社会安全号码三遍。如果你在走进之前没有高血压,现在你有。
不过说真的,期望具有这种技术意识水平的人直接从纸张过渡到云端是不现实的。我们使用了与上一个项目相同的 Google Sheets 和 Apps 脚本。我们添加了 doPost 函数来处理 AVR-IoT WG 发出的 POST 请求。
结论
我们可能无法像 Dwight Schrute 声称的那样使用 BPM 作为测谎仪。尽管如此,我们还是能够使用 AVR-IoT WG 通过简单且安全的流程将 BPM 读数发送到 Google 表格。
患者可以在就诊前几天或几周内使用该设备。当更换药物对血压至关重要时,也可以使用它。我们在这里要提到的最后一个用例是在流行病学调查中的使用,例如强调环境温度对血压读数的影响的案例。
演示
全面披露:Hackster 好心只给了我一台 AVR-IoT WG 设备。我必须在数据库中再创建 6 个读数来模拟来自多个设备的条目。在每一行的末尾,我根据我对下面图表的解释添加了一种颜色。

前几行来自上一个项目,并保留在这里以供比较。我们几乎听不见声音,但只要 BPM 读完,数据就会立即显示在 Google 表格中。
- 使用Google表格监控温度
- 中智诚ZHCH516D蓄电池放电监测仪 0次下载
- 基于鱼类行为的水质生物毒性监测仪 14次下载
- 水体有机物在线荧光监测仪设计方案 19次下载
- Maxim医疗血压计解决方案(中文) 11次下载
- 一种新型的嵌入式动态血压监测仪研制 18次下载
- DS5062C和SG1640B示波器在搭载ARM芯片监测仪中的应用 9次下载
- 传感器综合实验--轮胎压力监测仪 0次下载
- 导弹发控监测仪设计与实现 0次下载
- 基于充电法的滑坡深部位移监测仪设计 25次下载
- 基于LabVIEW的温度监测仪设计 245次下载
- 电源信号监测仪的设计 36次下载
- 基于ARM的无线心电监测仪 114次下载
- 声发射监测仪无线远程通信的实现
- 变压器油中溶解氩气监测仪
- 常规水质监测电极的维护与保养-斯塔克水质监测 206次阅读
- 光伏电站环境监测仪能带来哪些效益? 251次阅读
- 噪声监测仪有什么作用 569次阅读
- GNSS监测仪有哪些作用 685次阅读
- 基于一种超低成本的家用血压监测方案 637次阅读
- DIY一个开源的空气质量监测仪 4187次阅读
- 基于16位单片机SPCE061的监测仪设计 1938次阅读
- 血压监测仪的测量技术及应用设计方案 3181次阅读
- 基于SPCE061A单片机和温度传感器实现多功能生理参数监测仪的设计 2276次阅读
- DM212双通道轴振动监测仪的技术参数 1256次阅读
- 采用TI电量计实现动态血糖监测仪超长运作 3892次阅读
- 更小、更精确的血糖监测仪 1347次阅读
- TableBank:高质量的标注表格数据集 5748次阅读
- BYQL-LCD200智能空气环境监测仪及室内环境在线监测系统介绍 4081次阅读
- 在可穿戴式设计中实现超低功耗的3大要诀 890次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论