停车场寻车系统(识别车牌,手机app查询相关信息)

2023-05-16

停车场寻车系统

文章目录

  • 停车场寻车系统
  • 前言
  • 一、手机app
  • 二、车牌识别
  • 三、数据查询
  • 总结

停车场寻车系统

前言

上个星期用了一周左右做了一个停车场寻车系统的项目,可以识别车牌,通过手机app查询车辆信息
在这里插入图片描述
在这里插入图片描述

一、手机app

手机app采用的依旧是点灯科技,通过物联网接入,这次更加深入了解了blinker的组件,就给车库加了查询功能。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ESP8266代码:

#define BLINKER_WIFI
#include <SoftwareSerial.h>
#include <Blinker.h>

char auth[] = "**************"; // blinker app提供的秘钥
char ssid[] = "Mr.Robot";// wifi 名字
char pswd[] = "************";// wifi 密码
int incomedate=0;
// 新建组件对象
BlinkerButton Button1("btn-abc");
BlinkerNumber Number1("num-abc");
BlinkerNumber TEMP("tem");
#define TEXTE_2 "tex-pi2"
BlinkerText Text2(TEXTE_2);
int counter = 0;
int a=0,a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0;
void dataRead(const String & data){  
  
     uint32_t BlinkerTime = millis();
 
     BLINKER_LOG("input=",data);
    if(data=="苏E·82L84")
    {
     Serial.println("查询成功");
      TEMP.print(a);
       Text2.print(data);
    }
    if(data=="桂A·R397")
    {
     Serial.println("查询成功");
      TEMP.print(a1);
       Text2.print(data);
    }
     if(data=="鲁F·8L620")
    {
     Serial.println("查询成功");
      TEMP.print(a2);
       Text2.print(data);
    }
        if(data=="湘A·BA597")
    {
     Serial.println("查询成功");
      TEMP.print(a3);
       Text2.print(data);
    }
       if(data=="蒙E·PF927")
    {
     Serial.println("查询成功");
      TEMP.print(a4);
       Text2.print(data);
    }

       if(data=="川B·029PQ")
    {
     Serial.println("查询成功");
      TEMP.print(a5);
       Text2.print(data);
    }

      if(data=="京K·98410")
    {
     Serial.println("查询成功");
      TEMP.print(a6);
       Text2.print(data);
    }

          if(data=="陕K·7555")
    {
     Serial.println("查询成功");
      TEMP.print(a7);
       Text2.print(data);
    }
  if (Serial.available() > 0)//串口接收到数据
  {
    incomedate = Serial.read();//获取串口接收到的数据
    if (incomedate == 'H')
    {
       a=1;
    }
    if (incomedate == 'Q')
    {
       a=2;
    }
    if (incomedate == 'W')
    {
       a=3;
    }
    if (incomedate == 'E')
    {
       a=4;
    }
    if (incomedate == 'R')
    {
       a=5;
    }
    if (incomedate == 'T')
    {
       a=6;
    }
    if (incomedate == 'Y')
    {
       a=7;
    }
    if (incomedate == 'U')
    {
       a=8;
    }
    if (incomedate == 'I')
    {
       a1=1;
    }
    if (incomedate == 'O')
    {
       a1=2;
    }
    if (incomedate == 'P')
    {
       a1=3;
    }
    if (incomedate == 'A')
    {
       a1=4;
    }
    if (incomedate == 'S')
    {
       a1=5;
    }
    if (incomedate == 'D')
    {
       a1=6;
    }
    if (incomedate == 'F')
    {
       a1=7;
    }
    if (incomedate == 'G')
    {
       a1=8;
    }
     if (incomedate == 'J')
    {
       a2=1;
    }
    if (incomedate == 'K')
    {
       a2=2;
    }
    if (incomedate == 'L')
    {
       a2=3;
    }
    if (incomedate == 'Z')
    {
       a2=4;
    }
    if (incomedate == 'X')
    {
       a2=5;
    }
    if (incomedate == 'C')
    {
       a2=6;
    }
    if (incomedate == 'V')
    {
       a2=7;
    }
    if (incomedate == 'B')
    {
       a2=8;
    }
        if (incomedate == 'N')
    {
       a3=1;
    }
    if (incomedate == 'M')
    {
       a3=2;
    }
    if (incomedate == '1')
    {
       a3=3;
    }
    if (incomedate == '2')
    {
       a3=4;
    }
    if (incomedate == '3')
    {
       a3=5;
    }
    if (incomedate == '4')
    {
       a3=6;
    }
    if (incomedate == '5')
    {
       a3=7;
    }
    if (incomedate == '6')
    {
       a3=8;
    }
       if (incomedate == '7')
    {
       a4=1;
    }
    if (incomedate == '8')
    {
       a4=2;
    }
    if (incomedate == '9')
    {
 
       a4=3;
    }
    
    if (incomedate == '`')
    {
  
       a4=4;
    }
    
    if (incomedate == '!')
    {
       a4=5;
    }
    if (incomedate == '@')
    {
       a4=6;
    }
    if (incomedate == '#')
    {
       a4=7;
    }
    if (incomedate == '$')
    {
       a4=8;
    }
     if (incomedate == '%')
    {
       a5=1;
    }
    if (incomedate == '^')
    {
       a5=2;
    }
    if (incomedate == '&')
    {
       a5=3;
    }
    if (incomedate == '*')
    {
       a5=4;
    }
    if (incomedate == '(')
    {
       a5=5;
    }
    if (incomedate == ')')
    {
       a5=6;
    }
    if (incomedate == '_')
    {
       a5=7;
    }
    if (incomedate == '+')
    {
       a5=8;
    }
        if (incomedate == '}')
    {
       a6=1;
    }
    if (incomedate == '{')
    {
       a6=2;
    }
    if (incomedate == ']')
    {
       a6=3;
    }
    if (incomedate == '[')
    {
       a6=4;
    }
    if (incomedate == '=')
    {
       a6=5;
    }
    if (incomedate == '|')
    {
       a6=6;
    }
    if (incomedate == ';')
    {
       a6=7;
    }
    if (incomedate == '<')
    {
       a6=8;
    }
     if (incomedate == '>')
    {
       a7=1;
    }
    if (incomedate ==',')
    {
       a7=2;
    }
    if (incomedate == '.')
    {
       a7=3;
    }
    if (incomedate == '?')
    {
       a7=4;
    }
    if (incomedate == '*')
    {
       a7=5;
    }
    if (incomedate == '~')
    {
       a7=6;
    }
    if (incomedate == ':')
    {
       a7=7;
    }
    if(incomedate == '-')
    {
       a7=8;
    }
 }
}

