目录

一、框架搭建

二、通信结构体设计

三、进程间通信

四、线程间通信

五、项目分工

六、项目联调

七、项目收获


一、框架搭建

这里放个图应该更有说服力,框架从硬件上就两块,A9和zigbee。并且我认为这个项目主要突出的就是A9.底层数据采集做的很简单。以前学32干得更多的活是数据采集和上传。A9更多的是服务器的运行,其实那个网页端正常应该是谁便一台机器都可以访问的,但是A9没有公网IP只能搭建一个小局域网了。
    在软件角度,zigbee要利用协议栈和IAR编写每个zigbee节点的程序,老师的终端和协调器节点都是用的一套程序,其实这个原理我还没有太搞懂。有点神奇。不过我的风扇程序有问题,完全不好使,只能再zigbee网络中,再协调器的串口调试助手界面发送指令控制风扇。
    在A9端主要是进行数据接收上传处理和显示。还有一部分本来就在A9上的设备,可以进行控制和数据采集。

二、通信结构体设计

通信结构体这块目前我掌握的还不是很好。他主要就是两条线使用到了通信结构体,一条是将数据上传到boa服务器,一条是html的控制指令下发给具体的硬件控制线程。这两条线都需要cgi的协助。还有一个视频流的上传使用的是jpeg-streamer。就是让视频以jpeg格式进行传递。这个是直接利用了人家自带的服务器,把8080端口的数据转发到咱们的网页上了哈哈。
    回到结构体,主要就是上传使用的共享内存和信号量机制以及下发用的消息队列。在结构体中要把这俩信息分别放到变量中。声明一堆需要的标记。老师使用的是两套结构体这样可以节约开销。a9和zigbee分开了。又用一个结构体包含了这两个结构体。之后又用一个结构体
数组其实只有1个大小0老家和1新家。最后貌似也没体现用意。我不知道是要进行信息比对是否刷新还是要保留数据方便观察抑或是些别的什么。

三、进程间通信

进程间的通信,主要就是主进程和cgi通过上面说的那两套机制来实现数据上行和下传。通过信号量来通知别人取这个数据放到网页。和不断的给主进程下发命令。

四、线程间通信

线程嘛主要就是那些设备的代表线程,他们都有A9主框架进程产生,通过线程间的互斥机制来使用资源。到谁该干活了就让谁去干活。

五、项目分工

这块貌似没啥说的这肯定是老师独立完成的嘛,我们只是照葫芦画瓢,不是自己的东西一点都不亲切,不能做到每个字节都知道干嘛的,所以我打算自己做个类似的项目。顺便打打比赛。

六、项目联调

我都不知道这个词什么意思哈哈。查了百度:组成柔性直流输电各子系统之间的集成测试,主要验证各了系统之间接口及系统整体功能的正确性。就是把项目拆成小块然后做每个小块的功能测试呗。测试的话驱动代码说实话只用过蜂鸣器。因为他真的不好使,我还以为坏了所以做了测试。最后发现居然是因为蜂鸣器的线程锁没实现。我换成sqlite的线程锁就好使了。线程这里我都忘光了实在是不知道怎么实现的了。明天就开始复习。所以偷个懒先不实现。直接拿没实现功能的sqlite线程锁来用嘿嘿。
    然后zigbee的自组网我进行了测试嘎嘎好用。但是zigbee的风扇和A9之间真的实现不了呜呜呜。完全不知道什么原因。不过我觉得最大的可能就是风扇模块根本没实现串口发送数字就能运行的功能。boa的测试和jpeg的移植测试那就不用说了。都是按照手册做的test程序全是官方给的嘎嘎好使。然后模拟控制硬件和模拟数据上传也都没什么问题。就是真实数据上传的时候。mpu6050不能用后来发现没写设备树。这一下就让我想起来视频流的移植了。喵喵的搞了一天第一次是真不行因为只打开了USB驱动,没使用具体的ch340什么的。配置后重新编译内核和设备树就好了。后来又不能传到我们自己写的网页。查了半天发现居然是ip忘记改了呜呜呜呜!!!!!!

七、项目收获

收获满满,我感觉学习上的都不算什么。主要是锻炼了自己不怯场和语言表达。因为身体原因我觉得让我去二次移植我能提前去世。真的好想去芯片厂。去不了就搞几年然后自己干吧。嘎嘎赚钱哈哈。
    其实学习收获也挺大。但是我没少做项目,项目能力收获倒是不大。比赛项目计划书要求比这还恶心。有点遗憾的是为了赶进度没仔细学透。不过后面会复盘应该没问题。还有就是模板管理用的不是git老师这个课太老了。那时候可能不流行。但是讲的真的好。一看就知道老师有东西嘿嘿。后面我自己做项目要试试git管理。然后学学用source。不然白下了。还有很多需要规范化的东西都没做很可惜。
    总之就是未来可期。冲冲冲!!!!!

