基于物联网的跌倒检测,使用NodeMCU ESP8266和加速度计MPU6050
扫描二维码
随时随地手机看文章
跌倒检测系统对老年人非常有用。它可以在发现任何跌倒时通知有关人员或家庭成员,并可以减少延迟就医的风险。这导致了许多不同类型的自动跌倒检测系统的发展。如今,你可以在智能手表、健身追踪器和其他类型的可穿戴设备上找到跌倒探测器。
因此,在本教程中,我们将使用NodeMCU和MPU6050传感器模块构建一个跌倒检测设备。MPU6050传感器模块具有陀螺仪和加速度计。陀螺仪用于确定方向,加速度计提供有关角参数的信息,如三轴数据。为了检测下降,我们将比较加速度大小和阈值。如果检测到摔倒,该设备将向相关人员发送短信。这里使用NodeMCU作为微控制器和Wi-Fi模块,连接IFTTT发送短信。
组件的要求
•NodeMCU ESP8266
•MPU6050加速度计
•蜂鸣器
•连接电线
线路图
下面给出了使用NodeMCU的基于物联网的跌倒检测器的电路图。
MPU6050工作在I2C协议上,所以我们只需要两根线来连接NodeMCU和MPU6050。MPU6050的SCL和SDA引脚连接到NodeMCU的D1和D2引脚,MPU6050的VCC和GND引脚连接到NodeMCU的3.3V和GND。我们之前使用MPU6050构建手势控制机器人。
MPU6050传感器模块
MPU6050传感器模块是完整的6轴(3轴加速度计和3轴陀螺仪)微机电系统(MEMS),用于测量加速度、速度、方向、位移和许多其他运动相关参数。除此之外,它还有一个额外的芯片温度传感器。
MPU6050模块具有体积小、功耗低、重复率高、耐冲击、用户价格低等特点。MPU6050带有I2C总线和辅助I2C总线接口,可以很容易地干扰其他传感器,如磁力计和微控制器。
IFTTT设置跌倒检测器
IFTTT (If This Then That)是一个基于web的服务,我们可以通过它创建条件语句链,称为applet。使用这些小程序,我们可以发送电子邮件,Twitter, Facebook通知。在这个项目中,我们使用IFTTT在设备检测到跌倒时发送消息通知。
要使用IFTTT,请登录您的IFTTT帐户(如果您已经有一个帐户)或创建一个帐户。
现在搜索“Webhooks”并点击“服务中的Webhooks”部分。
现在,在Webhooks窗口中,单击右上角的“Documentation”以获取私钥。
复制这个密钥。它将在程序中使用。
获得私钥后,现在使用Webhooks和Email服务创建一个applet。要创建applet,请单击您的个人资料,然后单击“创建”。
现在,在下一个窗口中,单击“This”图标。
现在在搜索栏中搜索Webhooks,然后点击“Webhooks”。
现在选择“Receive a Web Request”触发器,在下一个窗口中,输入事件名称为fall_detect,然后单击“create a trigger”。
现在要完成applet,单击“That”为fall_detect事件创建一个响应。
这里我们通过发送消息来响应fall_detect事件。在搜索栏中搜索“Android device”,然后选择“Android SMS”。
现在,它将要求您输入电话号码和消息正文。输入手机号码和消息正文,然后点击“创建操作”完成流程。
现在,我们将创建另一个applet,在检测到坠落时播放特定的歌曲。
为此,请遵循上述相同的程序,但不是“Android SMS”,而是单击“Android设备”,然后单击“播放特定歌曲”。
在下一步中,输入歌曲名称,然后单击Create。
代码的解释
使用NodeMCU的跌倒检测器的完整代码在页面末尾给出。这里我们将解释一些重要的部分。
像往常一样,通过包含所有必需的库来开始代码。Wire.h库允许您与I2C / TWI设备通信,而ESP8266.h库提供了NodeMCU特定的Wi-Fi例程,我们正在调用这些例程连接到网络。
在接下来的几行中,输入Wi-Fi名称和密码以及IFTTT帐户凭据。
在void setup()中,初始化波特率、线库和通过电源管理寄存器传输的数据。
现在在void loop()中,读取MPU6050传感器数据。2050、77、1947是加速度计的校准值。陀螺仪相同,在原始值中添加校准值。
在得到加速度计和陀螺仪的值后,计算加速度计值的幅值矢量。
该程序首先检查加速度计值是否超过较低的阈值,如果是,则等待0.5秒并检查较高的阈值。如果加速度计的值超过更高的阈值,那么它检查陀螺仪的值来计算方向的变化。如果方向突然改变,它会等待10秒,检查方向是否保持不变。如果是,那么它会激活坠落探测器警报。
在mpu_read循环()中,读取加速度计和陀螺仪的X、Y和Z轴的所有六个寄存器。
测试物联网坠落探测器
一旦你的代码和硬件准备好了,上传代码。为了测试这个项目,把MPU6050拿在手里,假装慢慢走,然后突然绊倒在一个平台上,如下面的视频所示。如果幅度超过阈值,设备将激活跌倒检测警报并向注册号码发送消息。
本文编译自iotdesignpro