void setup()
{
    // 初始化串口
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();
    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);
}

void loop()
{
    Blinker.run();
}

二、车牌识别

通过yolov2+K210识别车牌,串口通信将信息发送到STM32。
在这里插入图片描述

在这里插入图片描述

三、数据查询

通过K210识别车牌,发送到STM32端,红外感应到将信息存入数组,然后打包发送到ESP8266端,ESP8266接收信息并设置标志,再通过MQTT接入手机app,手机app下发相关指令进行查询。

总结

其实这个项目难就难在车牌的识别以及数据的匹配,车牌识别用到了YOLOV2算法与深度学习的开发板K210,这样的处理速度更快,更准确。数据匹配采用模拟数据库的方法进行匹配。在数据匹配的过程中,要注意"c1"和c’1’两种方式是完全不同的一个引号才能叫匹配,两个引号找的是地址。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

停车场寻车系统(识别车牌,手机app查询相关信息) 的相关文章

  • 【Vue】postman汉化教程 保姆级教程 包教会

    下载链接 xff1a Win64 Win32 历史版本下载 请把下面链接的 34 版本号 34 替换为指定的版本号 xff0c 例如 xff1a 8 8 0 版本链接Windows32位https dl pstmn io download
  • 操作系统实验——进程与线程

    目录 1 使用GCC xff08 1 xff09 参数 xff08 2 xff09 自定义头文件 xff08 3 xff09 makefile脚本 xff08 4 xff09 gdb调试 2 进程 xff08 1 xff09 新建进程 xf
  • 串口应用(USART)

    串行口应用 1 USART介绍 通用同步异步收发器 USART 提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的 外部设备之间进行全双工数据交换 USART利用分数波特率发生器提供宽范围的波特率选择 它支持同步单向通信和半双工单线
  • cpp-httplib 避免阻塞主线程, c++封装httplib,httplib面向对象开发

    目录 说明 前言原生的httplib会阻塞你的主线程解决httplib阻塞主线程的问题BashController 面向对象风格使用httplib自定义controller MyController h文件自定义controller Tes
  • 数据结构——结构体的5种定义方式及对比

    以下仅为定义结构体的方式 xff0c 具体使用在后续的文章中介绍 span class token macro property span class token directive hash span span class token d
  • 【C++】STL应用(详解)

    一 泛型程序与STL1 泛型程序设计的基本概念2 STL简介 二 迭代器1 输入流迭代器2 输出流迭代器 三 STL应用1 撰写自己的算法和函数 xff0c 结合容器和迭代器解决序列变换 xff08 如取反 平方 立方 xff09 xff0
  • 模块学习(二)——MPU6050

    去年电赛备赛期间 xff0c 学的STM32标准库 xff0c 那一整个繁琐直接给我劝退了 xff0c 当时学习MPU6050时就非常痛苦 xff0c 代码也看不懂 xff0c 无非抄来抄去 xff0c 然后就是编译 xff0c 改错 xf
  • 【嵌入式面试题】常见的面试题梳理一

    注 xff1a 看面试题时 xff0c 主要应该以学习为主 xff0c 面试题有些基本上是我们编程时会遇上的问题 xff0c 通过学习面试题会提升我们的编程意识和解决一些日常我们编程所遇到的问题 xff0c 看完这篇面试题后 xff0c 希
  • 使用Python+openpyxl实现导出自定义样式的Excel文件

    之前项目中的导出Excel文件操作都是在前端完成的 xff0c 项目是由vue 43 vite构建的 xff0c 效果还不错的 xff0c 所需依赖包如下所示 npm i xlsx 64 0 18 5 npm i xlsx style vi
  • 【嵌入式面试题】常见面试题梳理二

    注 xff1a 看面试题时 xff0c 主要应该以学习为主 xff0c 面试题有些基本上是我们编程时会遇上的问题 xff0c 通过学习面试题会提升我们的编程意识和解决一些日常我们编程所遇到的问题 xff0c 看完这篇面试题后 xff0c 希
  • 【嵌入式面试题】常见面试题梳理三

    注 xff1a 看面试题时 xff0c 主要应该以学习为主 xff0c 面试题有些基本上是我们编程时会遇上的问题 xff0c 通过学习面试题会提升我们的编程意识和解决一些日常我们编程所遇到的问题 xff0c 看完这篇面试题后 xff0c 希
  • 【嵌入式面试题】常见面试题梳理四

    注 xff1a 看面试题时 xff0c 主要应该以学习为主 xff0c 面试题有些基本上是我们编程时会遇上的问题 xff0c 通过学习面试题会提升我们的编程意识和解决一些日常我们编程所遇到的问题 xff0c 看完这篇面试题后 xff0c 希
  • 【嵌入式面试题】常见面试题梳理五

    注 xff1a 看面试题时 xff0c 主要应该以学习为主 xff0c 面试题有些基本上是我们编程时会遇上的问题 xff0c 通过学习面试题会提升我们的编程意识和解决一些日常我们编程所遇到的问题 xff0c 看完这篇面试题后 xff0c 希
  • 【嵌入式面试题】常见面试题梳理六

    注 xff1a 看面试题时 xff0c 主要应该以学习为主 xff0c 面试题有些基本上是我们编程时会遇上的问题 xff0c 通过学习面试题会提升我们的编程意识和解决一些日常我们编程所遇到的问题 xff0c 看完这篇面试题后 xff0c 希
  • 我的创作一周年纪念日--收获与成长与展望

    机缘 2022年10月11日 xff0c 是我创作的一周年纪念日 xff0c 1年前 xff0c 刚到大三的我开启了我的创作之旅 xff0c 那个时候 xff0c 我选择重新学习C语言和数据结构 xff0c 将我的基础在进行巩固 在那个时候
  • 【Linux】特别篇--SMBus 协议

    Linux 特别篇 SMBus 协议 一 SMBus 简介二 SMBus 与 I2C 区别三 SMBus协议分析3 1 符号含义3 2 SMBus Quick Command3 3 SMBus Receive Byte3 4 SMBus S
  • 【Linux】特别篇--GNU C编译器扩展语法

    前言 xff1a 本章是我参考 嵌入式C语言自我修养 的GUN C编译器扩展语法这一章 xff0c 对其中的内容进行了摘录 总结与归纳 xff0c 并写了一些关于自己的理解 xff0c 这边还是推荐大家去购买原作的 xff0c 因为里面用通
  • 【ROS】机械人开发一--树莓派安装ubuntu18.04

    前言 xff1a 安装了一天的树莓派系统 xff0c 遇到了很多坑 xff0c 这里将教程详细分享一下 xff0c 方便大家快速的安装系统 目录 一 操作环境硬件软件 二 资源下载链接三 具体步骤烧入修改镜像文件问题修改重启时间PC端使用x
  • 【ROS】机械人开发二--ROS环境安装

    机械人开发二 ROS环境安装 一 运行环境二 ROS melodic安装2 1 设置软件源2 2 设置密钥2 3 安装ROS2 4 环境设置2 5 安装ROS的依赖环境2 6 初始化rosdep 三 建立工作空间测试 一 运行环境 树莓派4
  • Android应用程序开发期末大作业(1)

    一 简答题 每小题5分 xff0c 4小题 xff0c 共20分 1 1 android大众常用的五种布局 xff08 5分 xff09 答 xff1a FrameLayout 框架布局 xff0c LinearLayout 线性布局 xf

随机推荐