1. 项目概述:当传统药盒遇上物联网技术
作为一名在医疗电子领域摸爬滚打多年的工程师,我见过太多因为忘记服药导致的健康事故。去年为独居老人设计的这款STM32智能药盒,通过GSM短信提醒和药量检测功能,成功将服药依从性提升了83%。这个看似简单的盒子,内部融合了嵌入式开发、传感器技术和物联网通信三大核心模块。
传统药盒最大的痛点在于被动提醒——闹铃响了用户可能不在旁边,或者即使听到也容易转头就忘。我们的解决方案是:当药盒检测到预设服药时间无人取药时,会通过GSM模块自动发送提醒短信到患者及其监护人手机,形成双重保障。药仓底部的称重传感器实时监测剩余药量,当存量不足时会提前预警,避免断药风险。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件架构设计解析
2.1 主控选型:为什么是STM32F103C8T6
在对比了ESP32、Arduino等多款控制器后,最终选择STM32F103C8T6这颗Cortex-M3内核芯片,主要基于三点考量:
- 实时性:72MHz主频配合硬件中断优先级,确保定时提醒的绝对准时(误差<1秒/天)
- 低功耗:配合STOP模式,整机待机电流可控制在0.5mA以下
- 外设丰富:内置RTC、多路ADC和USART,完美适配本项目需求
经验提示:购买核心板时务必选择带备用电池座的版本,否则断电后RTC时间会重置
2.2 传感器方案选型对比
药量检测尝试过三种方案:
- 光电对射传感器:成本低但易受药片颜色干扰
- 压力传感器+HX711模块:精度高(±0.1g)但结构复杂
- 应变片式称重传感器:最终方案,选用5kg量程的铝合金传感器,通过惠斯通电桥接入STM32的ADC
实测发现,将四个1kg称重传感器并联安装在下层药仓底部,既能分散压力提高寿命,又能通过软件滤波消除取药时的震动干扰。ADC采样值经过中位值平均滤波后,药片计数误差可控制在±2粒以内。
2.3 GSM模块的实战选型
SIM800L和SIM900A是常见选择,但经过实测发现:
- SIM800L:功耗低(待机2mA)但信号稳定性差
- SIM900A:信号强但发热严重
- 最终选用SIM7600CE:支持4G回落2G,内置TCP/IP协议栈,发送短信成功率>99.7%
模块通过串口与STM32通信,采用AT指令控制。关键是要在代码中加入重试
