毕业设计–智能环境监测系统基于harmonyOS的移动端应用开发

目录

第一章 绪论

1.1 引言

1.2 智能环境监测APP概述

1.3 课题设计思路

第二章 项目开发环境

2.1 鸿蒙介绍

2.1.1 鸿蒙的发展史

2.1.2 鸿蒙应用开发的意义

2.1.3 HUAWEI DevEco Studio 介绍

2.1.4 HUAWEI DevEco Studio 环境安装

2.1.5 HarmonyOS系统技术架构

2.1.6 HUAWEI dececo studio 使用

2.1.7 Harmony编程语言介绍

第三章 传感层功能介绍

3.1硬件平台介绍

3.1.1 新大陆网关

3.1.2 ZigBee介绍

3.2 新大陆云平台介绍

3.2.1 传感器介绍

3.2.2 ADAM-4150介绍 

3.3.3 CC2530单片机介绍

第四章 项目实施

4.1 项目分析

4.2 功能介绍

4.3 软件设计思路

4.4 项目实施准备

4.5 硬件方案实施

4.5.1 新大陆硬件设备配置

4.5.2 新大陆云平台配置

4.5.3 鸿蒙应用权限设置

4.5.4 第三方SDK包导入以及添加依赖关系

4.6 软件代码实现

4.6.1 LoginSlice-登陆界面

4.6.2 MapSlice-地图定位页

4.6.3 DataSlice-数据展示页 

4.6.4 ChartSine-折线图展示页

第五章  软件测试

5.1 软件测试的意义及介绍

5.2 测试计划

5.3 测试执行


第一章 绪论

1.1 引言

在21世纪,但随着科技的发展,物联网的时代也到来了。物联网(Internet of things)及物物联网,物联网运用的技术有智能识别技术(RFID)如公交卡、校园卡;红外识别技术如扫描枪;单片机如stm32;各种传感器如:光照传感器、人体红外传感器、激光雷达传感器等。将上述技术与网络融合在一起,就是物联网了。

随着时代的发展,环境污染的严重,人们开始重视环境质量,为了更简便的获取周围环境的温湿度,光照等参数。则必须要有一套完整的环境监测系统,故需要一套智能环境监测系统来实时获取环境数据,获取传感器数据的硬件技术已成熟,但是软件方面还需发展。智能环境监测APP是智能环境监测系统的重要部分,该软件可以对数据实时查询、控制执行器,还可以对数据制表分析,让数据更加直观便于用户做出相对应的决策。本APP适合居家环境监测、工厂设备状况监测、智慧农业环境监测等。

1.2 智能环境监测APP概述

对于智能环境监测APP来说,为使用者提供环境数据的实时查询是该软件开发的宗旨,也是该软件开发的初心。根据目前的对环境监测的需求情况开发了此软件。智能环境监测APP通过使用新大陆提供的API实现数据的查询,通过高德地图的SDK实现精准定位传感器位置,并且运用chart第三方SDK实现数据的绘图并实时更新给用户观看。

本课题智能环境监测顺应当代事物发展的潮流,通过对环境污染普遍存在的问题进行调查。经过不断的走访调查分析、讨论,最后确认本款APP的功能、UI界面的设计,并确认后方案的可行性从开发本款APP。经过一个月的努力奋斗,智慧环境监测APP初步完成。智慧环境APP不仅方便了用户对环境数据的实时掌握,还可以对远程操控风扇的开关、开启灯光等操作。

1.3 课题设计思路

(1)前期走访、调查需求并分析。前期通过和同组同学讨论和指导老师的建议,进行了项目需求调查采访,根据采访的内容记录,并分析其需求。最后划分项目的模块。

(2)项目模块划分。通过走访,确认了本款软件使用需求,并搭建好功能框架,且设计好UI界面。

(3)软件模块架构设计。通过使用visual画图工具,将软件各模块逻辑设计出来。并分析各个模块之间的功能依赖关系,设计好软件的模块结构,同时考虑好每个模块的完整性。

