type
Post
date
Nov 6, 2025
slug
RaspberryPi-5/electronic_scale
summary
以树莓派为控制器联通硬件与软件服务,实现AI健康小屋
status
Published
tags
AI
树莓派
category
技术茶点
icon
password
1.准备工作
1.1.硬件
- 电子秤与血压仪
- 可获得身高、体重、体脂、舒张压、收缩压、心率6种数据
- 树莓派
- RaspberryPi_5 4GB RAM(用于开发环境)
- RaspberryPi_Zero_2_W 512MB RAM(用于生产环境)
- 外设——键鼠、屏幕、麦克风与音响
- 其它
- DB9 USB 公转 RS232 公螺杆串口线
1.2.软件
- 操作系统
- Raspberry Pi OS(本地)
- Ubuntu22.04(云服务器)
- 前端
- 小程序(通过小程序码赋值设备ID绑定设备与扫码的用户)
- 后端
- python Fastapi Django DRF(快速验证)
- Rust(生产环境迭代)
- 其他
- PostgreSQL(云存储用户测量数据)
- Redis(维护一个设备绑定激活状态,供树莓派轮询)
2.MVP及关键步骤
2.1.实现串口通信
目标是在树莓派上通过串口通信控制电子秤并接收测量结果数据。
2.1.1.PuTTY 配置(Win 环境测试)
PuTTY 设置项 | 您的设备参数 | 必须填写的值 | 备注 |
Serial line (串口号) | (需在电脑上查找) | 例如: COM3 (Windows) 或 /dev/tty.usbserial-XXXX (Mac) | 这是您 USB 转串口线连接到电脑后,系统识别的端口。 |
Speed
(波特率) | 4800 (默认) | 4800 | 建议先使用默认值 4800 进行测试。 |
Data bits
(数据位) | 8 位 | 8 | ㅤ |
Stop bits
(停止位) | 1 位 | 1 | ㅤ |
Parity
(校验位) | 无 | None | ㅤ |
Flow control
(流控) | (文档未提及) | None | 默认选择 None,除非设备明确需要。 |
2.1.2.树莓派作为上位机向电子秤发送请求
- 获取设备ID、检测设备在线、控制设备测量启动与停止等
2.1.2.树莓派作为上位机控制测量启停并接收测量数据
- 发送测量命令,等待用户完成测量后设备返回的测量结果数据
2.2.实现用户与测量设备的绑定和解绑(维护占用状态)
2.2.1.带参数(设备ID)小程序码的生成与扫码登录解析
- 后端FBV API实现生成带参数的小程序二维码
- 前端解析出用户扫描设备二维码的参数,执行不同操作
- 实现绑定、解绑与状态轮询等API接口,供前端和树莓派调用
2.3.树莓派主控程序
- 脚本快速实现,部分主控代码
在后端数据库查看到新增了的用户健康数据,归集给了扫码的用户,持久化运行后,设备和树莓派就可以一起部署了~
3.部署
- 以脚本的方式快速部署
4.修复及后续 rust 迭代计划
- 生产化部署问题及修复
- Rust 迭代计划
Pi Zero 2 W 性能很宽裕了,但是 python 脚本跑了 1/4 的内存,即使手写垃圾回收避免内存泄漏问题,实际运行时因为连接的设备串口通信、电源、用户使用方式等外部环境的不稳定,运行时代码发生的错误会是致命的,后续转向 Rust 迭代是必要的。
- Author:沈林曦
- URL:https://blog.aibhtt.com/article/RaspberryPi-5/electronic_scale
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts








