基于 NB-IoT 的智慧路灯监控系统(NB-IoT 专栏—实战篇 5: 手机应用开发)
通过与华为云平台进行数据对接及联动控制,为此开发智慧路灯 APP 控制系统。
1、系统总体描述
本系统共分为九个模块:系统导航、用户登录、扫码绑定、设备定位、设备状态、历史查询、设备控制、画像分析和系统设置。每个模块对应其各自的功能,通过设备的定位、设备的实时状态及设备控制能够全方位监控路灯的耗能量及使用情况。画像分析也可对某地方或某用户进行大数据 AI 分析得到监测数据,并且能够实时向用户推送用电情况,并为其用户进行合理的用电安排及方案。
2、使用技术
2.1、通用技术
系统总体使用 java 语言进行开发;
在界面设计及展示部分使用 HTML 搭配 CSS 技术使其界面美观大方;
框架设计使用 MVP 模式进行设计使其系统结构清晰明了;
数据对接使用 HTTP 和 OkHttp3 协议,大大降低数据处理难度;且提高了数据的完整性和实时性。
2.2、核心技术
登录界面使用视屏背景技术将登录界面进行高度美化。
在设备定位模块中使用第三方高德地图 SDK 进行开发;
在云平台对接时使用华为云平台相关模块接口进行开发;
使用 Clendar 相关类进行日期选择设计;
使用 Zxing 二维码扫描分析技术进行扫码分析;
使用 Echart 技术进行数据实时显示图表分析;
在画像分析模块使用 AI 大数据分析获取数据实例。
2.3、技术亮点
对第三方技术的合理运用;
对 MVP 开发框架的组合设计;
对 API 接口的清晰掌握;
对各种相关工具类的开发及调用;
结合大数据 AI 分析进行功能设计。
3、开发软件
3.1、开发软件
系统环境:Windows 10
开发环境:Android Studio 3.0,JDK 8.0
运行环境:Android 5.0 级以上
3.2、测试软件
接口测试软件:Postman 6.5
3.3、打包发布软件
版本控制软件:Git
打包发布软件:Android Studio (Generate Signed APK)
软件签名:iot_project.jks
4、功能概述
4.1、系统导航
首次进入 APP 当进入导航界面,导航界面中介绍 APP 的 Logo、简单描述、路灯模型、路灯功能分类及路灯运行方式。效果如下所示:
4.2、用户登录
用户登录界面使用视屏作为页面背景,通过输入用户名及密码进行系统登录。系统的用户名及密码在系统后台统一进行注册。效果如下所示:
4.3、扫码绑定
用户登录成功后将自动跳转至扫码界面,跳转界面后会对该移动设备进行权限访问,用户需要同意所有权限才能正常使用该系统。授权后进行二维码扫描。此时需要对路灯上的二维码进行扫码,通过扫码得到该路灯的设备信息,从而在主界面中可查看该路灯的其他信息。 效果如下所示:
4.4、设备定位
此模块中将对该扫描设备进行设备定位,观察其设备所在的具体位置,并能够查看当前地方的天气环境。此处的设计也是为后来的管理方便,对每一个路灯设备能够全方位的进行查看。效果如下所示:
4.5、设备状态
此模块将对所在设备的所有信息进行实时查看,有电压、电流、功率、功率因子、总耗电量、光照度、路灯开光状态及路灯耗能所产生的二氧化碳量。 效果如下所示:
4.6、历史查询
此模块是对该路灯所有数据的历史查询,通过对历史数据的查询可分析出该设备在本周、本月及本年的所有用电量情况。这样就能够合理的对路灯用电量进行管理。效果如下所示:
4.7、设备控制
此模块是对路灯的远程控制,共分为三个模式分别为:终端联控模式、分段定时模式及自动调光模式。三种模式分别对应三种不同的路灯控制,可远程也可自动,充分达到了用电量的控制。效果如下所示:
4.8、画像分析
此模块涉及了大数据 AI 分析功能,将分析的数据下发至该系统,系统对其数据进行图文的可视化展示,清晰的可以查看到该使用者日常用电情况及地方用电情况。(由于数据集较少,建立的模型是我本人 2019 年 7 月份路灯节点使用状况) 效果如下所示:
4.9、系统设置
系统设置功能共分为以下几点:系统设置、修改密码、关于我们、系统更新及退出登录。效果如下所示:
项目相亲请参见:https://handsome-man.blog.csdn.net/article/details/100182460
版权声明: 本文为 InfoQ 作者【不脱发的程序猿】的原创文章。
原文链接:【http://xie.infoq.cn/article/8e4f28e99009232c37fec8cf7】。文章转载请联系作者。
评论