(4)新大陆云平台配置。通过新大陆云平台新建好设备、传感器和执行器,对设备和传感器的命名规范,便于后期代码编码和调用API。

(5)新大陆网关配置。传感器、执行器的组网,并根据传感器类型进行分组配置序列号,以便后期调试。

(6)单元测试,完善功能。软件编译完后,让项目负责人、指导老师和其他用户对软件进行单元测试,并对其不足的地方进行升级、完善功能。

(7)试运行。集成测试,完善软件。

第二章 项目开发环境

本项目主要用到新大陆套装和基于鸿蒙的环境开发,本章节介绍鸿蒙的开发环境和新大陆的硬件介绍。华为公司为了不让西方在操作系统层面“卡脖子”,推出了基于linux内核的HarmonyOS操作系统。刚推出的HarmonyOS操作系统没有Android成熟的生态圈,为了打造好HarmonyOS生态圈,从爱国方面,本课题选择国产操作系统“HarmonyOS”进行APP编程。

2.1 鸿蒙介绍

2.1.1 鸿蒙的发展史

鸿蒙操作系统的首次提出实在2012年9月,华为总裁任正非在华为“2012诺亚方舟实验室”专家座谈会上提出鸿蒙的概念。这就是鸿蒙的诞生的起点。

2016年,消费者BG软件部门开始研发鸿蒙OS分布式操作系统1.0的版本。

2017年,鸿蒙OS系统内核1.0已经完成了技术的验证,紧接着就马不停蹄的朝着鸿蒙OS系统内核2.0版本的研发。

2018年,鸿蒙OS系统内核2.0版本已经被适用到中端TEE。

2019年,鸿蒙OS 系统内核1.0版本才正式的出现在消费者的眼前。鸿蒙OS系统内核 1.0版本是基于开源的框架,但是鸿蒙的关键技术模块都是自己的科研团队攻坚研发出来的。鸿蒙OS系统内核 1.0版本同时具备分布式架构、方舟编译器、确定时延引擎、TEE微内核形式化验证以及多终端开发IDE(Beta)。

2021年,鸿蒙操作系统才开始正式大规模商用。

2.1.2 鸿蒙应用开发的意义

(1)顺应时代发展

中国网络从4G进入了5G时代。5G具有低延迟、高带宽等优点,将推动物联网时代的到来。毫不夸张地说,5G时代就是物联网的时代。

(2)鸿蒙系统的优点

华为鸿蒙系统英文名:HUAWEI HarmonyOS,是华为2019年8月9日在东莞举办的一场“华为开发者大会”上正式发布的操作系统,又叫鸿蒙OS。基于鸿蒙操作系统可以实现万物互连,符合物联网发展的趋势。

毕业设计--智能环境监测系统基于harmonyOS的移动端应用开发

图2-1 HarmonyOS发展历程

(3)新大陆设备支持

新大陆云平台提供了丰富的API接口和SDK供开发者使用。新大陆硬件采集数据的点位非常易于布置,传感器与网关通信代码一键式烧写,采用ZigBee组网技术,实现低消耗,一个ZigBee的电池可供传感器使用一年之久。适合户外、农业、家具等各种地方的使用。收集到的数据通过网关发送到云平台,可以让用户实时查看远程布点的环境数据,并做一系列的执行器操作。

(4)信息的时效性

信息的最重要的价值就是时效性。新大陆数据只能从新大陆官网上查看数据,并且操作繁琐。为了让用户随时随地的掌握实时数据,为此本文针对此问题开展“智能环境系统—基于HarmonyOS的移动端的应用开发”进行探讨。

(5)政治层面

鸿蒙是国产操作系统,支持国产,义不容辞的选择国产系统。鸿蒙系统全权掌握在国人手中,而Android非国产,存在信息技术的安全性的方面的问题。故本文选择基于HarmonyOS的操作系统。

2.1.3 HUAWEI DevEco Studio 介绍

华为deveco Studio是华为为消费者业务开发的集成鸿蒙APP的开发环境(IDE)。它的宗旨在于帮助开发者更高效、更方便、更快速地使用华为的Emui开放功能。

