APP下载

基于阿里云的智慧社区移动应用的设计与实现

2019-11-01倪海鸥

数字技术与应用 2019年7期
关键词:智慧社区物联网

倪海鸥

摘要:本文介绍了一种新形势下智慧社区和智能家居相结合的移动应用的系统设计。系统基于阿里云和微服务架构,采用Hybrid APP开发方式,通过管理后台、云服务、智能设备和业主APP的多端协作,实现社区与家庭的智能化融合,为打造高品质的社区生活奠定互通基础。

关键词:阿里云;智慧社区;物联网;混编

中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2019)07-0151-03

0 引言

随着物联网技术、射频传感技术、云计算技术、下一代通信技术在内的新一代信息技术的飞速发展,智慧城市建设快速推进。智慧社区是智慧城市的组成部分,周边餐饮、医疗服务、外卖送货、物业管理、公告活动、公区通行、周边设施、卫生监管等都与社区智慧化建设息息相关[1]。智慧社区建设围绕业主的居家生活,以安全、便利、舒适和愉悦为目标,从全方位打造以人为本的综合型、智慧型、生态型社区[1]。

大廠商把握新一轮信息技术变革所带来的巨大机遇,纷纷推出各种云服务:阿里云人居、中国移动、亚马逊等物联网平台;微信、支付宝、中信、聚合支付平台;阿里、百度云、小米等消息推送平台;微信、QQ、社会化分享、友盟分享等分享平台;友盟、百度、腾讯等应用数据统计平台;等等。在移动应用端基于Saas提供的各地产企业的特色业务,融合先进的云技术,不仅减少地产商建设高品质智慧社区的成本,还与业主共享现代技术发展的成果[1]。在这样的新形势下,一种基于阿里云平台的综合型智慧社区应用系统的设计和实现方法应运而生。

1 智慧社区系统架构

系统设计主要使用阿里云服务功能实现人居设备的管理、消息推送、文件存储等,系统架构如图1所示。在物业管理系统和在移动APP录入的图片存储在阿里云上,APP下载后呈现给业主。消息推送支持苹果APP、安卓APP的离线推送。阿里的人居系统不仅支持无线智能家居单品,也支持通过智能网关与Zigbee、KNX、LonWorks子设备的接入,支持用户使用APP通过阿里云增删改自家设备、操控设备、监视设备状态和数据指标[2]。

通过物业管理系统,管理社区空间、住宅、业主信息、为各种线下活动提供通道,把社区的广告、公告、活动信息推送到业主APP。Saas专注于社区的人行、车行、监控、品控、活动、统一支付等各个业务系统的接入,分别以微服务的方式,通过在管理系统对社区配置,建立业主APP与这些系统的交互通道[3]。

业主在APP上通过认证后,从Saas、阿里云上获取数据、下载图片和文件,展示广告、活动、社区通知、便民手册;查看门口机、接收云对讲;通过扫描二维码进入社区和楼栋;邀请访客;支付费用等。

2 移动应用的程序结构

根据以上整体设计,移动应用的程序结构可分为基础层、模型层、服务层、业务层、视图层。为了支持在不同地产商、不同社区微服务的可扩展性,APP社区服务部分的功能采用Hybrid APP开发方式。使用Cordova框架,在原生代码与H5之间进行数据交互,通过热更新实现社区服务的扩展[4]。

视图层负责根据UI设计布局、渲染,呈现数据、提示和错误。业务层负责具体业务逻辑实现,调用服务层的API并返回请求数据、处理错误、检测输入的正确性。使用Cordova框架管理H5页面,为UI层提供H5展示、处理输入、网络请求和刷新。服务层管理帐号登入、注销和自动登录、维护Token有效期、维护二维码有效期、住宅切换、文件上传下载和缓存、公区监控管理、人居设备和场景更新、H5更新,封装模型层的网络请求,结合持久化存储,提供缓存数据。模型层包括了对业务数据的对象化封装,提供属性和函数的API。还包括了对业务数据的持久化存储和查询的API。基础层包括了各种SDK、Cordova框架、响应框架、HTTP库、公共类库、日志等。

3 主要模块实现

3.1 帐号管理

