安防监控项目---概要

文章目录


前言

各位小伙伴,在蛰伏了将近有半年的时间又要和大家分享新的知识了,这次和大家分享的是一个项目,因此呢我准备分项目阶段去和大家分享,希望大家都能够在每一期的分享中有所收获;想要学习的小伙伴可以关注私信我,项目资料都是可以和大家一起分享的!

每个项目的用户最终都需要去切身的体验项目的产品,因此纵使技术千万种 ,能适应客户的需求才是王道,记住,适应客户的需求才是王道;在项目设计中其实最重要的一部分就是确定好用户的需求,主要是为了前中后期避免走一些弯路;每个阶段的项目负责人和项目具体执行者也能够明确自己的目标,把效率最大化;

在这里呢,我也不想展现自己就有多么厉害,我其实也就是一个正在学习嵌入式的学习者,分享这个项目一方面是为了巩固复盘项目,巩固基础知识,另一方面就是希望能够帮助到更多手头没有项目学习的、正在努力备战的小伙伴们!希望我的分享能够帮助到你们;

做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串口编程实现的,紧接着通过协调器发送至终端节点;


总结

到这里呢,基本上这个项目的所有框架流程基本解析完毕,希望各位小伙伴们仔细领会,最后呢是不是大家没有见到硬件的真容,有点遗憾,哈哈哈,下图给大家展示一下:


最后,各位小伙伴们如果有收获,可以点赞收藏哦,你们的认可是我创作的动力,一起加油!

相关推荐
泽虞9 小时前
《STM32单片机开发》p7
笔记·stm32·单片机·嵌入式硬件
nuoxin11410 小时前
GSV1011-富利威-HDMI芯片选型
arm开发·驱动开发·fpga开发·ffmpeg·射频工程
田甲10 小时前
【STM32】 数码管驱动
stm32·单片机·嵌入式硬件
云计算练习生10 小时前
linux shell编程实战 10 Git工具详解与运维场景实战
linux·运维·git
up向上up10 小时前
基于51单片机垃圾箱自动分类加料机快递物流分拣器系统设计
单片机·嵌入式硬件·51单片机
虚伪的空想家12 小时前
KVM的ubuntu虚机如何关闭安全启动
linux·安全·ubuntu
t1987512818 小时前
在Ubuntu 22.04系统上安装libimobiledevice
linux·运维·ubuntu
skywalk816318 小时前
linux安装Code Server 以便Comate IDE和CodeBuddy等都可以远程连上来
linux·运维·服务器·vscode·comate
晚风吹人醒.19 小时前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
Hard but lovely19 小时前
linux: pthread库的使用和理解
linux