华为deveco Studio不仅具有调试仿真、代码评估、项目管理、编译建设等功能,还开发者提供了网络远程真机调试、应用云测试等多项特色服务。同时汇集emui的开放性,如hIaI、多媒体、互联、安全服务等,并提供迁移控制、MDM、AI模型等转换工具、hicar、并行世界、华为UI控制等开发模板。

2.1.4 HUAWEI DevEco Studio 环境安装

访问官网https://developer.HarmonyOS.com/cn/home 下载安装包,下载完成后安装,选择安装路径,值得注意的一点就是:安装路径上不得有中文,不然软件在运行过程中会报错。

安装完软件内部下载鸿蒙必要的SDK才能运行,安装路径默认在c盘,不要轻易改动。

2.1.5 HarmonyOS系统技术架构

HarmonyOS运用分层设计,从下往上可以在内核层、系统服务层、框架层和应用层之间共享。系统功能是以“系统>子系统>功能/模块”一级一级的展开。如果使用了许多设备,HarmonyOS支持根据实际情况的要求删除一些不必要的子系统或功能。鸿蒙os与Android一样,包括四层。

鸿蒙用的的基于java的编程,Java是一种面向对象的编程语言,java语言不仅接受C++的不同优点,还丢弃了多继承和指针的复杂的概念。Java语言是静态面向对象编程语言的代表,Java语言实现了面向对象理论,让开发者更好编写java语言。

Java语言有着简单、面向对象和分布式等特点。Java语言可以编写桌面应用程序、web应用程序、分布式系统和嵌入式系统应用程序。

2.1.6 HUAWEI dececo studio 使用

因为HUAWEI dececo studio没有用到本地虚拟化技术,华为采用的是申请网络虚拟机远程调试,所以首次调试需要登录华为云平台注册账户实名注册。

(1)选择device manger(设备管理中心)。

(2)点击logoin。然后会跳转浏览器登录华为云,并输入账号和密码。

(3)如果是第一次使用的话,需要实名认证。建议使用银行卡实名认证(便捷、省时)。

(4)最后再重复①~②,然后点同意之后就可以直接运行网络虚拟机。

毕业设计--智能环境监测系统基于harmonyOS的移动端应用开发

图2-2 HarmonyOS技术架构图

2.1.7 Harmony编程语言介绍

鸿蒙的编译器是方舟编译器2.0版本。这个版本的编译器可以实现多语言多设备编译,也就是说鸿蒙不仅支持java、JavaScript,也支持其他语言的编译。

毕业设计--智能环境监测系统基于harmonyOS的移动端应用开发

图 2-3 方舟编译器编译原理

第三章 传感层功能介绍

3.1硬件平台介绍

本文运用到的硬件主要有新大陆网关、ZigBee传感器、传感器包括(光照传感器、温湿度传感器、人体红外传感器、空气质量传感器和可燃气体传感器)、ADMA4150、继电器、执行器(风扇、灯泡、报警灯)、CC2530单片机。

3.1.1 新大陆网关

新大陆网关是传感器和新大陆物联网云平台之间的通信枢纽。这是决定传感器数据能否进入云端的关键硬件。新大陆网关可检测传感器数据并实时本地控制致动器,或通过485接口向ADMA4150控制致动器发送Modbus命令。配置网关参数、PandID和通道号以及ZigBee传感器内部网络,并配置连接参数以使网关能够访问新大陆物联网云平台。

毕业设计--智能环境监测系统基于harmonyOS的移动端应用开发

图3-1 网关实物图

3.1.2 ZigBee介绍

为了创建传感网络,采集到传感器的数据,需要将传感器进行组网,把采集到的数据发送给网关,本项目用到的是Zigbee自组网。

ZigBee技术是一种近距离、低功耗、低速率、低成本的双向无线通讯技术。

主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用。

ZigBee技术是一项新技术。它最近出现了。它主要依靠无线网络进行传输。它可以在短距离内进行无线连接。它属于无线网络通信技术。在以数据信息为载体的传输中,ZigBee技术是主要的技术指标。使用起来比较安全,容量也很强。它广泛应用于人类日常通信传输中。

                                         

