3114|5

23

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

F7-空调精灵进度贴-01 [复制链接]

本帖最后由 cedar_xuesong 于 2015-10-15 09:13 编辑

项目:空调精灵
项目介绍:请参考 https://bbs.eeworld.com.cn/thread-472487-1-1.html

当前进度:
1)拿到板子,搭建F7环境和熟悉F7例程,移植RTT到F7
2)模块选型(WI-FI ESP8266,BLE4.0 CC2541)
3)制定软件框架和协议标准,详情参见 https://github.com/cedar-renjun/ ... oc_Software_Arch.md

摘录如下:

软件架构设计

0 适用范围

  1. 本设计规范,仅仅适用于空调精灵的软件架构部分
  2. 第3章模块划分中所列的模块,特制软件功能模块

1 设计原则

  1. 低耦合,高内聚
  2. 便于单元测试,便于集成测试

2 设计要点

  1. 禁止两个模块直接通信
  2. 动态加载和卸载模块,模块的存在与否不影响系统稳定性
  3. 消息动态绑定,发送消息者不依赖特定的模块接收者
  4. 充分隔离,单个模块尽可能少的关联其他模块
  5. 主控模块负责整体工作,外围模块被动接收消息和执行动作

3 模块划分

  1. 红外模块
  2. 主控模块
  3. 消息处理模块
  4. 蓝牙模块
  5. Wi-Fi模块
  6. 服务器模块
  7. 手机模块
  8. 人机输出模块
  9. 人机输入模块

4 模块功能定义

  1. 红外模块
    1. 负责控制红外部分的硬件
    2. 负责红外信号的编码,解码,学习,复现
    3. 只负责处理消息处理模块发送的消息,执行动作
  2. 主控模块
    1. 负责协调整个系统
    2. 只能通过消息处理模块间接和各个模块通信,完成控制功能
  3. 消息处理模块
    1. 负责接收和转发所有的模块消息
    2. 利用消息处理模块来完成解耦和动态绑定功能
  4. 蓝牙模块
    1. 负责连接手机模块
    2. 负责将手机命令通过消息处理模块转发到主控模块
    3. 只能与服务器模块消息处理模块通信
  5. Wi-Fi模块
    1. 负责连接internet网络进行数据库更新
    2. 负责连接MQTT服务器,接收和发送MQTT消息
    3. 只能与服务器模块消息处理模块通信
  6. 服务器模块
    1. 负责连接空调精灵和手机模块
    2. 采用MQTT协议封装
    3. 只能与Wi-Fi模块和手机模块交互
  7. 手机模块
    1. 通过蓝牙或者Wi-Fi来控制空调精灵
    2. 该模块只存在于手机端,以APP的形式存在
    3. 手机模块只能与MQTT服务器或者空调精灵蓝牙4.0模块交互
    4. 手机模块应用层协议,包括但不限于Wi-Fi链路和BLE4.0链路
  8. 人机输出模块
    1. 负责显示各种可视化信息
    2. 负责处理消息处理模块发送过来的主控消息,并执行相应的显示动作
  9. 人机输入模块
    1. 负责采集各种交互输入信号(按键,触摸动作)
    2. 将采集到的动作信号,通过消息处理模块发送到主控模块

5 模块行为定义

  1. 红外模块(TODO)
  2. 主控模块(TODO)
  3. 消息处理模块(TODO)
  4. 蓝牙模块(TODO)
  5. Wi-Fi模块(TODO)
  6. 服务器模块(TODO)
  7. 手机模块(TODO)
  8. 人机输出模块(TODO)
  9. 人机输入模块(TODO)

6 模块相关性

-红外主控消息处理蓝牙Wi-Fi服务器手机人机输出人机输入
红外*
主控*
消息处理******
蓝牙**
Wi-Fi**
服务器**
手机**
人机输出*
人机输入*

7 通信协议

  1. 消息处理模块协议(TODO)
  2. 服务器通信MQTT协议(TODO)
  3. 手机控制协议(TODO)
  4. 红外描述协议(TODO)

8 测试指导

8.1 单元测试

  1. 软件架构设计者编写RTOS软件框架,提供消息分发模块和主控模块
  2. 模块A实现者,先按照协议标准,实现特定消息的接收和处理;然后编写测试线程,模拟相关模块B行为和动作,从而测试自身模块A的功能是否正常
  3. 模块实现者,应充分考虑 1)错误处理 2)模块自身状态处理机制,杜绝任何阻塞CPU操作

8.2 集成测试

  1. 在集成测试之前,每个模块实现者,应保证自身的模块已经通过单元测试,并提供相应的Test Case
  2. 软件集成者负责整体模块测试,如发现bug,则应反馈给对应的模块负责人

9

此帖出自stm32/stm8论坛

最新回复

很强悍 加油  详情 回复 发表于 2015-11-17 12:35

赞赏

1

查看全部赞赏

点赞 关注
 

回复
举报

7671

帖子

2

TA的资源

五彩晶圆(高级)

沙发
 
F7所有项目里第一份看着最规范的和设计相关的文档。虽然内容有待完善,但是规范代表结构和目标比较清晰。
此帖出自stm32/stm8论坛

点评

nmg
待完善的内容待发帖  详情 回复 发表于 2015-10-16 15:56
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 

回复

5263

帖子

239

TA的资源

管理员

板凳
 
freebsder 发表于 2015-10-15 14:22
F7所有项目里第一份看着最规范的和设计相关的文档。虽然内容有待完善,但是规范代表结构和目标比较清晰。

待完善的内容待发帖
此帖出自stm32/stm8论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 

回复

164

帖子

0

TA的资源

一粒金砂(中级)

4
 
很强悍的 啊
此帖出自stm32/stm8论坛
 
 
 

回复

5263

帖子

239

TA的资源

管理员

5
 
坐等cedar进一步内容更新
此帖出自stm32/stm8论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

6107

帖子

4

TA的资源

版主

6
 

很强悍 加油
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表