嵌入式安防监控项目总结相关推荐

  1. 嵌入式安防监控项目——前期知识复习

    目录 一.概述 二.C语言 三.数据结构 四.IO进程 五.网络 六.ARM体系结构和接口技术 七.系统移植 八.内核驱动 一.概述 我再报班之前学过51和32,不过都是自学的.报班开始先从应用层入手 ...

  2. 嵌入式安防监控项目——安防监控实现

    目录 一.视频流原理与移植 二.mjpeg-streamer视频图像的显示 2.1 MJPG简介 2.2环境 2.3查看我的摄像头信息 2.4驱动移植过程 2.5mjpg-stream的移植 (1)j ...

  3. 【实战】物联网安防监控项目【4】———从网页上控制A9的LED灯

    前言 学习了一个新知识,当然要记录一下啦.这两天学习了boa服务器.cgic标准库和html标签语言,又双叕解锁一个嵌入式的新玩法.cgic库是沟通C语言和html网页编程语言的一座桥梁,通过在lin ...

  4. 【实战】物联网安防监控项目———需求分析

    一.系统需求分析 1.目的 具体的应用场景展示 室内监控.家庭安保 小区安防监控 行车记录仪等 2.安防监控可以解决什么问题? 1).提供证据与线索 很多工厂.公司或银行发生偷盗或者事故,相关机关可以 ...

  5. 【实战】物联网安防监控项目【2】———boa服务器的移植

    一.boa服务器的移植 1.源码下载 1.1 boa简介: 其可执行代码只有大约60KB左右,Boa是一个单任务的HTTP服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请 ...

  6. 【实战】物联网安防监控项目【3】———CGI的移植及与学习html制作网页

    一.CGI的移植 CGIC移植部分笔记: CGIC是一个支持CGI开发的开放源码的标准C库,可以免费使用,只需要在开发的站点和程序文档中有个公开声明即可,表明程序使用了CGIC库,用户也可以购买商业授 ...

  7. 【实战】物联网安防监控项目【5】———把模拟数据传输到web网页、web显示mjpeg-streamer视频图像

    1.模拟数据传输到web 为了把硬件传感器上的数据上传到web网页,我们需要在跑linux服务器的开发板上写一个应用程序,并创建出几个线程来收集传感器检测到的数据,通过进程/线程间通信.boa与cgi ...

  8. 安防监控实现之A9主框架的搭建

    文章目录 声明 线程 概念(意识) 分层分析 数据流分析 软件层次框架图 系统框架,线程关系 项目目录结构 数据描述 结构体描述 全局变量描述 主线程与各个子线程的搭建 主线程 各个子线程的函数 搭建 ...

  9. 安防监控产业链全景梳理

    安防行业是随着现代社会安全需求应运而生的产业,围绕着视频监控技术的改革创新,行业从"看得见.看得远.看得清到看得懂",一共经历模拟监控.数字监控.网络高清监控和智能监控4个阶段,每 ...

最新文章

  1. 技术04期:关于神经网络的概念及技术领域
  2. 年终凡尔赛,都是别人家的公司...
  3. 图片链接生成器软件_推荐10个小众但是黑科技十足的Windows软件
  4. raid0 raid1 raid5 raid10工作模式的工作原理及特点
  5. layabox2:打地鼠(地鼠显示/停留/受击/消失)
  6. (67)Verilog HDL模块条件例化
  7. bat: 调用WinRAR.exe压缩文件
  8. 天涯明月刀手游服务器维护到几点,天涯明月刀手游11月11日服务器维护更新公告...
  9. UNITY读取图片素材的URL并使用
  10. 计算机上岗证学校,计算机岗位资格证
  11. java 加密 压缩_如何用java 将文件加密压缩为zip文件.
  12. 第二章、Tiny4412 U-BOOT移植二 启动分析【转】
  13. 龙讯LT8911EXB高性能MIPI转EDP分辨率1080P概述
  14. 一个优秀的平面设计作品需要满足那些特点
  15. Android PULL XML Praser
  16. 【数组】深析 “数组名称”
  17. 建设工程法规专科【6】
  18. Apache NIFI InvokeHTTP
  19. GitBook制作电子书
  20. php 监控网站是否宕机,监控服务器是否宕机的脚本

热门文章

  1. 【操作系统】设备驱动
  2. Java实现ModbusTCP通信
  3. Java实现约瑟夫环问题
  4. 有一个已排好序的数组 要求输入一个数后 按原来排序的规律将它插入数组中
  5. FineReport常用日期设置
  6. 【Python数据分析】利用Python删除EXCEL表格中指定的列数据或行数据
  7. [课程][原创]yolox检测封装成类调用几句代码完成目标检测任务
  8. nvme linux raid,04-第4章-NVMe VROC KeyVROC NVMe RAID
  9. 专利CPC系统中,如何再次下载专利审查意见书?
  10. arduino 读取当前时间_Arduino 101/Genuino 101 时间控制函数