STM32基于CubeIDE和HAL库 基础入门学习笔记:物联网项目开发流程和思路

文章目录:

第一部分:项目开始前的计划与准备

1.项目策划和开发规范 

1.1 项目要求文档

1.2 技术实现文档

1.3 开发规范

2.创建项目工程与日志

第二部分:调通硬件电路与驱动程序

第三部分:编写最基础的应用程序

第四部分:完成最终要求、反复调试

第五部分:程序优化、异常状态测试

第六部分:排版与注释、整理与存档


第一部分:项目开始前的计划与准备

1.项目策划和开发规范 

1.1 项目要求文档

产品名:带物联网功能的远程控制温湿度控制加热灯的产品主要功能:
    1.可读出环境的温湿度值,在设置的温度时控制加热灯开关

    2.在现场可用手机连接产品,在手机上显示温湿度值,并设置开关灯的阈值

    3.可在物联网平台上显示温湿度值,设置开关灯阈值,可手动开关灯、可开关机

    4.在系统出现故障时蜂鸣器报警,并将报警事件上传云平台

    5.可通过光敏电阻判断开关灯是否成功,可用电位器设置光敏电阻的灵敏度

    6.可在产品上通过按键设置开机或待机

    7.使用手机充电器转5V的电源供电


所有功能在功能强大、性能优异的洋桃loT开发板上实现
生产成本:每套小于300元
开发周期:15天
提供:提供条理清晰、注释详细的源工程、提供用于批量产品用的HEX文件、提供电路原理图、提供一套用于测试和验收的样品
开发报价:请按以上要求给出报价

提取硬件要求

DHT11传感器:温湿度值
继电器自动开关:开关加热灯
蓝牙模块:手机CC2541
WIFI模块:ESP8266
蜂鸣器
光敏电阻
电位器
按键
USB电源
洋桃loT开发板

提取要求的缺失 

1.温湿度范围?最小分辨率要求?
    0~50℃ ±2℃

2.有无控制灯亮度控制要求?
    只控制加热灯的开和关

3.是否需要开发蓝牙专用APP?
    不需要,用蓝牙调试器软件临时使用

4.是否有指定的云平台?
    阿里云

5.WIFI模块连接路由器?
    WIFI模块连接到定时的家用路由器

6.上传云平台的间隔时间要求?
    每5分钟左右上传一次,时间不要求准确

7.设置开关灯阈值的范围?
    这个在现场测试能用就行,由于不同型号的灯的亮度不同,需要用电位器设置

8.蜂鸣器的音量要求?报警时长?
    没有要求,3分钟后自动停止,也可按KEY2按键手动停止

9.光照强度范围?
    到现场调试即可,没有要求

10.有无用功耗要求?
    没有功耗要求

11.产品是长期供电还是经常开关?
    长时间工作,需要考虑长时间工作时死机时能自动恢复

12.稳定性的要求?
    温度控制开关灯要稳定工作,WIFI蓝牙等辅助功能不需要稳定

13.产品尺寸与外壳的要求?
    没有要求

1.2 技术实现文档

 STM32基于CubeIDE和HAL库 基础入门学习笔记:物联网项目开发流程和思路_第1张图片

 STM32基于CubeIDE和HAL库 基础入门学习笔记:物联网项目开发流程和思路_第2张图片

1.3 开发规范

1.每一阶段开发要做工程备份
每天开发结束,把程序打包RAR备份,标题注明当前的程序状态

2.先调通硬件再做应用层程序开发
先写出全部硬件的测试程序,后续开发中怀疑硬件问题可用此程序测试

3.切换到产品使用者的角度来做测试
开发者的角度不会有好用的设计,必须有开发者和使用者的双重角色

4.重视产品异常情况的纠错处理,重视产品长时间运行的稳定性
“能用”不是结束,考虑异常情况的错误可能,还要长时间烤机测试

5.注重程序的结构关系和可读性
防止未来看不懂自己写的程序,程序要结构清晰、注释丰富、易理解

2.创建项目工程与日志

1.创建自己的项目文件夹:并取名(含版本)

2.新建word文档保存项目要求:记录项目日志

3.从素材库中导入素材:节约时间

4.打开CubeMX
    4.1 用不到的功能端口全部取消定义,关闭不需要的功能
    4.2 进行相关设置

第二部分:调通硬件电路与驱动程序

1.调通硬件

2.移植各功能驱动程序

3.编写功能测试应用程序

第三部分:编写最基础的应用程序

1.完成温度控制加热灯的程序

2.完成按键和电位器设置的程序

3.完成手机蓝牙设置的程序

开发过程中的关注重点

a.多功能有机组合和相互关联

b.程序代码执行的先后顺序

c.算法的处理

d.裸机程序抢占CPU的问题

第四部分:完成最终要求、反复调试

4.完成阿里云平台设置的程序

5.测试效果与调试

第五部分:程序优化、异常状态测试

1.完成错误报警的程序

2.完成操作异常的程序

3.完成稳定性处理的程序

第六部分:排版与注释、整理与存档

4.程序排版整理

5.导出正式版hex并存档

你可能感兴趣的:(#,STM32,stm32,学习,笔记)