百问网物联网实战学习笔记-程序框架

2023-11-02 22:41

本文主要是介绍百问网物联网实战学习笔记-程序框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、需求分析

需求开发就是对开发前期的管理,与客户的沟通过程,可以分为4个阶段:需求获取、需求分析、编写需求和需求验证

 按键和LED就不多说了,相信大家都非常熟悉了,而网络通信受限于mini开发板的接口,我们选择了一个UART接口的WiFi模块ESP8266,使用的协议选择了MQTT。而开发模式我们有两个选择:裸机模式和RTOS模式。

1.按键使用定时器消抖的方式:

 一般 硬件上已经使用了RC电路进行了滤波消抖,但是还是需要软件上的对于按键的抖动的消除方式。如果是RTOS模式的话,我们还可以将按键的消抖交给RTOS的软件定时器来做,可以选择的方案很多,根据自己的应用场景、处理器资源、任务处理效率等多方面考虑,灵活选择处理。

2. 对于WiFi模块我们还提及到了一个环形缓冲区的数据保存方法,对于环形缓冲区的基本概念及其C代码实现,在后面会讲到

3.小结:

二 流程图

 

 

而且在工作中,如果要做一个软件设计的说明书或者报告,那么画一个系统的程序流程图应该都少不了。①主板和服务器网络通信;② 通过服务器数据控制LED;③将按键信息上传给服务器;调试信息的输出,也就是第四个任务:④ 调试信息输出

又根据这几个任务控制的设备、使用到的协议、硬件平台以及底层驱动,将项目的系统分成了这样一个层次:

 

 设备层是将可能用到的外设都统一封装到一起提供控制接口,通过设备号、设备名称等来判断需要控制具体的哪个外设,因为这次的应用层可能用到的是deviceA的led0,而另一个应用用到的是led1,那么不同应用只需要调用同一个设备层的api就能控制各自需求的设备,而不是让应用层去做区分,应用层只管传参数就行

 

这篇关于百问网物联网实战学习笔记-程序框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/333804

相关文章

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

Java实战之自助进行多张图片合成拼接

《Java实战之自助进行多张图片合成拼接》在当今数字化时代,图像处理技术在各个领域都发挥着至关重要的作用,本文为大家详细介绍了如何使用Java实现多张图片合成拼接,需要的可以了解下... 目录前言一、图片合成需求描述二、图片合成设计与实现1、编程语言2、基础数据准备3、图片合成流程4、图片合成实现三、总结前

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1