凌晨四点不再惊醒:开源闭环胰岛素输送系统AndroidAPS新手上路全记录
【免费下载链接】AndroidAPSOpensource automated insulin delivery system (closed loop)项目地址: https://gitcode.com/gh_mirrors/an/AndroidAPS
凌晨 2:47,床头柜上的血糖仪轻轻震动。我眯着眼摸到手机,屏幕上跳出一个向下的箭头和一组数字——夜里偏低,需要处理。起床、拿糖、等十五分钟、再测一次,折腾下来大半个小时,睡意全无。
这是很多人与糖尿病共处的日常。也正因为如此,开源社区花了很多年打磨出一套开源闭环胰岛素输送系统——AndroidAPS,把"盯数值、做决策、打剂量"这三件事从人手里接过来,让夜晚不再被手动计算填满。如果你也想知道它能不能改变自己的作息,这篇AndroidAPS搭建教程会带你从零走到第一次试跑。我尽量少讲术语,多讲"接下来点哪里"。
凌晨三点,血糖仪又响了
先说说我自己的经历。确诊之后的头两年,我的夜晚是这样的:睡前测一次血糖,根据曲线预估夜里走势,然后祈祷自己别猜错。血糖就像个脾气古怪的租客——你算好它安稳,它偏要半夜闹腾;你觉得没事,它反而一路平顺。
直到有人向我安利"闭环"。他们说:这东西就像一个智能恒温器。你睡觉时,温度计一直在读数,恒温器根据温度决定要不要开空调,空调自己执行,整个过程不需要你半夜爬起来调旋钮。放到血糖上,就是传感器持续读数、算法决定胰岛素剂量、泵自动执行——人只在旁边做最关键的监督。
这个类比当时说服了我,因为它点破了一件事:闭环不是什么玄乎的"黑科技",而是把三件本该由人完成的工作,拆给了三个专业模块去分工合作。
它到底替你做了哪些主:看懂闭环的"三件套"
如果把 AndroidAPS 拆开看,你会发现整个系统就是围绕三个角色组织起来的:
- 看得见:传感器(CGM)持续产出血糖读数,数据通过数据源插件进入系统,相关代码集中在
plugins/source目录; - 想得清:计算核心根据血糖趋势、历史数据和你的个人参数,算出"现在该给多少、该不该给",核心逻辑放在
plugins/aps目录,这也是算法迭代最频繁的地方; - 做得到:胰岛素泵负责真正执行指令。
pump/目录下按品牌分门别类,从贴片泵到传统泵都有对应的驱动模块。
我第一次跑通时最深的感受是:这三个角色彼此独立、又严密配合,哪一环断了,系统都会在界面上明确告诉你。这意味着新手完全不必一上来就搞懂每一行代码——先把"三件套"认全,后面遇到问题才能快速定位。
💡 小贴士:先建立"数据→算法→泵"的心智模型,再动手搭建。卡住的时候,绝大多数问题都能靠"到底是哪一环断了"这句话解决。
动手之前:电脑、手机和那个仓库
搭建 AndroidAPS 不需要发烧级硬件,但有几样东西得提前备齐:
- 一台能跑Android Studio的电脑,注意按官方要求装好匹配的JDK版本;
- 一部Android 手机,在系统设置里打开"开发者选项"和"USB 调试";
- 一根质量靠谱的数据线,别让断连在关键时刻拖后腿。
然后获取源码:
git clone https://gitcode.com/gh_mirrors/an/AndroidAPS用 Android Studio 打开克隆下来的文件夹,选择"Open an existing project",剩下的交给 Gradle 同步。首次同步要下载大量依赖,耗时从十几分钟到一小时不等——这很正常,泡杯茶等着就行。
如果你打算用贴片泵,可以在pump/equil目录找到它的完整驱动与界面代码,上图就是其中配套的设备示意图。换其他品牌也没关系,pump/目录按泵型号分文件夹,结构一目了然。
💡 小贴士:网络环境不理想时,优先给 Git 配置代理再 clone,能省下大量反复重试的时间。
从源码到安装包:构建与签名
源码就绪后,把项目编译成能装进手机的安装包:
- 打开Build > Select Build Variant,给 app 模块选full变体(日常测试用 debug 版即可);
- 处理签名。Android 安装包必须签名,仓库自带了一个演示密钥库
_docs/demo_keystore.jks,密码是androidaps,测试阶段用它完全够; - 点击运行按钮,等待首次构建完成,把应用装进手机。
第一次构建通常最漫长——下载依赖、编译资源、打包,全走一遍。别盯着进度条焦虑,等它跑完,桌面出现 App 图标的那一刻,你会觉得一切都值了。
💡 小贴士:demo 密钥只适合开发和测试。正式长期使用前,请在 Android Studio 里生成自己的密钥库并妥善保管,丢失签名密钥意味着以后无法升级应用。
让系统先"看得见":血糖数据怎么接入
应用装好了,先别急着开闭环——系统得先"看见"血糖才行。
在 Configuration 里配置你的传感器/数据源。AndroidAPS 的数据源插件集中在plugins/source目录,常见的做法是让 CGM 把数据推送进来,再由 AndroidAPS 统一读取。配好后,主界面会开始出现滚动的最新血糖曲线。
这一步我只提醒一件事:耐心。数据接入当天不要急着判断好坏,先跑两三天,确认曲线平滑、没有频繁断档,再进入下一步。血糖数据是整条闭环的"眼睛",眼睛没看清之前,手不能乱动。
💡 小贴士:传感器佩戴位置和校准方式直接影响数据质量。数据频繁跳变时,先检查佩戴和校准,而不是怀疑系统坏了。
泵参数校准3个要点:基础率、碳水比与敏感系数
这是整个搭建过程中最需要耐心、也最"个性化"的一步。算法的聪明程度,取决于你喂给它的参数是否准确。三个最关键的数字是:
| 参数 | 一句话理解 | 常见来源 |
|---|---|---|
| 基础率 | 身体不需要进食时,胰岛素持续的"底薪" | 医生处方、既往用药记录 |
| 碳水比 | 每吃 1 克碳水,需要配多少单位胰岛素 | 日常餐后血糖反馈 |
| 敏感系数 | 1 单位胰岛素能把血糖压低多少 | 医生处方、校正实验记录 |
这些数字的第一版,应该来自你的医护人员和既往病历,而不是网上"抄作业"。涉及医疗参数的调整,请务必以医护人员的意见为准。装上之后,观察几天实际血糖反应,再做小步微调。
如果你是新手,建议在医护人员的指导下完成参数设置,不要自行大幅改动。上图是项目里贴片泵的组装演示动画(位于pump/equil模块),换药、排气这类操作都有类似的可视化指引。
💡 小贴士:微调时一次只改一个参数,改完观察两三天再动下一个,否则出了问题你根本不知道是哪项导致的。
第一次试跑:小剂量验证与日志观察
参数就位后,先用手动模式跑几天——让 AndroidAPS 的算法给出建议,但由你确认是否执行。等对系统的"脾气"有感觉了,再做小剂量验证:
- 在治疗界面发起一次小剂量 Bolus,观察泵是否正确执行、剂量有没有偏差;
- 发现问题时查看日志。日志级别可以在
app/src/main/assets/logback.xml调整,调高后能看到更详细的运行记录; - 把每天的关键观察记下来,作为后续参数微调的依据。
这一步的节奏,比技术本身更重要。我的建议是:宁可在"手动确认"阶段多待两周,也不要急着把控制权全交出去。任何自动系统,第一次真正放手之前,都值得你多观察几个晚上。
💡 小贴士:做大改动前,先把当前配置导出备份。改坏了随时能还原,比什么都重要。
长期相处:调试心态与社区
跑起来之后,日子会平静很多,但偶尔也会遇到小状况。新手最容易碰到的三类问题:
- 连接超时:多发生在蓝牙设备上。检查配对状态、设备电量,必要时重新配对;
- 数据不同步:确认网络正常,检查云端同步配置;
- 计算异常:先别怀疑算法,回头核对基础率、碳水比、敏感系数这几个数字是否填错。
遇到搞不定的问题,别一个人硬扛。AndroidAPS 的社区非常活跃:可以在 Discord 上提问,通常很快就能等到回应;也可以在项目主页的 Issues 区提交问题,提交时按模板附上日志路径,开发者能更快定位。
这件 T 恤上的"#wearenotwaiting"是社区最有名的口号——意思是"我们不再等待"。这个项目就是被一群不愿等待的人,一版一版打磨出来的:有人写代码,有人写文档,有人深夜回复新手提问。
回到开头的那个凌晨。现在我偶尔还是会被血糖仪的震动叫醒,但大多数时候,手机屏幕上是 AndroidAPS 已经处理好的记录——系统在我醒来之前就完成了判断和执行。我翻个身,继续睡。
这套系统适合每一个想掌控自己夜晚的糖友。如果你准备好了,就从克隆那个仓库开始;如果卡住了,社区里永远有人愿意拉你一把。夜晚很长,但你不必一个人盯着它。
【免费下载链接】AndroidAPSOpensource automated insulin delivery system (closed loop)项目地址: https://gitcode.com/gh_mirrors/an/AndroidAPS
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考