使用 ESP32 + Python 实现在线人员入侵检测

简介: 在工业园区中,为了园区安全,某些区域不允许人员随便进入,通过人为监控不能做到全天候监视,使用摄像头结合人体检测可以有效解决这个问题。本文则是利用HaaS Python通过摄像头采集环境图片并调用HaaS云端积木能力判断照片内是否有人体出现。

人员入侵检测系统

   在工业园区中,为了园区安全,某些区域不允许人员随便进入,通过人为监控不能做到全天候监视,使用摄像头结合人体检测可以有效解决这个问题。本文则是利用HaaS Python通过摄像头采集环境图片并调用HaaS云端积木能力判断照片内是否有人体出现。

1、背景

   要进行人员入侵监控,需要有摄像头再结合人体检测功能。本章中使用HaaS云端积木中人体检测能力来进行人体检测,通过整合云端AI能力充分发挥端智能的能力。在检测到人员入侵后进行报警,报警的方式可以通过显示屏提醒通知、语音报警通知或者短信电话通知等。这里我们通过显示屏提醒报警。


完成本案例需要如下硬件:

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

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

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

   硬件连线图如下图所示:

COM_M5Stack硬件连线图.png


   整个实验步骤分为:

  1. 在HaaS官网中的云端积木控制台创建设备。
  2. 设备端推送脚本到M5Stack Core2并进行人体检测。

2、创建云端设备

2.1、注册阿里云账号

   进入阿里云账号注册页面 进行阿里云账号注册,注册完成后登录官网。如果您已经有阿里云账号,直接登录即可。


2.2、HaaS云端积木平台

   进入阿里云HaaS官网

AI_HaaS官网.png


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

AI_HaaS控制台.png


  1. 创建设备

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

AI_创建设备.png

AI_创建设备_设备信息.png


  1. 获取设备的三元组

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

AI_查看设备信息.png

AI_设备三元组.png


3、设备端开发

3.1、开发环境准备

   在进行下一步之前请确保M5StackCore2中已经烧录了HaaS Python固件并且其开发环境已经搭建完毕。详情请参考M5StackCore2快速开始中的说明。

3.2、创建解决方案

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

4_2_人体检测_工程创建.png

   将人体检测代码文件下的所有脚本进行复制到“pedestrian_detection”工程根目录中,然后进行如下设定完成设备端代码的开发。

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

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

   修改pedestrian_detection工程里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、运行结果

   推送pedestrian_detection工程到M5StackCore2开发板之后,脚本在网络连接成功后,会将IP地址信息打印在屏幕上。

   屏幕上提示”NTP done“代表NTP时间同步成功。NTP时间同步成功之后,脚本会自动从摄像头采集图像信息并调用HaaS云端积木能力进行人形检测,在检测到人形后会在屏幕上显示红色Pedestrian Detected!!!字样。

   如下是整个过程中串口的日志打印,其中:

  • Wi-Fi is connecting:代表正在连接路由器
  • IP: 192.168.0.158:打印获取到的IP地址信息
  • NTP start:表示开始进行NTP对时
  • NTP done: 表示NTP对时结束
  • link platform connected:表示成功连接到阿里云平台服务
  • {'ext': '{"data" ...:打印云端对图片进行人形检测后返回的检测结果
  • Pedestrian Detected:表示检测到人形
Wi-Fi is connecting...
Wi-Fi is connecting...
Wi-Fi is connecting...
Wi-Fi is connecting...
Wi-Fi is connecting...
Wi-Fi is connected
IP: 192.168.0.158
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
capture time : 205
image time : 130
{'ext': '{"data":"{\\"elements\\":[{\\"boxes\\":[0,1,317,240],\\"score\\":0.7398064,\\"type\\":\\"person\\"}],\\"height\\":240,\\"width\\":320}","result":"success"}', 'commandName': 'DetectPedestrianReply', 'commandType': 'haas.faas', 'argInt': 1}
Pedestrian Detected
get response time : 553
Pedestrian Detected!!!


来这里发现更多有趣案例:

https://haas.iot.aliyun.com/solution

目录
相关文章
|
开发框架 开发者 Python
Python+ESP32 DIY 一个【赛博朋克逗猫机】 喵喵喵?今天的主子看起来有点奇怪
Python+ESP32 DIY 一个【赛博朋克逗猫机】 喵喵喵?今天的主子看起来有点奇怪
164 1
|
传感器 运维 监控
这个夏天太热了,只能用他来保命,ESP32 + Python做一个检测紫外线设备
这个夏天太热了,只能用他来保命,ESP32 + Python做一个检测紫外线设备
185 0
|
移动开发 自动驾驶 网络协议
Python + ESP32 制作车辆定位系统,终于可以随时随地知道爱车的位置了
Python + ESP32 制作车辆定位系统,终于可以随时随地知道爱车的位置了
817 0
|
传感器 监控 网络协议
Python + ESP32 DIY自动感应智能皂液器 避免触摸更安全
Python + ESP32 DIY自动感应智能皂液器 避免触摸更安全
205 0
|
传感器 人工智能 开发框架
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
240 0
|
传感器 开发框架 人工智能
Python + ESP32 DIY炫酷的物联网远程机械臂
Python + ESP32 DIY炫酷的物联网远程机械臂
322 0
|
传感器 网络协议 物联网
HaaS Python + ESP32 打造智能洗手间 检测使用率和空气质量 帮你挑选最好的坑位
HaaS Python + ESP32 打造智能洗手间 检测使用率和空气质量 帮你挑选最好的坑位
203 0
|
传感器 安全 网络协议
【毕设参考】跌倒检测 ESP32+HaaS Python Motion API 快速打造上云的跌倒检测系统
【毕设参考】跌倒检测 ESP32+HaaS Python Motion API 快速打造上云的跌倒检测系统
244 0
|
传感器 监控 网络协议
【毕设参考】ESP32 + HaaS Python打造可以统计流量的自动感应门系统
【毕设参考】ESP32 + HaaS Python打造可以统计流量的自动感应门系统
200 0
|
监控 网络协议 安全
【毕设参考】使用ESP32 + HaaS Python 通过 Modbus 控制强电工业设备 实现低碳节能系统
【毕设参考】使用ESP32 + HaaS Python 通过 Modbus 控制强电工业设备 实现低碳节能系统
204 0
下一篇
无影云桌面