一、需求分析

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

物联网管理系统产品需求文档_大数据

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

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

物联网管理系统产品需求文档_网络通信_02

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

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

3.小结:

物联网管理系统产品需求文档_应用层_03

二 流程图

 

物联网管理系统产品需求文档_应用层_04

 

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

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

物联网管理系统产品需求文档_大数据_05

 

物联网管理系统产品需求文档_应用层_06

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