基于Intel IoT的智能安防—RootLink项目开发总结

说明

智能安防项目是大三上半学期,OurEDA实验室组织的“智能硬件”相关的项目。我作为后端负责人,与嵌入式负责人徐文超、IOS组负责人党博合作开发。项目传感器采用Intel Edision Board + ZigBee传感网络,IoT设计基于开源的Intel Edision IoT开发平台(https://github.com/intel/intel-iot-services-orchestration-layer.git),后端采用nodejs + koa2 + nginx技术栈,IOS开发使用Xcode + Apple基础套件。

项目概述

安防设备具有巨大的市场需求和广阔的商业前景,但存在性能落后、使用繁琐等缺点。本团队基于 Intel Edison 开发平台和 Intel IoT Services Orchestration Layer 的强大的处理能力和服务能力,设计并完成了一套全新的物联网无线安防设备。
本设备的主要创新之处为设计并完成了智能的“触发与联动”机制,构成了完整的“感知”-“处理”-“云服务”-“移动客户端”的系统结构。设备中各类分布式传感器所触发的报警事件,同时被本地 Edison 系统和云服务自动处理,无需人工干预,即可自动触发一系列联动的本地警报事件和移动客户端警报事件。
本设备通过发挥 Intel Edison 平台的性能、完善 Intel IoT Services Orchestration Layer,并引入了 ZigBee 无线传感器网络和分布式模块化设计,能够完成安防领域中人体感知、火灾监测、应急警报等多种功能,还具有无线连接和设备扩展能力,并实现了云服务的移动客户端报警功能。

主要技术介绍

(1) Intel Edison 高性能物联网网关及操作系统:Intel Edison Board 是 Intel 针对可穿戴设备和物联网发布的一块微型计算机,包括了 Atom 500MHz 双核心处理器,整合 Quark100MHz 微控制器,支持 802.11n 和蓝牙 4.0。平台运行定制的 Linux 系统。
(2) Intel IoT Services Orchestration Layer 技术框架:团队 使用 Intel IoT ServicesOrchestration Layer 的 IDE 平台进行开发,通过 IDE 优秀的 Workflow 框架和数据流思想,减轻了嵌入式开发者与后台程序开发者的交流以及开发负担。IDE 用React 组件化开发以及前后端分离,方便开发者对IDE进行修改。Express是一种保持最低程度规模的灵活Node.js Web 应用程序框架,为 Web 和移动应用程序提供一组强大的功能。
(3) Zigbee 无线传感器网络、Arduino 与传感器技术:ZigBee 是基于 IEEE802.15.4 标准的低功耗局域网协议。根据国际标准规定,ZigBee 技术是一种短距离、低功耗的无线通信技术,具有低复杂度、自组织、低功耗等优点。Arduino 具有使用类似 Java、C语言的Processing/Wiring 开发环境。
(4) 云技术与 Socket 等:云技术目前能够提供成熟的稳定的互联网服务,Socket.IO 实现实时双向的基于事件的沟通,适用于各种平台,浏览器或设备。

概要设计

本设备在设计、研发、应用测试全过程本着自下向上的技术路线完成:
(1) Arduino 作为硬件模块的中心,处理来自每个模块上的传感器的数据,并通过 ZigBee模块发送至控制与决策中心(Intel Edison)。
(2) 使用 Intel IoT Services Orchestration Layer 在控制与决策中心(Intel Edison)上建立基于 ZigBee 的物联网网关,在此过程中修正 Intel IoT Services Orchestration Layer 的相关模块,并添加部分有关 ZigBee 的 Layer 模块。
(3) 使用 Intel Edison IDE 自主开发云服务模块:包括下行智能逻辑模块与上行数据模块。下行智能逻辑模块模块负责监听云服务器发来的各项指令,修改各项智能功能;上行数据模块则负责向云端传输各类感知数据和触发事件,统一使用 json 格式进行传输。
(4) 云服务器使用 socket.io 标准库建立 TCP/IP 连接,通过与手机客户端建立 Socket 连接,实现数据的即时交换、数据解析以及警报事件推送。各层平台统一使用 json 作为数据交换的形式,通过对 sockets 池进行管理,建立并维护稳定的数据链路。

系统架构图

硬件基础层
(1) 本地控制与决策中心(物联网网关):Intel Edison 开发平台是设备的整个设备的智能核心,以安防设备控制中心和网关的形式呈现给用户。在设备中,通过使用其强大的处理能力和互联能力,完成所有感知和触发信息的汇集、处理,完成本地“触发-联动”机制,同时完成信息的云端传送。
(2) Arduino 组成的硬件中间件,用于在传感器和 ZigBee 网络间构建连接,消除传感器差异带来的数据格式问题。同时,完成对于复杂传感器的驱动与控制问题。这部分硬件隐藏于用户端传感器内部。ZigBee 网络是目前主流的自组织网络之一,具备自动组网、自动加入、自动路由等功能,其无线通讯工作在 ISM 2.4GHz,全球通用。在本设备中利用带有功率增强的 ZigBee 网络完成触发事件和感知数据的传输功能。这部分硬件隐藏于用户端传感器内部。

智能服务层
(1) Intel IoT Services Orchestration Layer 是智能服务层的关键组成,一方面是开发中简化硬件开发难度进行实时调试,另一方面负责 Intel Edison 与云服务间的通信。
(2) 云服务作为智能服务层的中间层,与控制与决策中心(Intel Edison)建立 Socket 连接,负责接收、分析、存储其上传的数据,同时与手机客户端的连接,建立通信基础。
(3) 手机客户端基于各类移动平台,实现与云服务通信,移动客户端软件设计遵循 MVC架构,通过 Socket 连接可以实时获取到各类信息状态,并接收云端警报推送。

工程实现

正常界面
报警界面
计划任务
项目介绍视频

Bug Fixed

  • 嵌入式设备-云服务-手机进行三端联调,Bug很多,解决了所有Bug后,通信稳定即时,手机客户端可以实时接收警报信息;
  • PCB打样后,发现无线信号的功率较弱,Atmega328 晶振起振不佳,检测到继电器部分电路的载流能力较弱;
  • 改进之前的不足,加入 x2401 芯片扩大信号的功率,晶振附近取消使用过孔,继电器附近的走线去除阻焊层并加大导线宽度,重新制作 PCB,完成 PCB 部分的制作。
posted @ 2019-12-22 23:11  BBMAN  阅读(386)  评论(0编辑  收藏  举报