基于Arduino 的智能老人助理系统设计

2019-08-12 03:44:52周银王新峰
现代计算机 2019年19期
关键词:子板命令远程

周银,王新峰

(吉首大学软件学院,张家界427000)

0 引言

根据《中国老龄事业的发展》白皮书,中国人口年龄结构已经开始进入老龄化阶段。人口老龄化问题已经逐渐变成中国乃至全球性的社会性问题。预计到2040 年,65 岁及以上老年人口占总人口的比例将超过20%。同时,老年人口高龄化趋势日益明显。民政部部长李立国说,城乡老人家庭中,空巢家庭超过50%,部分大中城市达70%。而养老机构床位占全国老年人口1.59%,所以还约有90%的老人需要家庭看护。

老人单独在家时会遇到各类麻烦如:出门外带钥匙,不记得定时吃药,不记得家中炉灶的火是否关闭,智能电器不会用,身体突发不适找不到人帮助、行动不便等。而现在老人普遍子女少,同时女子也没有太多精力在家照看老人,这就迫切要求我们通过技术手段辅助老人生活,帮助老人解决衣食住行的困难,并且方便和外界通信及子女照看老人,因此提出建立一个智能老人助理系统。智能老人助理系统的建立可以大大提升老人生活质量,让老人享受科技进步带来的实惠。

1 系统功能描述

通过对老人生活遇到的主要问题进行分析,本系统要完成以下目标:让行动不便的老人在少量移动的情况下,可以控制所有智能家电设备;可以让老人及监护人实时了解居住环境,当有异常发生时,系统会报警让老人及时撤离;当老人操作失误或有突发情况时,远程辅助功能可让监护人远程协助;当老人思念子女时也可通过简单操作即可联系到子女。以上目标可以进一步化分为三个模块即:智能控制、环境监控、远程辅助。

(1)智能控制:是指老人能通过语音或手机统一控制房间内的智能设置,如空调、电视、灯以及窗帘和门等,操作流程要简单,界面要人性化。

(2)环境及健康监控:实时检测房间内温湿度,有毒气体(煤气),烟雾等环境信息,方便查看。当环境中出现异常时可报警,报警方式有声音和灯光两种。老人也可通过设备(心率检测、脉搏检测等)将健康情况上传系统服务器方便监控护和医疗人员查看。

(3)远程辅助:本系统全程联网,当有突发情况时,老人的监护人可通过授权远程控制房间内的智能设备,同时还可与老人实时聊天通信。

本系统的三个功能模块(智能控制、环境监控、远程辅助)整合在一起如图1 所示。

图1 系统功能结构图

图1 中无箭头线代表数据和命令可以双向发送,单箭头的线代码数据或命令从一个模块到另一个模块发送。数据指获取的温湿度、健康、图像等数据信息,命令包含开、关、移动等控制指令。

从系统功能结构图中可以看出,本系统分为:主控App、服务器、Web 端软件功能部分,以及中央控制器和各子板的硬件平台部分。下面就按软件和硬件分开详细讲解各功能。

2 软件功能

软件由主控App、服务器和Web 端三块组成。

2.1 主控App

手机是现在最好的控制器,可以集各种功能与一身,主控App 使用Android 开发,主要功能就是用来接受数据与发送命令,由于是给老人使用,所以操作界面要求特别简单,一键式使用,界面如图2 所示。

图2 App操作界面图

主控App 工作命令发送流程:App 发送指令->服务器->中央控制板(解析命令目的地)->子板。

主控App 数据接收流程:各子板收集数据->中央控制板->服务器->主控App 读取显示。

2.2 服务器

服务器是数据处理中心,用来将命令和数据发送到各模块,保存数据、记录日志等都由服务器完成。

由于各类设备采集的数据信息格式和命令格式各不相同,为了统一处理,定义相同的数据结构体和命令结构体。

数据的结构体如下:

typedef struct s_data

{

int data_type; //数据的类型

char data_src[100]; //数据的来源

char data_des[100]; //数据的接收方

void*buff; //数据指针

int size; //数据大小

time_t send_time; //数据发送时间

time_t recv_time; //数据接收时间

}DATA;

命令即指令结构体如下所示:

typedef struct s_order

