当前位置: 首页 > news >正文

安防监控项目---概要

文章目录

  • 前言
  • 一、项目需求
  • 二、环境介绍
  • 三、关键点
  • 四、主框架分析
  • 总结


前言

各位小伙伴,在蛰伏了将近有半年的时间又要和大家分享新的知识了,这次和大家分享的是一个项目,因此呢我准备分项目阶段去和大家分享,希望大家都能够在每一期的分享中有所收获;想要学习的小伙伴可以关注私信我,项目资料都是可以和大家一起分享的!
每个项目的用户最终都需要去切身的体验项目的产品,因此纵使技术千万种 ,能适应客户的需求才是王道,记住,适应客户的需求才是王道;在项目设计中其实最重要的一部分就是确定好用户的需求,主要是为了前中后期避免走一些弯路;每个阶段的项目负责人和项目具体执行者也能够明确自己的目标,把效率最大化;
在这里呢,我也不想展现自己就有多么厉害,我其实也就是一个正在学习嵌入式的学习者,分享这个项目一方面是为了巩固复盘项目,巩固基础知识,另一方面就是希望能够帮助到更多手头没有项目学习的、正在努力备战的小伙伴们!希望我的分享能够帮助到你们;
做CSDN硕士,未来前途一片光明,加油!哈哈哈!


一、项目需求

由于这个项目是一个智能安防监控的项目,所以项目的大致需求如下,大家看看有啥需要扩展的哈:

(1)网页下发命令可以控制硬件设备;
(2)硬件采集数据上传至网页;
(3)网页可以实时观测现场状况;
(4)网页能够实现控制zigbee终端节点;
(5)发生意外状况时进行手机短信报警;

其实上述的需求是不是更像是具体的模块实现呢,确实,其实实现的就是一个能够实时监控现场环境信息,能够通过终端能够控制硬件,有意外情况能够进行警报提醒的一个智能安防的项目;

二、环境介绍

使用的环境是Ubuntu 12.04,内核版本是linux-3.14.0
硬件环境:A9平台(华清远见FS4412)
联调测试的环境是Ubuntu + SecureCRT,SecureCRT是一个串口输出终端,大家可以根据自己手头有的串口终端进行合理搭配即可;但是,哈哈哈,但是来了,但是这个Ubuntu必须安装tftp和nfs服务器,并且我们必须配置好Ubuntu的IP,要求Ubuntu的IP地址必须和板子的IP地址在同一网段;nfs服务器能够挂载根文件系统,从而实现在串口终端直接打印并且直接调试运行;这样开发的效率是非常高的;
注意:这里需要注意的是内核版本一定得选择正确,内核过低会导致A9平台上的很多硬件跑不起来;

三、关键点

(1)巩固共享内存,消息队列和信号量等进程间通信机制,锁的互斥机制;
(2)将驱动开发、应用层开发和网页设计结合在一起;
(3)项目开发中的需求拆解过程,学习分层意识、指令下发和数据上传的思想;
(4)写bug,找bug,解决bug;
(5)使用zigbee模块和gprs模块;

四、主框架分析

在这里插入图片描述
软硬件框架解析:
1.html—>A9
(1)html下发指令后,A9下boa服务器响应,通过cgi接口进行数据解析并且生成返回的html网页;
(2)boa服务器响应后,cgi将web指令发送至消息队列,请求线程进行消息队列中消息的读取,进而判断唤醒哪一个线程,从而实现操作硬件;
2.A9---->html
A9的数据采集线程将数据发送至共享内存,通过信号量机制实现数据上传至cgi接口,进而通过cgi+boa服务器将数据上传至web;
注意:boa + cgi是沟通A9和html的桥梁
3.zigbee---->A9
zigbee作为数据采集终端,将数据发送至协调器,协调器通过串口上传至A9,紧接着怎么样到网页呢,哈哈哈,是不是又是A9—>html了;
4.A9---->zigbee
这个操作呢是为了控制zigbee的终端节点,比如打开一些具体设备,比如风扇,灯等;指令的下发是通过A9串口编程实现的,紧接着通过协调器发送至终端节点;


总结

到这里呢,基本上这个项目的所有框架流程基本解析完毕,希望各位小伙伴们仔细领会,最后呢是不是大家没有见到硬件的真容,有点遗憾,哈哈哈,下图给大家展示一下:
在这里插入图片描述
在这里插入图片描述
最后,各位小伙伴们如果有收获,可以点赞收藏哦,你们的认可是我创作的动力,一起加油!

http://www.lryc.cn/news/206706.html

相关文章:

  • 数仓经典面试题
  • 【ARM Coresight 系列文章 15.2 – components power domain 详细介绍】
  • Flutter Android IOS 获取通讯录联系人列表
  • Spring Boot集成SpringFox 3.0与Pageable参数处理
  • 2、基于pytorch lightning的fabric实现pytorch的多GPU训练和混合精度功能
  • python版opencv人脸训练与人脸识别
  • 计算机视觉-数学基础*变换域表示
  • 小程序如何设置自取规则
  • Elasticsearch分词器-中文分词器ik
  • ITSS信息技术服务运行维护标准符合性证书申请详解及流程
  • Inbound marketing的完美闭环:将官网作为营销枢纽,从集客进化为入站
  • SQL On Pandas最佳实践
  • 如何批量给视频添加logo水印?
  • 数据挖掘和大数据的区别
  • Go之流程控制大全: 细节、示例与最佳实践
  • FLStudio2024最新破解版注册机
  • 【Overload游戏引擎细节分析】standard材质Shader
  • Leetcode—7.整数反转【中等】
  • lua-web-utils和proxy设置示例
  • 分享一下在微信小程序里怎么添加储值卡功能
  • 2023高频前端面试题-http
  • 图像识别在自动驾驶汽车中的多传感器融合技术
  • Kafka To HBase To Hive
  • python pandas.DataFrame 直接写入Clickhouse
  • 德语中第二虚拟式在主动态的形式,柯桥哪里可以学德语
  • [Python进阶] 消息框、弹窗:tkinter库
  • (免费领源码)java#Springboot#mysql装修选购网站99192-计算机毕业设计项目选题推荐
  • 生活废品回收系统 JAVA语言设计和实现
  • redhat/centos 配置本地yum源
  • FLStudio2024汉化破解版在哪可以下载?