使用 ESP32 + HaaS Python 打造云端一体车牌识别系统

Posted HaaS技术社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 ESP32 + HaaS Python 打造云端一体车牌识别系统相关的知识,希望对你有一定的参考价值。

   车牌识别系统已经融入到大众的生活中,现在的停车场大都支持车牌识别进出停车场。

   车牌识别是OCR识别领域中的一种,通过深度学习训练出能够识别各种车牌的模型,有的系统使用边缘设备进行识别,有的使用云端进行识别。本章中使用HaaS云端积木中车牌识别功能进行识别,在识别到车牌后显示车牌号码。

1、准备

  1. M5Stack Core2开发板 一套
  2. M5Stack Unit CAM摄像头 一个
  3. 连接线 一根

涉及到的硬件购买链接如下,仅供参考,不负责商家发货的品质保障等问题!

名称数量参考购买链接
M5Stack Core2开发版1M5Stack Core2
microUSB数据线1M5Stack Core2开发套件自带
摄像头1M5Stack Unit CAM摄像头
连接线1条M5Stack GROVE连接线 请选用10cm长即可

   硬件连线图如下图所示:

2、云端平台功能开通

在本案例中涉及到云端平台功能都聚合在HaaS云端积木中,所以无需单独使用 对象存储OSS视觉智能开发平台

   因此,整个步骤分为:

  1. 注册阿里云账号并登录阿里云账号;
  2. 在HaaS官网中的云端积木控制台创建设备;
  3. 推送脚本到M5Stack Core2并运行车牌识别;

2.1、注册阿里云账号

   进入阿里云官网,注册阿里云账号

2.2、HaaS云端积木平台

  1. 登录HaaS官网

   登录阿里云HaaS官网

  1. 进入HaaS云端积木控制台

   如上图所示,点击右上角的“控制台”,进入HaaS云端积木的控制台页面。

  1. 创建设备

   在左侧导航栏设备管理中,可以看到产品和设备选项,点击“产品”,可以看到平台默认创建了“haas_正式游客产品”这个产品; 所以开发者只需要创建设备即可。点击“批量添加”, 添加方式为“自动生成”, 申请数量可填为“1”个,即可完成新设备的创建。

  1. 获取设备的三元组

   在设备的列表中,新创建的设备上点击“查看”,就可以获得设备的三元组信息,之后这个三元组信息会在设备端代码中使用到。

3、设备端开发

3.1、开发环境

   在进行下一步之前请确保M5StackCore2开发环境已经搭建完毕。详情请参考M5StackCore2开发环境的说明。

3.2、创建解决方案

   如下图所示,打开VS Code之后在新建一个基于helloworld的python工程,设定好工程名称(“license_plate_recognization”)及工作区路径之后,硬件类型选择M5StackCore2,点击立即创建,创建一个Python轻应用的解决方案。

   下载车牌识别代码解压后,将所有脚本进行复制到“license_plate_recognization”工程根目录中替换原有文件,然后进行如下设定完成设备端代码的开发。

Python脚本的详细说明请参考脚本内嵌的文字注释

  1. 修改路由器名称及密码

   修改license_plate_recognization工程里main.py中SSID和PWD的值为读者实际要连接的路由器的名称及密码(请注意名称和密码都需要放在''符号中间)。

# Wi-Fi SSID和Password设置
SSID='Your-AP-SSID'
PWD='Your-AP-Password'

   修改完成之后connect_wifi函数就会连接读者自己设定的路由器。

  1. 修改设备的三元组信息

   按照[获取设备的三元组]获取三元组信息,填入main.py中:

# HaaS设备三元组
productKey = "Your-ProductKey"
deviceName  = "Your-devicename"
deviceSecret  = "Your-deviceSecret"

4、运行结果

   在网络连接成功后,屏幕上将打印出IP地址和"NTP Done",如果迟迟不能显示“NTP Done”,请长按电源键关机同时拔掉USB线重新上电运行。

   推送此脚本到M5Stack之后,串口会周期性的打印如下日志,并且识别到车牌后在屏幕上显示红色XXXX Detected的字样。

Wi-Fi is connected
IP: 192.168.3.25
NTP start
NTP done
establish tcp connection with server(host='a1kJJvGN9ko.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[443])
tcp_connect: can only connect from state CLOSED
success to establish tcp, fd=54
link platform connected
get response time : 718
'msg_id': 1127155327, 'service_id': 'hli_async_service', 'params': '"ext":"\\\\"message\\\\":\\\\"recognize call Exception\\\\",\\\\"result\\\\":\\\\"failed\\\\"","commandType":"haas.faas","commandName":"ocrCarNoReply","argInt":1', 'code': 0, 'params_len': 141
do not detect!
get response time : 2265
'msg_id': 1154933759, 'service_id': 'hli_async_service', 'params': '"ext":"\\\\"confidence\\\\":0.73655415,\\\\"plateNumber\\\\":\\\\"\\u6d59AD12345\\\\",\\\\"plateType\\\\":\\\\"\\u65b0\\u80fd\\u6e90\\u8f66\\\\",\\\\"plateTypeConfidence\\\\":0.9999995,\\\\"result\\\\":\\\\"success\\\\",\\\\"roi\\\\":\\\\"h\\\\":87,\\\\"w\\\\":211,\\\\"x\\\\":76,\\\\"y\\\\":38","commandType":"haas.faas","commandName":"ocrCarNoReply","argInt":1', 'code': 0, 'params_len': 270
detect: 浙AD12345
get response time : 735

以上是关于使用 ESP32 + HaaS Python 打造云端一体车牌识别系统的主要内容,如果未能解决你的问题,请参考以下文章

使用 ESP32 + HaaS Python 打造智能温湿度UI面板

ESP32 + HaaS Python UI Lite 组件 打造倒计时面板

ESP32 也能实现精美UI 使用 HaaS UI Lite (Python)打造音乐播放器

使用ESP32 + HaaS Python打造运动心率检测系统 云上实时守护运动健康

HaaS Python + ESP32 打造智能洗手间 检测使用率和空气质量 帮你挑选最好的坑位

毕设参考ESP32 + HaaS Python 打造数据上云声控灯