STM32 based on CubeIDE and HAL library basics entry study notes: IoT project development process and ideas

Article directory:

Part 1: Planning and preparation before the start of the project

1. Project planning and development specifications 

1.1 Project Requirements Document

1.2 Technical Implementation Document

1.3 Development Specifications

2. Create project project and log

Part 2: Adjust the hardware circuit and driver

Part III: Writing the most basic application

Part 4: Complete the final requirements and repeatedly debug

Part V: Program Optimization, Abnormal State Test

Part VI: Layout and annotation, organization and archiving


Part 1: Planning and preparation before the start of the project

1. Project planning and development specifications 

1.1 Project Requirements Document

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

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

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

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

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

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

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


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

Extract hardware requirements

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

Absence of extraction requirements 

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 Technical Implementation Document

 

 

1.3 Development Specifications

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

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

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

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

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

2. Create project project and log

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

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

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

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

Part 2: Adjust the hardware circuit and driver

1.调通硬件

2.移植各功能驱动程序

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

Part III: Writing the most basic application

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

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

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

Focus during development

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

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

c.算法的处理

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

Part 4: Complete the final requirements and repeatedly debug

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

5.测试效果与调试

Part V: Program Optimization, Abnormal State Test

1.完成错误报警的程序

2.完成操作异常的程序

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

Part VI: Layout and annotation, organization and archiving

4.程序排版整理

5.导出正式版hex并存档

Guess you like

Origin blog.csdn.net/liu17234050/article/details/132212928