帐号管理主要包括业主认证、登录、修改密码等。在地产项目地推前,把每个住宅的业主资料导入Saas数据库。业主首次使用APP时,先输入姓名、预留手机号和身份证,通过短信验证手机号码,发送到Saas验证身份后返回房产信息,业主确认后进入应用。应用从Saas获得最新的Token,为业主展示社区的各种服务等。业主再次启动APP后,判断Token的有效期,在有效期满前向Saas续约Token。业主通过输入家人的手机、姓名等资料邀请家人。家人使用验证码登录进入业主APP,访问社区的服务。

3.2 智能家居

阿里云生活开放平台和人居IOT平台分别提供智能家居产品管理和SDK接入。生活开放平台提供项目管理,为每个项目管理产品。发布一款产品分为四个步骤,依此为功能定义、设备调试、人机交互和批量投产。功能定义即导入产品的物模型,包括设备的属性、事件和服务,譬如灯的开关、故障上报、OTA在线升级,还可以根据自身产品的特点定义平台没有的功能,扩展性强。设备开发者可以为网关添加子设备,申请激活码,上传三元组给阿里云平台,即可在设备上测试。人机交互是设置APP上呈现给业主的内容,包括分享方式、多语言管理、配置引导、设备告警、APP界面、自动化和定时。发布到公共池里的产品,在APP上通过配置引导实现添加流程,APP界面即设备的详情页面,由阿里IOT生成的H5标准页面,支持多种版式和自定义。页面的上面部分根据多语言中设置的图片、文案呈现,页面的中部显示设备的多个属性值和操控按钮,页面的底部提供了设备告警的开关和告警内容的设置,提供了自动化的设置、定时功能的设置,各项功能都提供开关控制。标准页面还提供设备设置页面,可以设置名称、共享、展示消息列表、固件版本信息和升级通知等。

在人居平台为地产企业注册企业帐号和移动应用,生成appKey、appSecret等多个参数。Saas微服务调用阿里SDK订阅数据。智能设备或网关通过MQTT与智能人居平台连接,人居平台通过Http/2通道把设备上报的属性、事件和上下线状态等数据传送给Saas服务。业主通过APP添加IOT公共池里的智能设备,从Saas获得住宅信息,通过阿里SDK与阿里云连接,获取设备列表,使用Hybrid编程方式,调用家居设备H5页面,管理和操控智能设备,监视设备实时属性、在线状态和接收告警通知[4]。

3.3 社区服务

社区服务分为物业服务和商家服务两部分。物业服务主要包括智慧人行、智慧车行、出入口云对讲、查看公区监控、发布公告、提供便民手册,接收业主报修、投诉、咨询、点赞等。

智慧人行包括了业主通行和访客通行部分。业主先在APP上录入人脸,生成声波,通行时通过使用APP扫描二维码、或者人脸识别、声波识别,触发微服务与智能门锁系统交互,实现放行。业主在APP上邀请访客,APP生成临时二维码,或者声波,分享到访客微信,在有效期内访客刷二维码、开启声波,通过出入口。

智慧车行包括了业主车辆管理和访客临时停车。业主在APP里登记常用车辆,并且缴纳长期停车费,或者登记车位,经过物业审核后,Saas微服务与道闸系统交互并放行。业主在APP上为访客登记临时停车的车牌,为访客临停缴费。微服务把车牌、缴费情况同步到道闸系统,并且短信通知保安人员该车牌是否已经缴费,访客离开时缴费或放行。

出入口云对讲系统包含了访客在梯口机上发起呼叫,如果室内机没有开锁,对讲系统发送通知到Saas服务,Saas服务转发呼叫和现场截图传输到业主APP上弹窗提醒。APP上展示现场图片,业主点击开锁,或者接通后查看现场、与访客对讲。物业管理人员可以通过管理系统配置开放某些公共区域、出入口的监控。

业主可以在APP上填写报修单、投诉单,拍照,通过Saas服务同步到物业的工单管理系统,同时短信通知提醒派单。工单系统把处理情况同步到Saas服务,Saas通知业主APP,业主在APP上查看处理情况并评价。该服务有利于改进物业响应时效、增进业主对物业的信任、提升业主满意度。

