1 需求
当今安保智能化的需求日渐增长,本款小型的智能监控系统可应用于家庭、学校、企业等场所,有利于降低犯罪率,维护社会长治久安。
2 设计思路
- 模块化组合,自由定制,根据实际需求选配硬件,契合用户需求的同时实现成本最小化;
- 通过软件平台提供更丰富的数据分析功能,与市场现有产品做到差异化;
- 结合当下热门的人工智能技术,尤其是计算机视觉方面已经成熟的技术,对数据进行智能处理,减少用户手动操作,提高用户体验。
3 具体实现
3.1 感知识别层
3.1.1 硬件模块
- Arduino 开发板
Arduino 是一款便捷灵活、方便上手的通用开源电子原型平台,便于扩展,因此应用端借助 Arduino 平台结合各种配件来实现数据的接受和传送。
- 红外传感器
这套监控系统具备两种工作模式:感知模式和预警模式。平时只启用感知模式,此时摄像头关闭,红外传感器工作。一旦传感器检测到生物体,立即进入预警模式,开启摄像头,并转动角度追踪生物体位置。
- 高清摄像头
摄像头负责录像。
- 扬声器、警报器
控制端可以启用应用端的扬声器,发出警报或者隔空对话。为确保警报足够的音量,需要使用大功率的扬声器单元。
- 无线网络信号收发器
将经过初步处理的数据发送到云端的 OneNet 平台。使用 Wi-Fi 模块还是基于电信供应商基站的GPS网络信号取决于应用端所处的环境。
3.2 网络传输层
3.2.1 MQTT
MQTT 主要应用于硬件之间的数据传送。MQTT将各个传感器等配件的信息进行封装,最终以HTTP方式提交到 OneNet 平台。
3.2.2 HTTP
HTTP主要应用于网络上端到端的数据传送。考虑到需要发送视频等大体积的二进制数据故采用 POST 方式进行提交,因为 POST 方式相比 GET 方式更安全,并且对提交数据的体积没有限制。
另外,为了更自由地定制各项用户服务,另外搭建一个服务器后台,将 OneNet 平台上的数据转发到服务器后台再进行其他处理操作。具体流程如下:
- 在阿里云平台申请云服务器一台,考虑到初期并发量不会很大,先选择低配置的选项,后期再根据需要升级配置;申请域名并备案;
- 部署服务器环境:CentOS 7.2 + Java 环境 (OpenJDK + TomCat) + MySQL
- 服务器后台主要使用 Java 进行开发,结合 Spring Cloud / Mybatis 等企业级框架可轻松构建康高并发的后台;并推荐部分模块使用 Google 新推出的 Golang 编程语言进行开发,提倡多样化尝试;
3.3 应用支持层
3.3.1 数据库
数据库主要采用开源免费的 MySQL 数据库。No-SQL类型的 MongoDB 数据库和 Key-Value 类型的 Redis 数据库作为辅助结合使用。
图像和视频存储直接使用文件系统而不使用数据库。
3.3.2 数据分析
首先应用端本地设备借助 Tensorflow 或 Pytorch 等训练出来的计算机视觉模型对视频数据进行初步分析。并对出现预警状况的时段进行统计,每周或每月形成一份数据分析报告发送给用户。
3.3.3 专家系统
- 预警信息实时同步到平台上,并且集合成整个城市的安全状况警报图,可方便警方及时出警。
- 通过计算机视觉的模型训练识别预警模式下被检测人体的行为,并进行标记,尽可能减少用户人工操作。
3.4 应用接口层
3.4.1 Web端
Web端借助 HTML5 页面实现一个管理端控制系统,前端采用 Vue.JS 框架开发单页式 Web 应用,后台采用Java+SSM框架开发,Web端与本地App端共用一套服务器后台。
3.4.2 移动端
移动端分为 Android 端和 iOS 端。
Android 端使用 Kotlin 编程语言+ Android Studio 开发环境+ Android SDK 开发,使用 Google 官方提出的 Material Design 2.0 以美化界面,提高用户体验。
iOS 使用 Swift 编程语言+ Xcode 开发环境进行开发,同时兼顾 iPhone 和 iPad 设备。开发完毕后将应用提交至 App Store;
基于成本等因素,不考虑对 Windows Phone / Firefox OS / Ubuntu Mobile / Sailfish OS 等小众移动操作系统的支持,这些平台直接使用 Web 端进行操作。
3.4.2 PC端(Windows)
方案一:
借助 C# 语言结合 WPF 框架进行本地GUI应用的快速开发,必要时结合HTML5页面以实现快速迭代更新;
方案二:
使用Node.JS 结合 Electron 框架进行开发,舍弃性能的同时却可以大大提高开发效率和更新速度,并且可以跨 Linux / macOS 等平台;
方案三:
使用 C++ 结合 Qt,支持跨平台并且性能较佳,但开发周期较长,开发难度有所提升。
4 推广前景
本产品实现的硬件成本较低,硬件及软件开发成本后期可通过收取附加服务费的形式回本,本身具备一定的差异化,可以向市场进行推广尝试。