智慧照明系统产品实力厂家

logo-350-100 - 投影.png

4001-606065

136-0131-2458
139-1181-3828

基于STM32F107的智能家居服务网关设计

0 引言

  随着物联网技术的飞速发展,将传统的Internet与新型的无线传感器网络整合的趋势越来越明显,嵌入式服务网关既是无线传感器网络的协调器网关,又是远程WEB的服务器,它实现两个不同协议的网络之间的通信。同时也是将无线传感器网络接入Internet,从而实现物联网概念的关键设备。物联网服务网关在未来的物联网时代将会扮演非常重要的角色,它将成为连接物联网感知层网络与传统通信网络的纽带。物联网网关可实现感知网络和基础网络以及不同类型的感知网络之间的协议转换,既可以实现广域互联,也可以实现局域互联。并且具有广泛的感知网接入、通信协议转换和强大的系统管理等特点[1]。利用嵌入式系统设计的服务网关可以有效降低成本,利用家庭智能化的普及。

  1 系统总体结构设计

  系统的总体结构如图1所示。在远端的移动智能终端或电脑通过Internet访问到无线传感器网络,而嵌入式WEB服务器提供了交互式的页面访问。如果访问数据量大或者需要对数据有统计、分析及处理,那么需要建立网页服务器和数据库服务器[2]。在物联网框架下的智能家居是一个复杂的系统,需要多人合作完成,如Internet数据库服务器的设计、建立感知层网络。文中重点介绍服务网关的设计,包括嵌入式WEB、近程终端、WSN协调器3个部分所组成的一体化终端。它是两个异构网之间的桥梁,起着重要的衔接作用[3]。

基于STM32F107的智能家居服务网关设计

图1 系统总体框

  2 系统硬件设计

  本设计中智能家居系统的硬件由3部分组成:服务网关、终端节点和路由节点。

  (1)服务网关

  服务网关硬件框图如图2所示。由ARM主控制器、Zigbee模块、以太网PHY、TFT-LCD液晶触摸屏、及最小系统模块5部分组成。

基于STM32F107的智能家居服务网关设计

图2 服务网关硬件框

  主控制器采用基于ARM(Cotex-M3)核的STM32F107互联型微控制器。它拥有64K SRAM、256K FLASH、以太网MAC等丰富的存储器及外设资源。Zigbee模块是由TI公司的CC2430作为主控芯片,在服务网关中它WSN的协调器,通过USART实现与主控制器之间的数据通信。以太网模块采用以太网的物理层芯DM9161A,通过RMII与主控制器相连接,其50M时钟由ARM的MCO提供。液晶触摸屏通过I/O接口与ARM相连,实现人机对话。

(2)终端节点与路由节点

  传感器节点是组成传感网的最基本单元,主要有射频通信模块和传感器数据采集模块组成。终端节点与路由节点的硬件一样,不同之处主要表现在软件上。

  终端节点硬件图如图3所示。根据CC2430的特点,它是一款集Zigbee协议栈、RF射频模块以及增强型51核于一身的SOPC,可以满足对数字或模拟传感器模块收集的数据处理及在WSN中的通传输任务。

基于STM32F107的智能家居服务网关设计

图3终端节点硬件框

  3 系统软件设计

  系统软件分为运行于ARM上的服务网关软件和运行于CC2430模块上的WSN网关软件。考虑到服务网关软件的总体设计的复杂程度以及层次性模块化的设计理念,系统采用嵌入式操作系统uCOS-II作为系统资源的管理,对系统功能任务化。服务网关软件总体设计框图如图4所示。

基于STM32F107的智能家居服务网关设计

图4 服务网关总体设计框

  3.1 服务网关软件层次结构

  服务网关软件层次结构分为:底层驱动层,系统层,应用层。

  (1)底层驱动层

  底层驱动层包括FWLib和BSP。FWLib是ST公司为了对其ARM的支持而推出的驱动支持软件,提供系统初始化函数,对中断和操作系统的支持,存储器分配以及所有片内外设的驱动,从而方便软件的开发。此外,用户还应开发针对应用的板级支持包(BSP),在本系统中BSP的内容主要是应用开发板相关的硬件驱动。

  (2)系统层

  系统层包括了操作系统和中间件软件LwIP,操作系统是对软硬件资源的管理,其他各部分软件都要以操作系统为中心。操作系统移植的过程中,主要任务是改写针对处理器和编译器相关的部分,向上为应用任务提供支持,向下连接驱动程序来实现对硬件的操作[4]。LwIP是一个针对嵌入式系统的TCP/IP协议栈,本程序包含其基本功能:TCP、IP、UDP、ICMP。LwIP 的操作系统模拟层提供了向操作系统移植的方便,因其包括了任务间通信的机制:信号量、消息邮箱。

  (3)应用层

  本设计根据模块化和功能独立性原则,将所有的应用程序分成7个应用任务,分别是引领全局的根任务,与输入输出有关的按键任务和LCD显示任务,与嵌入式WEB相关的TCP发送任务和TCP超时重传任务,与WSN协调器相关的串口数据发送任务和Zigbee控制命令任务。

3.2 软件设计流程

  软件设计流程分为服务网关根任务软件设计流程和WSN网关软件设计流程。

  (1)服务网关根任务软件设计流程

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

基于STM32F107的智能家居服务网关设计

图5 根任务流程

  (2)WSN网关软件设计流程

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

基于STM32F107的智能家居服务网关设计

图6 WSN网关软件流程

  4 结语

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


文章分类: 智能家居
分享到:
AD0I4Or8BBAEGAAgsaWfvgUolaqGjwcwIjgi

地址:北京市海淀区学清路学知轩大厦1813室、1606室

智能路灯控制器

热线电话:4001-606065   

产品咨询:135-2003-9270  136-0131-2458

项目定制:188-0007-1208

AD0I4Or8BBAEGAAgqqWfvgUoy5TyqwQwIjgi

邮箱:13911813828@139.com

商务合作:139-1181-3828

网站地图