aqin1 / Intelligent-identification-system

基于S5P6818(A53八核)实习的智能识别系统。涉及Linux文件IO基础、RFID射频识别技术、V4L2、多用户信息管理、多线程、多进程等多方面的知识。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

本系统包括三种模式:

  • 标准模式----系统默认状态是加载已有账户列表,并不断监测RFID模块是否有识别到ID卡,如有则显示对应的ID身份图像;
  • 注册账户----通过用户选择进入添加账户模式,把识别到的ID添加到链表中,同时保存到备份文件,并实现摄像头实时捕捉对应的人物信息,保存为JPG图像。
  • 注销账户----用户将已注册的ID卡注销,同时删除对应的账户信息,包括删除链表节点及文件的对应内容。

在项目中涉及到一个主线程及三个子线程:

  • 主线程(main函数)负责监控用户的输入信息,根据用户的需求切换工作模式;
  • 子线程一(rfid_work)负责监测射频识别模块的工作,及时把获取到的身份信息发送给系统,以便进行身份信息的进一步处理;
  • 子线程二(Sys_Work)负责系统运行模式的切换及具体功能的实现,包括rfid_standard_mode(); rfid_add_id(); rfid_del_id();
  • 子线程三(Cam_Work)负责摄像头的功能实现,当系统进入注册ID模式时,不断地对捕捉到的视频流进行处理,并实时显示到LCD上。

应用层

  主要是调用V4L2驱动接口实现:

  • 打开摄像头并进行初始化;
  • 启动摄像头捕捉数据;
  • 把摄像头得到的数据保存到内存中;
  • 把数据流转换为RGB格式数据供LCD实时显示;
  • 把RGB格式的数据编码压缩为JPG格式图片。

系统内部管理流程:

  • 在注册账户模式下, 通过射频识别模块的读卡功能,每次读卡成功则保存对应的卡ID到账户链表中,同时把该ID号写到读卡机记录文档中,以便保存历史注册信息。
  • 在标准模式下,当读到卡数据时候, 会自动和账户链表中记录的各个账户信息进行匹配,如果匹配项显示对应的信息,如无则不显示。
  • 在注销账户下将已注册的ID卡注销,同时删除对应的账户信息,包括删除链表节点及记录文档的对应内容。

使用到链表进行账户管理, 使用记录文档保管对应的账户信息。

项目成品概览

图5-1 项目成品图

About

基于S5P6818(A53八核)实习的智能识别系统。涉及Linux文件IO基础、RFID射频识别技术、V4L2、多用户信息管理、多线程、多进程等多方面的知识。


Languages

Language:C 86.7%Language:C++ 13.0%Language:Makefile 0.3%