基于物联网的模块化智能监控系统

甜筒君 · · 10027 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

1 需求

当今安保智能化的需求日渐增长,本款小型的智能监控系统可应用于家庭、学校、企业等场所,有利于降低犯罪率,维护社会长治久安。

2 设计思路

  • 模块化组合,自由定制,根据实际需求选配硬件,契合用户需求的同时实现成本最小化;
  • 通过软件平台提供更丰富的数据分析功能,与市场现有产品做到差异化;
  • 结合当下热门的人工智能技术,尤其是计算机视觉方面已经成熟的技术,对数据进行智能处理,减少用户手动操作,提高用户体验。

3 具体实现

3.1 感知识别层

3.1.1 硬件模块

  • Arduino 开发板
    Arduino 是一款便捷灵活、方便上手的通用开源电子原型平台,便于扩展,因此应用端借助 Arduino 平台结合各种配件来实现数据的接受和传送。
Arduino 开发板
  • 红外传感器
    这套监控系统具备两种工作模式:感知模式和预警模式。平时只启用感知模式,此时摄像头关闭,红外传感器工作。一旦传感器检测到生物体,立即进入预警模式,开启摄像头,并转动角度追踪生物体位置。
价格非常低廉的人体红外感应模块
  • 高清摄像头
    摄像头负责录像。
结合 Arduino 使用的摄像头零件
  • 扬声器、警报器
    控制端可以启用应用端的扬声器,发出警报或者隔空对话。为确保警报足够的音量,需要使用大功率的扬声器单元。
扬声器零件
  • 无线网络信号收发器
    将经过初步处理的数据发送到云端的 OneNet 平台。使用 Wi-Fi 模块还是基于电信供应商基站的GPS网络信号取决于应用端所处的环境。
Wi-FI收发模块

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 推广前景

本产品实现的硬件成本较低,硬件及软件开发成本后期可通过收取附加服务费的形式回本,本身具备一定的差异化,可以向市场进行推广尝试。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:甜筒君

查看原文:基于物联网的模块化智能监控系统

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

10027 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传