基于WeMos D1物联网开发板的奶瓶温度监测装置设计
2020-12-05杜健宁王梦娇孟祥雨司啸辰卢东生
杜健宁 王梦娇 孟祥雨 司啸辰 卢东生*
奶品是婴幼儿获得营养物质的重要来源,喂奶的温度尤为重要[1]。奶温过高会烫伤婴幼儿的口腔及食道黏膜,引起发炎或感染,奶温过低会增加婴幼儿的肠蠕动,导致腹泻。传统衡量奶温的方法是家长先行品尝或是倒在手上感知温度,家长先行品尝可能会传染细菌甚至疾病给婴幼儿,倒在手上感知温度亦不保证奶温的准确。奶瓶温度监测装置可以有效辅助家长控制饮用奶的温度,从而在温度方面保障了婴幼儿饮用奶的质量[2]。
近年来,各类婴幼儿产品的需求量有所增加,国内有关奶瓶温度监测装置的设计层出不穷,报警方式主要是蜂鸣或是液晶屏显示[3-4]。为此,本研究设计一款奶瓶温度监测装置,其创新之处在于在传统奶瓶温度监测装置功能的基础上,借助Blinker物联网接入平台实现在手机上进行奶温监测,从而避免因看手机分散注意力而导致错过饮用奶的适宜温度。
1 奶瓶温度监测装置设计
1.1 硬件功能实现
基于奶瓶监测装置的联网需求,设计选取WeMos D1物联网开发板作为硬件平台;选择DS18B20温度传感器模块测量奶瓶温度;选用有源蜂鸣模块作为声音报警装置;通过有机发光二极管(organic lightemitting diode,OLED)显示屏实时显示奶瓶温度。
1.1.1 WeMos D1开发板
Arduino开发板为一款具有方便上手、灵活简洁特点的开源电子平台,其中包含各种型号的Arduino开发板硬件和开放源代码Arduino的集成开发环境(integrated development environment,IDE)(Arduino IDE)软件两部分。Arduino开发板可以接收来自各种传感器的数据,并通过控制声音、灯光等作用于环境[5]。通过Arduino IDE编程并将程序烧录到Arduino开发板的微控制器,即可得到电路板需要执行的功能;ESP-8266是一种WiFi串口模块,即用于从串口接收数据通过WiFi发送或通过WiFi接收数据后用串口输出[6]。WeMos D1是一款基于ESP-8266 WiFi模块的开发板,并且兼容Arduino,可使用Arduino IDE进行编程来实现所需功能。WeMos D1配有11个I/O引脚,1个输入范围为0~3.3 V的模拟数字转换器(analog-to-digital converter,ADC)引脚,支持空中下载技术(over the air,OTA),板载5 V 1A开关电源。
本研究设计中WeMos D1通过I/O引脚控制DS18B20温度传感器模块接收温度,控制有源蜂鸣模块的启停和OLED显示屏显示实时温度。WeMos D1为DS18B20温度传感器模块、有源蜂鸣模块和OLED显示屏提供3.3 V工作电压。
1.1.2 DS18B20温度传感器模块
采用DS18B20(美国Dallas半导体公司)数字化温度传感器模块,因其运用一线总线驱动技术且成本低廉的特点而被广泛使用。DS18B20有较广的测温范围(-55~125 ℃),精度为±0.5 ℃(-10~85 ℃),工作电压为3.3~5 V。DS18B20温度传感器模块将DS18B20的引脚引出,更加便于使用和储存[7-8]。DS18B20通过GPIO14引脚向WeMos D1发送瞬时接收到的温度数据。
1.1.3 有源蜂鸣模块
有源蜂鸣器是一种电子讯响器,采用直流电压供电,被广泛用于玩具、计算机、报警器等电子产品中作为发声器件。本研究设计的蜂鸣模块采用低电平触发模式,即I/O口输入低电平时蜂鸣器发声,I/O口输入高电平时蜂鸣器停止,其工作电压为3.3~5 V。WeMos D1通过GPIO12引脚触发有源蜂鸣模块。
1.1.4 OLED显示屏
OLED显示屏是用有机电自发光二极管制造的显示屏,具有对比度高、不需背光源、反应速度快、适用温度范围广等优点。设计采用0.96寸四针内部集成电路(inter integrated circuit,IIC)接口的OLED显示监测到的奶瓶温度,其工作电压为3.3~5 V。WeMos D1通过GPIO4和GPIO5引脚控制OLED显示屏显示温度。系统各硬件连接见图1。
图1 系统各硬件连接示意图
1.2 软件功能实现
软件部分分为硬件控制程序的编写和Blinker应用程序(application program,APP)界面设计。在集成开发环境Arduino IDE上进行编程,并通过串口烧录到WeMos D1开发板中以实现控制硬件的功能;在Blinker APP上设计奶瓶温度监测装置的手机端界面,以简洁直观地显示奶瓶实时温度并给出对应温度的文字提示。
1.2.1 监测装置工作流程
奶瓶温度监测装置软件部分的流程设计:①为奶瓶温度监测装置提供5 V直流电压,电池或通用串行总线(universal serial bus,USB)接口,连接WeMos D1开发板使系统上电;②绑定预热好的奶瓶温度(>38 ℃),传感器随即发送奶瓶温度,通过OLED显示屏显示奶瓶温度,此时手机Blinker APP显示当前的温度及“过热”提示;③随着奶温下降到适宜婴幼儿饮用的温度范围(≥36 ℃且≤38 ℃)时,温度监测装置蜂鸣模块提示音响起,手机Blinker APP显示当前的温度及“适宜”提示,此时应将奶瓶与温度监测装置解除绑定,随即将奶瓶中已经达到适宜温度的奶提供给婴幼儿饮用;④若奶瓶温度继续下降至适宜温度以下(<36 ℃)后温度监测装置蜂鸣模块提示音停止,手机Blinker APP显示的当前温度及“过凉”提示,随后完成奶温监测过程。奶瓶温度监测装置工作流程见图2。
图2 奶瓶温度监测装置工作流程示意图
1.2.2 Blinker APP
Blinker是一套跨硬件、跨平台的物联网解决方案,提供设备端、服务器端及APP端的支持,通过公有云数据服务进行数据传输[9]。Blinker可以用于数据监测、智能家居等领域,具有支持蓝牙及WiFi等多种连接方式、支持多种开发平台以及提供丰富的附加功能等优势。Blinker APP作为奶瓶温度监测装置在手机端的载体具有显示界面友好直观、用户操作简便等特点。Blinker APP界面设计见图3。
图3 Blinker APP界面设计图
表1 预热后随时间变化奶瓶温度数据(℃)
在给奶瓶温度监测装置上电前打开“点灯·Blinker”APP,在“所有设备”中找到Arduino设备;装置上电后WeMos D1开发板的ESP-8266模块自动完成APP连接,随即在APP界面顶端显示“在线”。APP界面的3个组件分别为两个温度显示组件与1个温度手动刷新组件,两个温度显示组件可以直观反映奶瓶温度并提供“过热”“适宜”和“过凉”3种文字提示,而温度手动刷新组件可供用户手动刷新当前奶瓶温度。
2 奶瓶温度监测装置验证
通过模拟日常婴幼儿喂奶情景,对研究设计的奶瓶温度监测装置有效性进行验证:①室温调节为25 ℃,将装有100 ml冲好奶粉的玻璃奶瓶预热至50~60 ℃;②打开手机端“点灯·Blinker”APP,装置上电并绑定奶瓶;③通过OLED显示屏或“点灯·Blinker”APP观测奶瓶温度下降随时间变化的数据,并进行记录,每4 min进行一次数据记录,0~32 min共记录9组数据;④重复①~③步骤4次,共记录5组奶瓶温度下降随时间变化的数据。预热后奶瓶温度(℃)随时间(min)变化的数据见表1。
在奶瓶温度监测装置的有效性验证过程中,装置均在奶温下降到适宜婴幼儿饮用的温度范围(≥36 ℃且≤38 ℃)时通过蜂鸣和Blinker APP给出了及时而正确的提示,表明装置的有效性。通过验证亦表明室温下100 ml冲好的奶粉玻璃瓶从50~60 ℃下降至适宜婴幼儿饮用的温度需要30 min左右,可为冲调奶粉提供经验。奶瓶温度监测装置实物效果见图4。
图4 奶瓶温度监测装置实物效果图
3 结论
本研究基于WeMos D1开发板设计奶瓶温度监测装置,利用温度传感器感知奶瓶温度,OLED显示屏显示温度,并通过蜂鸣模块和Blinker APP两种方式告知家长奶的最佳温度以提供给婴幼儿饮用,有效地辅助家长控制奶温。因其不直接与奶接触以及使用5 V电压即可供电,保证其对婴幼儿无毒害并无用电方面的危险。奶瓶温度监测装置硬件成本低廉,软件方面用户只需免费注册“点灯·Blinker”APP即可使用,如有额外需要可以通过Arduino IDE更改奶瓶最适温度的提示区间。对本装置加以改进可制成成品,如可加装保温容器盛放奶瓶等,使其更加便于使用;若需要增加本装置的精度或灵敏度可以更换性能更加优秀的温度传感器,如更换燃太TN901红外温度传感模块[10]。由于“点灯·Blinker”APP中“心跳包”数据发送频率的限制(30~60 s/次),当前配合APP界面“刷新”组件才能更加及时地反映当前温度。若需要APP端温度更新速度更快,可以改用企业版本的“点灯·Blinker”APP。