基于STM32F的智能家居服务网关设计
3.2 软件设计流程
软件设计流程分为服务网关根任务软件设计流程和WSN 网关软件设计流程。
操作系统环境中,每个任务都是无限循环的相对独立的功能模块,通常都会有一个根任务,它应
该被设定该系统的核心功能业务。如图5 为根任务程序流图,首先板级初始化是对硬件的抽象和封装,为应用程序提供更友好的接口。然后创建其余6 个应用任务,创建格式与创建开始任务类似。最后程序进入WEB 服务主循环程序,为了让别的优先级低的任务能够执行,必须调用任务挂起函数。

图5 根任务流程
(2)WSN 网关软件设计流程
WSN 网关也叫WSN 协调器,它是整个传感器网络的总控制中心和数据采集的汇聚点,无线传感
器节点分布在其覆盖范围内[5]。传感网网关的软件流图如图6 所示。程序开始建立Zigbee 网络,此时网络中没有其他节点。然后进入无线监控程序,查找是否有请求加入网络的信号产生,若有新节点信号申请则根据信号类型添加入网并分配网络号,若不是新节点,则判定节点传输的数据有效性,有效则接收并发送到ARM 网关,否则丢弃。

图6 WSN 网关软件流程
4 结语
文中系统地讨论了物联网服务网关这一项基于物联网应用的关键性技术[6-7],结合家庭自动化进行
应用设计。在硬件方面,按照嵌入式板级硬件设计流程,设计并实现了一种基于ARM 处理器的低成本网关硬件。软件设计上采用自顶向下和分层的设计方法,结合网关硬件,利用嵌入式操作系统
uCOS-II 和协议栈LwIP,搭建了一个应用开发平台,为应用软件的开发提供了良好的软件环境。
评论