毕业设计--智能环境监测系统基于harmonyOS的移动端应用开发

图3-2 ZigBee实物图

3.2 新大陆云平台介绍

新大陆物联网平台与云是在传感器、多数据处理、ZigBee组网技术、互联网技术等多技术融合在一起的基础上所开发的供教学使用的物联网云平台。

新大陆物联网云平台提供SDK和API等接口访问传感器数据,让物联网专业的同学更容易的学习物联网相关的知识。

3.2.1 传感器介绍

新大陆传感器主要有温湿度传感器、人体传感器、火焰传感器、光照传感器、空气质量传感器、可燃气体传感器等。本文用到了温湿度传感器、人体传感器、光照传感器、空气质量传感器和可燃气体传感器。

                             

毕业设计--智能环境监测系统基于harmonyOS的移动端应用开发

图3-3 新大陆物联网云平台介绍

3.2.2 ADAM-4150介绍 

ADAM-4150是输入模拟量,可以通过网关485接口date+和data-对执行器进行控制。

DI输入功能测试:如图3-16

(1)、普通DI功能,以干接点为例,在模块的DIO和D.GND管脚间接一个开关,开关断开时,默认状态下DIO=1,灯亮;开关闭合时,DIO=0,灯灭,支持DI反转功能。如接湿节点,则在管脚间接10~30V电压,DI状态有变化。

2、DI做计数器counter功能,最高支持的频率为3KHZ,有掉电保持功能。实验时,在DIO和 D.GND管脚间接信号发生器。

3、DI做频率测量功能,实验时,在DIO和 D.GND管脚间接信号发生器。

4、DO输出功能测试:

1.DO直接输出,实验时,在DO0端口接LED小灯,然后串联开关24V电源(电源最大40V),为保证进入通道的电流值在0.8A以内,接电阻限流,电源负端回到模块GND端口。当控制DO输出时,LED小灯亮。

2.注意:DO输出为集电极开路,可以认为是一个开关功能,故外部接电压使开关导通,截止,但是要注意模块通道所能承受的电流值。

3.DO做脉冲输出,实验时,在DO0端口接LED小灯,然后串联开关24V电源(电源最大40V),为保证进入通道的电流值在0.8A 以内,接电阻限流,电源负端回到模块GND端口。当DO做脉冲输出时,可以看到LED灯按照设定的高低电平持续时间闪烁。

4.DO做延迟输出,接法如普通DO输出。

3.3.3 CC2530单片机介绍

CC2530是一款真正的片上系统(SOC)解决方案,适用于2.4 GHz IEEE 802.15.4、ZigBee和RF4CE应用。它可以以极低的总材料成本构建强大的网络节点。CC2530单片机可根据用户自己的需求来编程个性化的功能。

第四章 项目实施

本章节介绍如何配置传感器、组网、数据上云和APP端开发。项目在HUAWEI Deveco studio开放平台下编写,其主要有四个部分:用户登录,传感器地图定位,数据显示、数据实时绘图功能。用户登录功能让APP更具有安全性,对用户的隐私做了保障,传感器定位信息是采用第三方SDK实现定位,数据显示可以使实时获取传感器信息和远程控制执行器,绘图界面可实时直观展示数据。

4.1 项目分析

根据智能环境监测APP的功能可以分为四个模块,登录模块,map模块,传感器数据与执行器控制模块和chart绘图模块。用户登录是通过zzrhttp网络访问方式与新大陆云平台连接的,map模块是用第三方高德地图SDK,获取本机定位。传感器与执行器模块是zzrhttp中get和post方法与新大陆云平台的服务器进行通信。最后chart是第三方SDK在获取的到传感器历史数据后,在本地进行绘图。

毕业设计--智能环境监测系统基于harmonyOS的移动端应用开发

图4-1 智能环境监测APP结构图

4.2 功能介绍

智能环境监测APP主要有四大模块:登录模块、地图模块、数据模块和绘图模块。