{

int order_type; //命令的类型

char order_src[100]; //命令的发出方

char order_des[100]; //命令接收方

char value[100]; //命令值

time_t send_time; //命令发送时间

time_t recv_time; //命令接收时间

int is_run; //命令是否执行

}ORDER;

2.3 Web端

Web 端是提供给监护人使用的,通过Web 端授权后可远程查看房间情况,并控制小车巡视。每个用户都有独立账号,这样可以让类似养老中心的机构实用对多个地方监控。Web 端页面布局如图3 所示。

图3 中功能有手机号绑定,数据图表区、图像区和指令操控区。Web 端页面根据每套系统特有的机器码进行登录采用Highcharts 将所有环境数据可视化,各功能如下:

图3 Web端页面

(1)手机号绑定:当有异常发生时,会通过直接发送短信通知这个手机号。

(2)数据图表区:把环境的数据(温湿度、煤气浓度、健康指标等)显示在这里,还可以在这里设置阈值待数据超出阈值后即发送警报,警报即要在老人所在房间内发送,可通过声音和灯光提醒,也要发送短信到监控人手机上。

(3)图像区:小车拍摄的图像显示区,方便监控人查看房内情况。至于为什么不全房间放置摄像头,这考虑到老人的隐私问题。同时这个小车能否上传图像,是需要经过老人授权的。

(4)指令操控区:发送各类命令,如屋内智能电器、小车移动等。

3 硬件平台

从图1 中可以看到,嵌入式相关内容有中央控制器和各子板,这里都选用Arduino 芯片,Arduino 是开源的硬件平台,入手快开发简单,扩展性好,Arduino UNO R3 板子结构如图4 所示。

图4 Arduino芯片结构

主控制器与子板间和服务器的通信是重点要解决的问题。主控制器与子板之间使用NRF24L01 芯片通信传输距离几十到几百米,它是由NORDIC 生产的工作在2.4GHz~2.5GHz 的ISM 频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型“Schock-Burst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。输出功率频道选择和协议的设置可以通过SPI 接口进行设置。几乎可以连接到各种单片机芯片,并完成无线数据传送工作。

主控制器与服务器的连接使用ESP8266 Wi-Fi 连网,该芯片是一种无线转串口的芯片,无线传输距离可达300 米,远远满足本项目的室内传输要求。

子板的功能实现都较简单,会用到红外控制、马达电机、温湿度、有毒气体、烟雾和心率、脉搏、体温等传感器,巡航小车可远程控制也可按轨迹巡航。

小车模块由Android+Arduino+H 桥+电机+轮胎+模具+HC-05 蓝牙模块组成,Android 与Arduino 通过蓝牙联通进而将小车的行进控制转交至Android。Android 通过自身的4G 网络与服务器进行信息交互,即转移控制权至服务器,相应的Android 调用自身的摄像头将实时画面拍摄上传至服务器完成监控功能。

4 结语

本项目的创新与特色有如下4 点:

(1)目前智能看护和智能家居相关的系统大多采用ZigBee 技术或ARM 体系,虽然这些系统功能强大,但开发过程较复杂,同时成本高。而本系统采用最近流行的Arduino 平台,这是开源的平台成本非常低,入手快。

(2)考虑到老人对智能设备的掌握程度不高,本系统采用双输入模式:语音和App。且App 应用只有一个图形界面,每个功能都独立设置操作。

(3)紧急呼救,老人单独在家很容易突发意外如摔倒,老人可呼叫远程报警,系统检测到亦会自动报警。

(4)本系统提供云服务器接入接口,监护人通过授权后可远程协助老人对智能设备进行控制,可时也可实时查看室内环境。

猜你喜欢
子板命令远程
让人胆寒的“远程杀手”:弹道导弹
军事文摘(2022年20期)2023-01-10 07:18:38
基于Optistruct翼子板分析
汽车零部件(2022年7期)2022-08-03 07:37:32
只听主人的命令
汽车轮胎与翼子板视觉美观性分析
远程工作狂综合征
英语文摘(2021年11期)2021-12-31 03:25:18
翼子板典型缺陷分析及改进方案
模具制造(2019年10期)2020-01-06 09:12:58
远程诈骗
学生天地(2018年19期)2018-09-07 07:06:30
移防命令下达后
这是人民的命令
左右后翼子板延伸板多工位冲压工艺分析