本帖最后由 Kara 于 2023-2-9 11:28 编辑
【IoT毕设】机智云AIoT+52单片机+体重健康管理系统
摘要:设计了一款基于微信平台,WiFi联网的体重健康管理系统。硬件部分选择由电阻应变片构成差动全桥电路;软件系统设计以52单片机最小系统为核心,用HX711芯片进行A/D转换,采集的数据传送至单片机,通过WIFI模块将单片机中的数据上传至机智云平台,云平台作为数据的中转站,进而将数据上传至微信公众号,同样控制命令的数据可以逆行下传,实现通过手机控制电子称重设备。
引言
随着电子测重技术的成熟,电子秤已经逐渐取代老式测重设备。其因操作简单、测重准确、体积小、测量速度快、读数方便,广泛应用于商业贸易、医院、学校、企业等部门[1-2]。随着制造工艺的提高,电子秤更是越做越轻巧便携,加之人们对美的追求,越来越关注自己体型的变化,因此如今几乎家家备有电子体重秤。 同时随着物联网时代的到来以及微信技术的发展,物联网技术必然会用到越来越多的微信平台资源。本文即为大家介绍一款基于微信平台的体重健康管理系统,本系统不仅能测重,更能让用户了解自己体重阶段性的变化。同时利用微信平台,让本系统拥有较好的人机交互的体验感觉,使系统更人性化、智能化。
1. 系统整体结构设计 本系统以52单片机为核心,硬件部分选择由电阻应变片构成差动全桥电路,A/D转换部分选用HX711芯片。除了基本的测重功能外,本系统提出了一种基于微信平台、WiFi、机智云物联网平台对数据进行保存和分析的功能。本系统实现了将用户测得的体重信息进行保存及分析,将结果通过微信平台反馈给用户,同时用户也可以通过微信控制电子称重实体。
图1系统整体结构框图
2. 称重传感器的设计 2.1 电阻式应变片传感器 体重健康管理系统最为基础的功能则是体重的测量,因此称重传感器是本系统最重要的部分之一,其性能直接决定了电子测重的精确度及稳定性等重要性能。
本系统选用电阻应变式称重传感器,其电阻大小随应变片受重产生的形变而改变,通过弹性敏感材料(石英,陶瓷,硅)的电阻变化,即应变效应,随着电阻的改变,会引起电路中电流的改变,之后测量电路中电流的大小,经过换算,得出体重。其对形变信号非常敏感,因而电阻应变片是一种在测力与测量微小形变方面具有广泛应用的传感器元件。
应变式传感器根据应变片组成的电路不同,其稳定性和灵敏度皆有区别。全桥电路因其对称的电阻应变片黏贴方式,灵敏度可达半桥的两倍。除此以外全桥电路具有良好的抗干扰能力,即可消除电桥的非线性误差以及温度误差等共模干扰。故本系统选择采用差动全桥电路作为测量电路,该电路由4片电阻应变片构成。如2图所示,是完全相同的4个应变片,当电桥开路时,不平衡电桥输出的电压为:
又因R1+∆R1R3为R1=R2=R3=R4,且在受力时
则
,U0与
成线性关系,则差动半桥电路无线性误差。电压灵敏度
且具有温度补偿。
图2差动全桥电路
2.2 A/D转换模块 电子称重需要将应变片的物理形变产生的电压模拟信号转换成数字信号,则需要A/D转换模块,加上电子秤重对精度的较高要求,所以最终选用HX711芯片。HX711是一款24位高精度的A/D转换芯片,与其它A/D转换芯片相比,其不仅具有响应速度快、抗干扰性能强等优势;除此之外该芯片还具有较高的集成度,因为其内部已经集成有稳压电源和片内时钟振荡器等。
符合芯片越做越精,越做越小的趋势。该芯片有两路通道可供差分输入选择,分别为通道A和通道B。通道A的差分输入信号大小可为±20mV或±40mV,通道B的可编程增益为固定的32增益,用于系统参数检测。该芯片集成有稳压电源和内部时钟振荡器,所以系统板上无需外接模拟电源,也无需外部提供振荡信号。因此该芯片集成度高,操作简单。此外其特有的上电自动复位功能,简化了开机过程,加快了开机速度。
图HX711模块原理图
3. 微信平台的设计
如今微信已成为一种新的生活方式,越来越多的基于微信平台的智能家居的诞生让生活更加便利,相对于手机app,利用微信平台,系统开发周期和难度更小,更受开发者和用户的喜欢,物联网的微信应用已然成为一种趋势。
3.1 微信功能设计框图 本设计的微信部分通过WiFi模块将设备MCU收集的一系列数据上传至云服务器,这里利用的是机智云平台,数据通过机智云处理转发到微信公众号上,同样控制命令的数据可以从微信通过机智云下行传送到设备MCU,从而实现对电子秤设备的控制,可以看出机智云物联网平台在此部分的设计中起到了承上启下的作用。本系统中微信与设备互联的功能可以推广到其他各种智能家居设备上,应用前景十分广泛。
3.2 设备与微信硬件绑定过程
首先申请一个微信公众号,获得对应的公众号原始ID。接着进行设备MCU开发和固件烧录,在WiFi模块写入AirKiss时,需要将机智云的produck_key写入设备MCU,同时需要配置公众号的原始ID。在这里,借助了已经烧录到WiFi模块的微信宠物屋开源框架进行第二次烧写,关键代码如图5所示。
接着微信客户端通过扫描二维码的方式添加设备,设备二维码生成方式中,选择产品添加方式为每种型号唯一的二维码,此方式在微信绑定设备时,既可以通过扫描二维码直接绑定,也可以选择近场发现绑定。
接着进行设备的授权,在WiFi固件中写入公众号原始ID,同时将所有设备的MAC地址登记到微信服务器上,接着即可以向微信接口发送请求设备授权关键代码如图6所示。
图4微信功能设计框图
图5WiFi写入Airkiss关键代码
图6设备授权关键代码 最后即可实现设备与微信的绑定,阶段性成果如图7所示。
图7微信与设备硬件绑定
3.3微信与设备数据交互的实现 对于设备数据点的监控,借助平台已经封装好的SDK即java-SDK和js-SDK,这两个SDK各自封装了机智云的OpenAPI以及WebSocket,所以大大简化了API的操作,接管了token和用户管理,只需要调用相关函数,即可实现设备与微信在软件平台的绑定和解绑。下面给出绑定用户的Java_SDK中的关键代码:
对于设备的控制同样需要调用js-SDK,首先初始化Gizwits WS对象,然后使用Gizwits WS.init()获取绑定列表,接着选择一个设备,创建websocket连接控制设备。对于控制代码的编写,如果是commType=custom,则输入p0;如果commType=attrs_v4,则输入datapoints。下面给出远程控制电子秤上RBG灯的代码样例:
以上是电子秤微信部分设计的关键步骤,在此开发过程中,机智云平台起到了关键的作用。通过机智云后台完成设备的功能定义后,平台自动生成负责底层通信的SDK,此外机智云免费提供设备数据的统计与运算处理,这大大减少了开发周期与开发难度。 4. 结语
越是随处可见的东西,越是需要实用与智能,本系统在测重模块的设计上实现了降低成本,提高精确度。除此之外外加的微信平台,实现了人机交互的功能,让电子秤不在仅仅可以称重,更成为了健康生活的小助手,因此该设备具有广阔的应用前景。
|