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

这篇具有很好参考价值的文章主要介绍了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库 基础入门学习笔记:物联网项目开发流程和思路,# STM32,stm32,学习,笔记

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

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.完成手机蓝牙设置的程序

开发过程中的关注重点文章来源地址https://www.toymoban.com/news/detail-639897.html

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

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

c.算法的处理

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

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

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

5.测试效果与调试

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

1.完成错误报警的程序

2.完成操作异常的程序

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

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

4.程序排版整理

5.导出正式版hex并存档

到了这里,关于STM32基于CubeIDE和HAL库 基础入门学习笔记:物联网项目开发流程和思路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32CubeIDE---HAL库PWM使用速记

    理论分析:HAL库函数之呼吸灯——PWM波 - 简书 (jianshu.com) 预分频系数 PSC 自动重装载值 ARR 捕获/比较寄存器值 CCR 频率计算:定时器频率 / (PSC+1) / (ARR+1) 占空比计算:CCRx / ARR 此外有效电平是可以设置的。 HAL_TIM_PWM_Start要放在定时器结构体初始化后、PWM设置前。 __HAL_TIM_SET_COM

    2024年02月15日
    浏览(29)
  • STM32基础入门学习笔记:内部高级功能应用

    文章目录: 一:低功耗模式 1.睡眠模式测试程序 NVIC.h NVIC.c key.h key.c main.c 2.停机模式测试程序 main.c 3.待机模式测试程序 main.c 二:看门狗 1.独立看门狗测试程序 iwdg.h iwdg.c main.c 2.窗口看门狗测试程序 wwdg.h wwdg.c main.c 三:TIM定时器 tim.h tim.c main.c 四:CRC循环冗余校验计算单元与

    2024年02月13日
    浏览(34)
  • 【物联网学习笔记】CubeMx+STM32F407ZGT6+LWIP最最最基础配置

    使用正点原子探索者开发板 板载芯片:STM32F407ZGT6 PHY芯片:LAN8720 LWIP版本:2.1.2 本次目标:先ping通开发板再说! 修订: · 2024.4.23经评论区反馈又重新下载6.10版本CubeMX,发现确实没有Advanced Parameters,目前使用6.6.1存在,如有需要可以改成这个版本。 更改引脚 在ethernetif.c中找

    2024年04月27日
    浏览(65)
  • 【STM32CubeIDE】STM32CubeIDE_快速入门

    本文主要通过新建LED控制工程来简要介绍STM32CubeIDE的简单使用方法 双击桌面快捷方式或者通过Start目录打开软件 在弹出的界面中选择Workspace地址 本人理解此workspace是软件的工作空间,存放软件配置的一些文件 点击新建工程图标或者在菜单栏中选择新建工程 弹出加载界面等待

    2023年04月23日
    浏览(46)
  • 【STM32】HAL库入门学习

    目录 1. 前言 2. Hal库特点 3. 获取方法 3.1 下载 3.2 所在目录 4. HAL库用户手册结构 4.1 用户手册的文档 4.2 “ADC”外设解析 4.3 Exported Functions 4.4 Exported Types 4.5 Exported Constants 4.6 Exported Macros 4.6 Private Contants 4.7 Private Macros 4.8 Private Functions 5. 结论         ST 为开发者提供了非常方

    2024年02月12日
    浏览(35)
  • STM32CubeIDE + HAL + STM32f103C8T6 系列教程1 ---板载PC13LED闪烁

    之前的系列教程都是基于Arduino的,但是公司招聘51和stm32的开发还是多些,所以特别开了一个stm32的系列。 这个系列特点是注重了 Arduino 编程思维和习惯下向STM32开发的过渡 。前期没有涉及到太多寄存器相关的知识,利用HAL库和STM32CubeIDE快速入手STM32的数字输入/输出、模拟输

    2024年02月16日
    浏览(35)
  • STM32基础入门学习笔记:核心板 电路原理与驱动编程

    文章目录: 一:LED灯操作  1.LED灯的点亮和熄灭 延迟闪烁 main.c  led.c led.h BitAction枚举 2.LED呼吸灯(灯的强弱交替变化) main.c  delay.c 3.按键控制LED灯 key.h key.c main.c  二:FLASH读写程序(有记忆可以保存断电之前的状态) flash.h flash.c main.c flash操作注意事项 三:蜂鸣器驱动程序(

    2024年02月13日
    浏览(28)
  • stm32——hal库学习笔记(外部中断)

    一、什么是中断?(了解) 打断CPU执行正常的程序,转而处理紧急程序,然后返回原暂停的程序继续运行,就叫中断 中断的作用和意义 中断的意义:高效处理紧急程序,不会一直占用CPU资源 STM32 GPIO外部中断简图 二、NVIC(熟悉) 2.1,NVIC基本概念 2.2,NVIC相关寄存器介绍

    2024年02月22日
    浏览(46)
  • stm32——hal库学习笔记(GPIO)

    一、GPIO的八种模式分析(熟悉) GPIO_Mode_IN_FLOATING 浮空输入 GPIO_Mode_IPU 上拉输入 GPIO_Mode_IPD 下拉输入 GPIO_Mode_AIN 模拟输入 GPIO_Mode_Out_OD 开漏输出 GPIO_Mode_Out_PP 推挽输出 GPIO_Mode_AF_OD 复用开漏输出 GPIO_Mode_AF_PP 复用推挽输出 应用总结 1、上拉输入、下拉输入可以用来检测外部信号

    2024年02月21日
    浏览(31)
  • stm32——hal库学习笔记(IWDG)

    IWDG有什么作用? 键寄存器(IWDG_KR) 预分频器寄存器 (IWDG_PR) 重装载寄存器(IWDG_RLR) 状态寄存器(IWDG_SR) 寄存器配置操作步骤(了解) IWDG最短最长超时时间(F1) HAL库相关函数介绍 wdg.c wdg.h main.c

    2024年02月21日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包