学生姓名:向洋
班 级:交控2018-04班
指导教师:刘建阳
毕设题目:基于STM32的智能床垫フィリピン オンライン カジノ
一、概况
1.选题意义
随着科学技术的飞速发展,互联网技术对人们日常生活的影响越来越大,尤其是近些年来物联网在智能家居中的应用较为广泛,在物联网技术支持下,不断对智能家居进行创新,可以满足人们不断增长的新需求。本毕业フィリピン オンライン カジノ拟研究并实现基于STM32单片机的智能床垫。在人们睡眠时,可以检测到人的心率脉搏,并能够探测到人睡眠时的压力分布以及压力值变化,并对采集フィリピン オンライン カジノ进行处理,从而对睡眠质量有一定掌握,也可降低人们(尤其老年人)在睡眠中的发生危险的概率。同时,能以手机作为上位机,实现STM32单片机与手机的通讯与フィリピン オンライン カジノ的传输,并在微信小程序上呈现。该设计拟以STM32F103为控制核心,同时搭配温度传感器、心率传感器、薄膜压力传感器等实现フィリピン オンライン カジノ的采集和状态检测,并能够使用STM32多路串口等实现与上位机的通讯。当在フィリピン オンライン カジノ监测异常时应能实现声光报警,同时应实现语音报警,将紧急情况通知到远处的紧急联系人的功能(紧急电话或者紧急短信)。在非紧急情况下,这些采集的フィリピン オンライン カジノ经过算法处理也能作为人们的睡眠质量情况的一个参考,可以综合评估出睡眠质量,并在微信小程序以及单片机屏幕上展示,能够让使用者更加直观的了解各项フィリピン オンライン カジノ和自身睡眠质量。
2.任务分解
(1)充分了解物联网现状,并能有自己的智能床垫实现方案;
(2)对于硬件部分,要能够熟练使用C语言以及编程烧录工具MDK5,对フィリピン オンライン カジノ各个部分都要学习了解并能够使用。
(3)能够熟练使用C语言进行STM32单片机的开发,能够顺利实现以上传感器フィリピン オンライン カジノ的采集,并在终端设备得以展现;
(4)能够成功实现通讯功能,即能够使用网络(比如蓝牙、蜂窝网等)来进行フィリピン オンライン カジノ的传输,以及紧急状况下的电话拨打或短信功能;
(5)能够完成フィリピン オンライン カジノTFTLCD屏幕以及微信小程序端的用户界面设计、具体操作功能设计,设计到网页设计,前端和后端的代码,フィリピン オンライン カジノ库;
(6)需要进行外壳封装的建模,并3D打印后用于实物组装。建的模型要符合一定强度、结构以及功能;
(7)整理资料并攥写论文,保证内容充实,前后逻辑正确,保质保量完成,并完成答辩PPT;
二、已完成工作
1.フィリピン オンライン カジノ的整体框架:
本毕业フィリピン オンライン カジノ是基于STM32フィリピン オンライン カジノ来设计开发的。以STM32作为运算核心,向外分出三个主要的功能模块,分别为串口通信、存储介质的运用,以及ADC模数转换模块。手机端我自己フィリピン オンライン カジノ开发了一个微信小程序,通过BLE蓝牙通讯与单片机建立连接,实现了单片机的关键采集フィリピン オンライン カジノ向小程序端传输,以及小程序端作为遥控器控制单片机的双向フィリピン オンライン カジノ传输。具体的框图如下图图一所示:
如上图图一所示:按键、语音、红外、手机控制是作为控制模块,可以对该フィリピン オンライン カジノ进行控制。手机蓝牙、智能语音、以及蜂窝网(SIM900A)都是通过串口来实现与STM32单片机的通信的,这是一个“网”的概念,建立了通信才能实现フィリピン オンライン カジノ在不同设备间的传输,远距离传输等功能。微信小程序端,主要任务是接收到单片机发来的一个个フィリピン オンライン カジノ包,利用全局缓存或者上传到云端フィリピン オンライン カジノ库,フィリピン オンライン カジノ经过处理后会在小程序页面对应位置进行显示。单片机端的实物照片如图二所示:
2.毕设开题时已完成工作:
(1)掌握了stm32フィリピン オンライン カジノ,能够使用其进行开发
(2)完成了心率,压力,温度等多种フィリピン オンライン カジノ的多路采集与フィリピン オンライン カジノ处理
(3)实现了各种通信,能够用蓝牙连接到手机,能够语音、按键、红外控制等
(4)掌握了各种存储介质的使用,fatfs文件管理系统的移植
以上四点内容属于毕业フィリピン オンライン カジノ的前期基础部分,在这里不再进行详细介绍。
3.最新完成工作内容:
(1)完善了フィリピン オンライン カジノ端的UI
在旧版本的UIフィリピン オンライン カジノ中,整个页面的切换逻辑都只有一层,这样的控制逻辑过于简单,内容呈现也过于单调,所以在新フィリピン オンライン カジノ的UI中,我加入了“子页面”,页面循环不再是单层逻辑,而是两层循环,フィリピン オンライン カジノ端可以进入子页面进行循环,也可以在第一层页面循环,并且内容更加丰富了。フィリピン オンライン カジノ端的框图见图三:
要实现以上功能,相比之前,新的技术要点是:对于按键,要有长按和短按的区分,且实现松手检测,不放手不能重复扫描,我完善了按键扫描的代码,以满足以上要求。具体的UI界面实物组图如下图图四:
(2)フィリピン オンライン カジノ端节能方案
在本毕业设计中,加入了对节能方案的考虑。我在フィリピン オンライン カジノ端主要加入了两种节能模式,分别为待机模式和熄屏模式:
待机模式:在该模式中,最低只需要2微安电流,此时整个供电区将会掉电,也会关闭电压调节器,振荡器,并且SRAM以及寄存器的内容都会丢失。
熄屏模式:フィリピン オンライン カジノ关闭屏幕背光,适用于不看屏幕时,较节能。在该模式下,フィリピン オンライン カジノ整体是在运行的,只是屏幕不再点亮。该模式适用于夜间进行睡眠监测而不需要看屏幕时开启。屏幕驱动自带的关闭显示效果并不好,背光无法关闭,在黑暗条件下很明显。我自己编写了相关代码,成功关闭了背光,效果很好,达到了节能的目的。实际效果如下图五图六。
(3)大量フィリピン オンライン カジノ流的保存
单片机端有多路传感器在不断地采集フィリピン オンライン カジノ,在短时间内就可以采集到大量的フィリピン オンライン カジノ流,,这些フィリピン オンライン カジノ流在很多时候不能得到有效保存,只是作为过程量。为了能够保存这些フィリピン オンライン カジノ流以供后续作为フィリピン オンライン カジノ集研究,我做了一个可以保存大量フィリピン オンライン カジノ流的系统,用户只需要简单的开启操作,其他的都由程序自己实现。实现该自动保存フィリピン オンライン カジノ流的系统用到了FATFS文件管理系统,TF卡存储介质,EEPROM掉电存储,IIC协议,RTC及spi-flash等多种配置。按下保存按钮后,系统会进行フィリピン オンライン カジノ流的保存,会将フィリピン オンライン カジノ自动保存在.txt文本文件中,保存的フィリピン オンライン カジノ写入,新建文件等一系列操作都是自动完成,如图七所示:
(4)微信小程序端UIフィリピン オンライン カジノ及功能实现
对于微信小程序端的UIフィリピン オンライン カジノ以及功能实现,我主要是在微信开发者平台中完全自主编写代码实现相应功能。在编写过程中,主要用到的编程语言及文件格式有JavaScript、json对象、WXML、WXSS等。对于フィリピン オンライン カジノ的存储,我采用了云端フィリピン オンライン カジノ库,将收到的フィリピン オンライン カジノ进行分类储存起来。如下图图八:
该微信小程序可以实现多种功能,包括上传フィリピン オンライン カジノ到フィリピン オンライン カジノ库,从フィリピン オンライン カジノ库中拉取フィリピン オンライン カジノ;与单片机通过BLE蓝牙设置建立通讯;获取单片机传过来的传感器的实时フィリピン オンライン カジノ并显示在相应界面;个人中心界面以及配套的各种小功能,历史查询,床位绑定,客服,地图查看等;亮度调节,图片查看,视频查看,发送弹幕4等;查看当日睡眠报告,查看周报等;蓝牙控制フィリピン オンライン カジノ等。除了以上的导航栏主页面,在每一个页面下还有很多子页面,在这里展示部分子页面,组图如下图图九:
(5)BLE蓝牙连接
微信小程序端与STM32フィリピン オンライン カジノ端的蓝牙通讯使用的是BLE低功耗蓝牙通讯,并且目前微信小程序开发的连接能力也只能是BLE蓝牙。实现连接的代码流程主要是调用相应的API,获取到蓝牙特定的UUID以及各种服务的特征值,并订阅相关时间,并开启监听,记录下传输过来的フィリピン オンライン カジノ,如图十:
(6)小程序端的实时フィリピン オンライン カジノ查看
要实现小程序端的实时フィリピン オンライン カジノ查看,首先考虑フィリピン オンライン カジノ怎么获取?フィリピン オンライン カジノ获取是采用BLE蓝牙接收フィリピン オンライン カジノ,又因为MTU限制为20字节,只能分包发送,所以对于实时心率,温度,压力フィリピン オンライン カジノ,我用了三个フィリピン オンライン カジノ包来存储它们。因为这是实时フィリピン オンライン カジノ,不需要保存到云端フィリピン オンライン カジノ库,我用的方法是使用全局缓存,新フィリピン オンライン カジノ会自然覆盖老フィリピン オンライン カジノ。好存好取,且具有全局存储的效果,解决了页面间的フィリピン オンライン カジノ传递问题。如图十一:
对于フィリピン オンライン カジノ库的操作,可概括为“增删查改”,用于フィリピン オンライン カジノ管理。程序中用到フィリピン オンライン カジノ库,主要是“增,查,改”的功能。“增”就是写入フィリピン オンライン カジノ到フィリピン オンライン カジノ库对应集合,写入的フィリピン オンライン カジノ就是“字段”。“查”用的更为广泛,小程序页面显示的フィリピン オンライン カジノ库相关内容都是从フィリピン オンライン カジノ库中获取的,该过程就是“查”。“改”操作不会新增字段,只会在原有フィリピン オンライン カジノ上进行更改。下图十二是运用到フィリピン オンライン カジノ库的相关界面:
三、下一步工作计划
1.完善周报、日报的具体展示:对于微信小程序端的周报界面以及日报界面,我将改进之前的UI设计,并采用合理的フィリピン オンライン カジノ评估方式。
2.制作外壳并进行装配:根据相关尺寸进行外壳フィリピン オンライン カジノ,并考虑到实际使用中的一些操作设置外形,并预留相关接口、空间。
问题一:怎么实现微信小程序与STM32单片机之间的フィリピン オンライン カジノ传输的?
回答:我使用的是BLE4.0蓝牙,微信小程序端连接硬件能力有限,只支持蓝牙低功耗 (BLE)。フィリピン オンライン カジノ传输受限于MTU(20字节),所有フィリピン オンライン カジノ我才用了分包发送,再根据每个包的“头尾”归类区分,一部分全局缓存在本地,一部分上传フィリピン オンライン カジノ库。
问题二:在开发フィリピン オンライン カジノ过程中,有遇到哪些困难吗?
回答:有的。比如说:串口通信协议不正确,无法进行フィリピン オンライン カジノ传输;多路AD传感器怎么设置;微信小程序怎么调用蓝牙相关API;云端フィリピン オンライン カジノ库怎么操作,增删查改;算法的实现,文件系统移植,文件创建管理等等很多问题,不过在刘老师的指导下,通过视频学习和查资料,这些问题都解决了。
在完成毕业フィリピン オンライン カジノ的过程中,我学到了很多知识与技能。我认为知识和技能是需要积累的,毕业フィリピン オンライン カジノ所需要的知识比较广泛,这也锻炼了我的自主学习能力。在假期,我就开始学习STM32相关知识,并跟着网课学习微信小程序的开发实战,并注重将理论知识同实际操作相结合。同时,也锻炼了我的表达能力和文字攥写能力,只有好的表达才能让对方清楚你的痛点和难点,并给到你帮助。
在这过程中,刘建阳老师给了我极大的帮助和指导。特别是在方向上,功能实现上都给了我很多启发和建议。毕业フィリピン オンライン カジノ不是一蹴而就的,需要在交流中不断修改,不断完善。
毕业フィリピン オンライン カジノ工作接近尾声,我将继续努力钻研,按计划完成フィリピン オンライン カジノ任务,圆满完成毕业フィリピン オンライン カジノ,交出一份令人满意的答卷。