1、登录模块:用户打开APP需要输入账号密码来登录,若服务器返回正确的token,则跳转到地图模块。

2、地图模块:可以对高德地图进行放大和缩小,切换地图样式。并显示传感器的位置。设有按钮,点击返回登录界面。点击传感器Mark则跳转到传感器数据界面。

3、数据界面:设置了一键查询按钮,把所有传感器数据都查询显示出来。历史数据查询按钮,点击按钮,则可以看近10条历史数据,并绘制成折线图。设有控制执行器按钮,可以控制执行器开关。

4、绘图界面:查询10条历史数据,并将其绘制成折线图。

4.3 软件设计思路

新大陆云平台和软件调通后,就逐步开始软件部分了。根据用户需求,我设计了4个UI页面。四个UI都使用了经典的线性布局。

(1)用户登录界面

一个大的垂直布局里面放了两个水平布局。用户将用户名和密码填入TextField后将其数居进行post登录请求,从而获取token。

(2)地图显示界面

通过第三方提供的com.dongyu.tinymap.TinyMap控件实现地图展示。

(3)数据采集界面和执行器控制界面

通过text控件将数据绑定显示出来,通过按钮来控制执行器的开关。

(4)数据绘图界面

用第三方提供的chart控件。

4.4 项目实施准备

本次使用的环境是HarmonyOS 2.0 版本。通过deveceo studio编写代码并编译,通过申请华为网络虚拟机运行APP。

4.5 硬件方案实施

本文根据企业要求,在学校布置了4个环境监测点。室外环境监测本文选用传统的ZigBee节点盒用来与网关组网。因为节点盒内置电池适合室外环境,而且ZigBee节能,一个电池可用3~4年。室内则选择5V交流供电的CC2530单片机烧写ZigBee组网代码。

4.5.1 新大陆硬件设备配置

(1)ZigBee组网

用新大陆提供的软件“smartRF”,对传感器代码烧写实现ZigBee组网。新大陆提供了3个.hex文件。分别为继电器.hex、传感器.hex和火焰传感器.hex。顾名思义,则需要对传感器和执行器分别烧写对应的代码。

(2)网关配置

网关的连接参数配置如下图:

毕业设计--智能环境监测系统基于harmonyOS的移动端应用开发

图4-3 新大陆网关连接配置图

(3)传感器参数配置

传感器的波特率选择38400,继电器的波特率选择9600。并且传感器的chancel和PAND ID需要和网关一致才能组网。又因网关PAND ID 是10进制,在ZigBee组网参数配置时PAIND ID 是16进制。顾要先将网关的10进制的PAND ID 转换成16进制的PAND ID 。传感器要选择传感器类型,继电器类型的就不用了。

4.5.2 新大陆云平台配置

(1)新建设备

首先访问新大陆物联网云平台(http://www.nlecloud.com/),并登录注册。然后点击右上角用户,选择开发设置。生成自己的API秘钥,之后的所有步骤都需要用到它。再次点击开发者中心,点击新增项目,在输入自己项目名称后点击下一步,并绑定新大陆

网关。这个步骤是将网关与本账号绑定,网关的上传的数据就会上传到这个账号。绑定账号需要写入设备标识,若设备已被绑定,则点击解绑设备,并上传新大陆设备序列号的图片,申请解绑后,可直接绑定。   

(2)添加传感器

按部就班的配置传感器,传感器采取的数据非0和1的(温度传感器)选择ZigBee,若传感器采集的数据是0和1,如人体传感器,则选择数字量

(3)添加执行器

本文中风扇是通过ZigBee与网关通信的,故执行器添加如上述步选择ZigBee,并配置好序列号。而报警灯是通过网关连接ADMA4150有线连接。则添加执行器时选择数字量,配置好通道号。

4.5.3 鸿蒙应用权限设置

本项目需要有网络访问权限和获取本地位置权限。

第一步:找到config.json文件。

第二步:找到modue节点。

复制粘贴如下代码:

获取网络权限:

获取地理位置权限:

来源:Yxisobai

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月7日
下一篇 2022年9月7日

相关推荐