基于nRF24L01的家用电器监控系统的分析与设计

时间:2022-10-29 03:59:53

基于nRF24L01的家用电器监控系统的分析与设计

摘要:为了让家用电器控制简捷化、系统化,实现节约用电、安全用电的目标,本文介绍了一套基于nRF24L01的家用电器监控系统。该系统以nRF24L01为无线通信芯片,实现移动终端和智能插座间的相互通信。实验表明,用户可以通过该系统的移动终端实现对电器的远程控制、一键控制、自动控制以及系统化控制。

关键词:智能家居;家用电器监控系统;nRF24L01;智能插座

1概述

当今,推陈出新的各类家电,虽然给人们的生活增添了方便与舒适,但如何做到节约用电、安全用电一直是社会热点话题。据公安消防部门统计结果显示,我国近10年来发生的电器火灾事故中,约30%是由电源插座引起的,居电器火灾失火原因之首。

现面市的智能家电管理系统,如米家、京东微联等,虽然提供多种情景模式实现了特定场景下对多个电器的同时操作,但未对每个电器进行归类,导致用户在家中同类电器较多时难以分清实际操作的具体电器。由于现阶段智能插座尚未普及,这一做法可勉强满足用户需求,但随着智能插座使用量增多,其缺点将非常明显。

因此,设计一套以电器所在房间和使用模式为分类依据的家用电器监控系统显得非常必要。该系统可在移动终端模拟家用电器监控系统,方便用户控制智能插座的开闭,以达到直观控制家中电器的目的。

2系统总体设计

本家用电器监控系统的实现分为软件实现和硬件实现两大模块。系统软件在采用专用开发板的移动终端运行。移动终端搭载Ubunm14.04,搭建nRF24L01实现无线通信。本系统软件采用桌面化设计,以电器所在房间和使用模式为分类依据,将每个家用电器抽象为一个电器系统,用户通过管理该系统实现对家电的控制。移动终端发出的命令经由nRF24L01所搭建的点对多点无线通信系统传递给智能插座,智能插座以单片机为主控芯片,搭配电流检测模块,一旦发现电器动作异常,即可自动断电。

3硬件设计

3.1无线通信芯片选择

本无线通信系统为点对多点模式,实现难度较大。nRF24L01无线收发一体芯片由于工作在2.4GHz自由频段,可在全球无线市场畅通无阻,同时支持多点间通信,最高传输速率可达1Mb/s,有125个频道可供选择,满足多频及跳频需求,完全适用于本系统。

3.2智能插座端硬件设计

智能插座采用模块化方式设计,硬件结构如图1所示,以单片机MSP430F169为控制处理器,使用专用电流检测芯片INA282来检y电器实时使用电流。INA282的电压增益为50,在实际使用时通常将小电阻康铜丝(本系统为0.02Ω)串联人负载电路,测得康铜丝两端的电压,该电压即为康铜丝两端实际电压的50倍,再将此电压值通过MSP430F169自带的AD输入引脚传输至单片机,单片机通过欧姆定律计算得出实际电流值,再将多个电流数据合并处理,最终判断当前电器使用是否正常。一旦电器使用不当或者漏电,将立即自动切断开关。智能插座端搭载的nRF24L01模块通过中断不断扫描,确保准确接收来自移动终端的命令。智能插座端结合移动终端的命令与当前电器使用电流,对当前电器的关闭进行判断,但当前使用电流的优先级高于移动终端的命令。

3.3移动终端硬件设计

移动终端的主要硬件平台为GEC210。GEC210是一款高性能的Codex A8核心板,还引出部分引脚用于扩展电路,可搭配Linux等高级操作系统,非常适合开发本系统。该开发板搭载nRF24L01无线通信模块,由于本系统运行在Linux上,底层没有nRF24L01的驱动,因此需要先编写驱动,再将其编译至内核。

4软件设计

4.1移动终端软件设计

基于智能插座的电器监控系统软件采用C语言编写,并在PC端的Source insight软件上编程实现,选取arm-linux-gcc编译器进行编译、链接,再转换为可执行文件,然后在虚拟机上进行界面调试。

4.1.1数据结构设计

由于家用电器种类繁多,因此本软件以树为主要数据结构。其中包括:

①房间类别树,共有五层,包括房间类别、房间间数、电器所在房间以及该房间的其他信息;

②电器类别树,共有四层,包括电器类数与个数、任一电器所属分类以及该电器的其他信息;

③电器总表,包括所有电器及每一个电器的所有使用信息;

④工作模式表,每一个工作模式对应一张工作模式表,通过此表管理对应模式下的电器添加、删除及该模式的开关状态。

4.1.2软件设计

本软件采用桌面化设计,运用简单有趣的子图片来实现对大部分电器的控制。软件的每一个主界面均由子图片依次组合显示而成。用户在使用时只需点击具有相应含义的图片,软件随即通过输入判别算法分析出用户触摸的位置从而获取用户的命令,然后实现相应处理。软件主界面如图2所示,软件内有房间添加与删除、电器添加与删除、模式管理、输入判断、无线通信、显示等多个模块。本软件采用一个主C文件调用多个子C文件,多个子C文件间相互调用的形式,不同的功能由不同的C文件完成,这样的程序编写既方便编译者调试、查看,又可让程序模块化呈现,便于修改。同时,本系统还设有外出模式、日常模式、安全模式、睡眠模式、自定义模式等快捷方式,并为每一个模式分配一张工作模式表,在此功能中实现在特定场合如外出、睡觉时多个电器的一键开关,可以防止隐私泄露等。

4.2智能插座端程序设计

智能插座端程序采用C语言编写,在PC端的IAR Embed-ded workbench软件上实现编译、链接、转化为.hex文件,并通过串口下载到单片机上。智能插座程序流程图如图3所示,单片机一上电就开始检测插座端的使用电流,将采集的数据通过算法处理后与额定电流进行比较,若电流过大则立即切断电器使用电路,还可以进行无线接收检测,根据移动终端的命令对电路进行操作。

5结论

本系统不仅可以有效预防漏电、插座使用不当等引起的电器火灾事故,还可以根据电器的实际使用需求做到随开随用,极大节约家庭用电量。同时,该系统支持随时查看家里电器的使用情况,随用随开,节约用电。

上一篇:中职速录教学探究 下一篇:基于智能设备的实验室开放预约系统