基于安卓操作系统的智能家居系统
作者: 来源: 2021-08-18 22:00:10
从最初提出设备信息化到今天,随着物联网技术的成熟,市场上各种智能家电不断涌现。但目前的情况是,不同品牌的产品相互独立,无法互联互通。因此,对于大多数中低收入人群来说,智能家居只是一种独立的智能家具。目前家电行业竞争激烈,商场没有普遍接受的标准。基于此,团队利用ZigBee搭建家庭局域网,连接家庭系统,使其完整,解决不同产品之间的通信障碍问题。
1智能家居系统总体设计方案
系统总体设计方案如下。
STM32通过网络模块接收来自服务器的指令,并根据指令向ZigBee传感器网络发送信号,控制相应继电器的通断,实现用户对家庭系统的控制;同时通过网络将家庭工作状态、室内烟雾浓度和温湿度反馈给ARM芯片,并通过网络模块发送给服务器。服务器通过广域网接收和发送安卓终端的数据,实现用户对家庭系统的远程监控。
1.1硬件设计
ARM处理器采用STM32F103ZET6芯片,基于高性能ARM。CortexTM的32位RISC核心处理器,芯片频率高达72 MHz,采用I2C、SPI、PWM等总线接口,具有体积小、性能强、便携性好的优点,可用于控制设备。
传感器用于获取家居环境参数,主要检测对象为烟雾浓度、温度和湿度。前者采用MQ-2模块,输出电压信号类型为模拟,与检测到的烟气浓度成正比。其输出信号为电压模拟量,此引脚接ARM芯片的I/O口。处理器将模拟量进行A/D转换后输出数字量,即为检测到的烟气浓度值。温湿度传感器采用DHT11模块,与MQ-2不同的是其输出信号为数字,传输参数无需预处理。
网络模块选用GPRS GA6模块,通过串口以AT指令的形式发送字符串,实现ARM处理器与服务器的连接。
1.2软件平台
用户层基于安卓操作系统开发,APP用Java语言编写。Android操作系统是基于Linux平台的开源移动设备操作系统,具有良好的可移植性、独立性和开放性
做爱。本设计基于软件的上述特点。个人设计的软件经过系统测试后才能连接安卓系统,安卓手机用户可以使用。
2紫峰家庭局域网
该系统采用ZigBee射频模块构建星型网络拓扑,由一个网络协调节点和四个家庭终端节点组成。作为“网关”,协调器负责建立家庭局域网并与广域网连接。首先通过能量扫描和主动扫描进行信道扫描,选择ZigBee网络最少的信道作为创建网络,并选择网络标识,等待终端节点加入网络
3.套接字-客户机/服务器通信模式的建立
客户端和服务器端的程序都是用Java语言编写的,分别在Android Studio和Eclipse上打包。它们之间的连接是基于套接字的。套接字可以分为两部分,即IP地址和端口号。在TCP/IP协议的基础上,实现它们之间通信的关键是指定服务器IP地址和客户端连接端口。具体实现方法:服务器端创建一个ServerSocket serverSocket和一个Socket,前者初始化为新的ServerSocket(端口),后者初始化为server Socket . accept();因此,客户端创建一个带有两个输入参数的套接字,即连接的服务器的IP地址和端口。双方的套接字创建成功后,服务器将开始监控端口,即等待用户连接。
Gprs技术——ARM与服务器的数据传输
GPRS GA6利用串口发送字符串,在ARM处理器和服务器之间建立信息传输通道。在GSM模块中嵌入TCP/IP协议,STM32处理器通过串口与GSM模块通信,实现无线网络连接。通过GPRS访问互联网的过程可以分为两个步骤,即附件和上下文激活。前者在移动设备和GPRS网络之间建立通信信道,而后者将移动设备与外部数据网络连接起来。GPRS与服务器的连接也是基于TCP/IP协议,只需要在发送的字符串中包含IP地址和端口号。