商家服务是物业增值服务的部分,有助于提升人气、增加业主对社区的粘度。小区周边商家的各种活动、广告推介、四点半课堂、公共厨房、房源信息等,可以在社区活动系统录入,同步到Saas的活动推介服务,通过阿里云推送到业主APP,查看、报名和缴费。

社区服务内容因社区不同、服务内容也各有不同。因此在智慧社区系统设计中,要求Saas和APP都具备可扩展性,支持可配置、易更新。Saas平台采用微服务设计,APP使用Native+H5的混合编程方式。APP原生代码和H5支持Cordova框架,提供标准的社区服务功能,在社区需要更新服务时,APP根据社区配置的微服务下载新的H5模块,通过热更新机制,提供新的服务体验[4],交互如图2所示。

3.4 消息推送

移动应用的消息推送包含启动和接收通知两部分。APP启动时设置参数pushAppKey、appSecret、注册并初始化阿里的CloudPush SDK,获得阿里云分配的deviceID。然后向Saas上报业主的住宅ID、deviceID,并把社区ID设置到SDK的Tag标签里,作为分组信息,注册到阿里云服务。

Saas消息推送微服务启动时注册阿里云通道,需要发送通知到业主APP时,调用阿里SDK的PushRequest,通过参数setTarget设置推送目标,如果是把消息推送到社区所有的业主,通过设置AliTags为社区ID,设置消息的类型以区分不同类别的微服务提供的消息,设置相应的标题、内容、声音、角标、是否离线等信息,调用push Request发送通知。

APP端实现了SDK的两个函数,分别响应APP处于前台收到消息,或者在APP离线时用户点击移动终端系统的消息通知栏唤醒APP后收到消息。解析消息内容并生成消息实例,提示业主消息未读,根据消息类型,分别处理消息。阿里云消息服务不仅提供在线消息推送,也提供了iOS离线消息推送和Android消息推送,特别是华为、小米手机相比于其他品牌的安卓手机,离线推送成功率高很多。

3.5 对象存储OSS

系统通过阿里云的对象存储服务上传、存储和下载广告、活动图册、报修照片等。首先在阿里平台设置应用信息、获得SDK的参数。在初始化移动应用的文件管理类时,设置accessKey、access Secret、endPoint、bucketName等参数,创建OSSClient实例。上传时创建 OSSPutObjectRequest对象,设置图片、文件、目录和文件名,设置回调函数,调用putObject返回阿里云的存储地址。然后把地址等保存到Saas服务。移动应用展示时取得社区的广告推介等记录,根据地址下载资源,使用图片加载框架后台加载数据并缓存。

4 结语

本文基于阿里云服务搭建智慧社区新架构,着重介绍给了如何把物联网、对象存储、消息推送等多种云服务接入智慧社区的移动应用中。本系统的Saas云通過微服务技术把数字社区的各个信息孤岛、社区环境与业主APP联通,把社区周边、社区服务与智能家居融合起来,实现新形势下绿色、生态的开放创新的智慧社区平台。针对智慧社区为业主提供服务的多样性和差异化,移动APP使用了Hybrid开发方式,支持服务的动态更新和扩展。这种基于阿里云平台的移动应用的设计实现了一个全新的智慧社区系统,降低了智慧社区建设的成本,适应了新形势下智慧社区的发展趋势。本系统已在地产楼盘试点推广,为智慧社区、智慧城市建设提供参考。

参考文献

[1] 葛涵涛.解构新形势下的智慧社区[J].上海信息化,2019(03):16-19.

[2] 柯鑫,石红强,孙光培.一种基于SoC和阿里云的智能家居系统设计方案[J].电子产品世界,2019,26(02):38-41.

[3] 肖荣,高全亮.基于微服务架构的智慧景区平台关键技术研究与应用[J].计算机时代,2019(04):44-47.

[4] 高瑞泽.智能家居Hybrid App的设计与实现[D].南昌航空大学,2018.

猜你喜欢

智慧社区物联网
基于LABVIEW的温室管理系统的研究与设计
论智能油田的发展趋势及必要性
中国或成“物联网”领军者