智能家居云管家
2018-11-14桂林电子科技大学信息科技学院陈永威冯必庆范春鹏陈光磊
桂林电子科技大学信息科技学院 陈永威 冯必庆 范春鹏 赵 雪 陈光磊
本文介绍了设计一个智能家居云管家让它去帮助人们管理家中一切事物的智能设备,如:通过互联网,对电视、音响、门禁、安防、监控、照明、远程家电控制、背景音乐等用电器统一管理,创造了高效、舒适、安全、便捷、环保的居住环境。
通过对市场上大多数智能家居产品的了解,发现市场上出售的产品都是通过改变对家居的控制方法达到所谓的“智能”,绝大部分这样的工作还需要人去完成。所以智能家居云管家励志为用户解决家中“后顾之忧”,让家居能在用户出差或出游时代为打理家中的一切,包括室内温湿度控制,家电开关状况等,也能在深夜熟睡时代替用户看家护院,甚至为年老用户自动提供适合老年人的家居环境,并能将温湿度,红外警报,烟雾警报,门窗状态在第一时间通过云端发送到用户的手机上。
引言:几年前,“智能家居”还是一个遥不可及、纯粹想象的概念。而如今,随着科技的发展和人民生活水平的提高,数码屋、抗菌开关、光化照明、智能开关、智能家居系统,这些日趋熟悉与亲切的字眼,让我们发现:智能家居新时代来临了!国内的华为、小米等厂商都加入了智能家居这个领域的争夺,智能家居的市场百花齐放,令用户眼花缭乱。各式各样的APP充斥着用户的手机,在众多APP的切换中用户苦不堪言。由此引发设想,设计一个超级终端,能管理家中所有的智能设备,令智能家居真正的褪繁从简,引入陀螺仪传感器实现姿态控制给用户带来前所未有的操作快感。
1 系统方案
1.1 主控选择
在从成本,功耗,环境,性能等多方面考虑我们最终选取了STM32F103“增强型”系列。STM32F1系列属于中低端32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3,增强型系列时钟频率达到72MHz,工作温度范围:-40℃至+85℃,保证了在极端环境正常运行。由此选用该款芯片为主控。
1.2 通信协议选择
由图1-1可知ZigBee是基于IEEE802.15.4标准的低功耗局域网协议。其特点是近距离、低复杂度、自组织、低功耗、低数据速率。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。简言之,ZigBee就是一种便宜,低功耗的近距离无线组网通讯技术。在发射功率为0dBm的情况下,蓝牙通常能有10米的作用范围。而ZigBee在室内通常能达到30-50米的作用距离,在室外空旷地带甚至可以达到400米(TI CC2530不加功率放大)。所以ZigBee可归为低速率的短距离无线通信技术。因此通过该款Zigbee传感器来完成我们对物联网的构建。
1.3 系统选择
每个电子设备都拥有一个嵌入式系统来完成各个部分的任务。如图1-2可知uC/OS-III(Micro C OS Three 微型的C 语言编写操作系统第3版)是一个可升级的,可固化的,基于优先级的实时内核。它对任务的个数无限制。uC/OS-III 是一个第3 代的系统内核,支持现代实时内核所期待的大部分功能。例如资源管理,同步,任务间的通信等。然而,uC/OS-III 提供的特色功能在其它的实时内核中是找不到的,比如说完备的运行时间测量性能,直接地发送信号或者消息到任务,任务可以同时等待多个内核对象等。而且uC/OS-III最主要的目标是提供一流的实时内核以适应更新很快的嵌入式产品。使用像uC/OS-III 那样具有雄厚基础和稳定框架的商业实时内核,能够帮助设计师们处理日益复杂的嵌入式设计。
图1-1 Zighee、Bluetooth、WiFi、传输标准对比
表1-2 主流嵌入式硬件支持对比
1.4 无线充电方案
电源充电部分我们采用当前最流行的无线充电技术,这种方式简捷,方便,告别了原始线充带来的种种障碍。目前市场上已经出现了各式各样的无线充电模块,我们只要设计出一个能将接收线圈转换出来的电压再进行充电的电路即可实现本功能,发射模块原理图如图1-3所示。
图1-3 无线充电发射原理图
1.5 云端选择
使用氦氪云来实现远程距离的传输,氦氪云是属于杭州氦氪科技,是做智能家居一体化解决方案的,可以理解成一站式。通俗点说氦氪就是帮助客户解决产品改造的要求,并且物联网技术的成本都很透明的,而氦氪云的优势就在于性价比。
1.6 外观设计
如图1-4所示外观整体采用3打印技术制作,颜色为整洁的乳白色。尺寸设计符合人体工程学,长宽高分别为:6.5cm*6.5cm*6.5cm,适合一手操控。蜂鸣器以及麦克风位于机身左侧,1.44寸TFT屏位于机身前端。
图1-4 智能家居云管家外观设计图
1.7 整体方案
图1-5为整体框架图,通过Zigbee将家中所有可控设备经传感器,数据通过Zigbee发送至智能家居云管家中,我们的“管家”通过处理这些数据开启相应的任务,对家庭进行管理。同时会将家中的状况时时通过WIFI传送至云端,云端再将数据发送至手机APP,方便用户查看。
同时用户忙碌时也能通过语音模块进行操作,或者通过姿态进行手动控制,而且在“管家”的底部还装载了无线充电线圈,方便用户随时随地的快捷充电。
图1-5 整体框架图
2 实现原理
2.1 硬件部分
2.1.1 主板电路实现
主板硬件款图如图2-1所示:主控STM32F103单片机的3个串口分别控制Zigbee,WIFI以及语音的通信,并且通过IO口模拟SPI通信协议对显示屏操作,显示对应的控制画面,同时也是采用IO口模拟SPI通信协议对MPU-6050陀螺仪进行姿态数据的获取。
对温湿度的采集是通过IIC通信协议对DHT11温湿度模块获取温湿度的数据。
整体设计为模块化可拆卸设计,方面调试与维护。
图2-1 主板硬件款图
2.1.2 无线充电的实现
采用标准电流的工作方式进行充电,依据法拉第的电生磁原理,在发射线圈部分设计了出一块适合普通安卓线连接的电路结构图,使接收线圈与之感应。在接收线圈部分通过接收线圈和T3168芯片转换出来的5V的额定电压经过升压模块将升到12V输入到充电电路中,由于我们是给7.4v的锂电池充电的,考虑到安全性方面我们采用的是一款工作电压为12V~9V专门给锂电池充电的SUN4004S功能芯片。
2.2 软件部分
2.2.1 uC/OS-III的任务管理实现
图2-2 任务的处理流程图
任务的处理流程如图2-2所示:在我们的智能家居云管家中,搭载ucosiii的最大好处就是提供多线程,在实时操作系统uCos里,多线程被称为多任务(Task)。多任务并不是CPU能真正同时运行多个程序,实际是靠CPU在多个任务之间转换切换实现的,CPU轮番的服务于一系列的任务,这样CPU在宏观上好像在同时执行多个任务,实际在微观上CPU绝对是“单任务”的。这里要注意区别多线程和多核,如果系统里是有多个CPU,则可以实现真正的多线程了。
在程序中我们构建了四个任务,分别是:串口任务,用来管理MCU接收和发送三个串口。陀螺仪数据采集任务,用于实时获取姿态信息。已经主程序任务:用于实时显示必要信息。最后还有个启动任务的引导任务。经过合理的调试保证了在上电状态都至少有俩任务在线,保证最优质的服务。
2.2.2 安卓客户端
当今社会是一个网络化和信息化的社会,科技日渐发达,物质生活日渐丰富,自然而然,社会竞争也日趋激烈。要在这样的一个社会中及时获得信息,正确并有效地分析。从目前获得消息的各种渠道来分析,最为快捷方便的莫过于我们的智能手机了。它携带方便,能够让我们无论何时何地都能够及时了解外界发生的一切。而Android系统又是所有智能操作系统中份额最大的,超过80%。它以开源免费的特色而深受广大消费者和开发者的喜爱。无论是在国内还是国外,一跃成为了份额最高的智能手机操作系统。研究它,了解它的各个组件使用原理是十分有意义的。
2.3 陀螺仪数据计算
陀螺仪芯片采用MPU6050,通过读取陀螺仪芯片内部寄存去获取原始数据,再数字运动处理器,即DMP,并且,InvenSense提供了一个MPU6050的嵌入式运动驱动库,结合MPU6050的DMP,可以将我们的原始数据,直接转换成四元数输出,而得到四元数之后,就可以很方便的计算出欧拉角,从而得到yaw、roll和pitch。使用内置的DMP,可以大大简化代码设计,MCU不用进行姿态解算过程,大大降低了MCU的负担,从而有更多的时间去处理其他事件,提高系统实时性。
在经过多次的采样数据计算出控制量与yaw、roll和pitch的关系。
表达式如下:
LED亮度:LED_degree = -yaw/3.1;
温度:temperature_degree = -0.2*yaw-22;
音乐大小:music_gree = -0.26*yaw-13.2;
计算出控制量,然后通过Zigbee发送给下位机执行。
图2-3 氦氪云整体流程图
2.4 云端
如图2-3所示选择标准透传固件模块对接的开发者在设备开发中只需要关注MCU开发,设备配网、设备连接、消息收发等流程已在氦氪模块中完成。
3 结论
随着科技发达、时代的发展,智能家居也逐渐步入人们家庭中。智能云管家最基本的要求是操作简单、使用方便、智能管理用电器。让人们摆脱复杂繁琐的传统操作,提高生活效率。智能家居云管家具备联网的功能:当连接上WIFI之后人们可以通过手机或者互联网在任何地点、任何时候,进行查看和操控家中用电器的状态,如:下班回家用手机远程打开空调,有人入侵时自动打开摄像头并将画面传送到互联网上等各种功能。给人们生活的处所安装一个智慧的“大脑”,使居住更舒适。让科技使人们的生活变得更加的简单化。