使用 ESP32 + Python 实现在线人员入侵检测
在工业园区中,为了园区安全,某些区域不允许人员随便进入,通过人为监控不能做到全天候监视,使用摄像头结合人体检测可以有效解决这个问题。本文则是利用HaaS Python通过摄像头采集环境图片并调用HaaS云端积木能力判断照片内是否有人体出现。
1、背景
要进行人员入侵监控,需要有摄像头再结合人体检测功能。本章中使用HaaS云端积木中人体检测能力来进行人体检测,通过整合云端AI能力充分发挥端智能的能力。在检测到人员入侵后进行报警,报警的方式可以通过显示屏提醒通知、语音报警通知或者短信电话通知等。这里我们通过显示屏提醒报警。
完成本案例需要如下硬件:
- M5Stack Core2开发板 一套
- M5Stack Unit CAM摄像头 一个
- 连接线 一条
涉及到的硬件购买链接如下,仅供参考,不负责商家发货的品质保障等问题!
名称 | 数量 | 参考链接 |
M5Stack Core2开发版 | 1 | M5Stack Core2 |
microUSB数据线 | 1 | M5Stack Core2开发套件自带 |
摄像头 | 1 | M5Stack Unit CAM摄像头 |
连接线 | 1条 | M5Stack GROVE连接线 请选用10cm长即可 |
硬件连线图如下图所示:
整个实验步骤分为:
- 在HaaS官网中的云端积木控制台创建设备。
- 设备端推送脚本到M5Stack Core2并进行人体检测。
2、创建云端设备
2.1、注册阿里云账号
进入阿里云账号注册页面 进行阿里云账号注册,注册完成后登录官网。如果您已经有阿里云账号,直接登录即可。
2.2、HaaS云端积木平台
进入阿里云HaaS官网 。
如上图所示,点击右上角的“控制台”,进入HaaS云端积木的控制台页面。
- 创建设备
在左侧导航栏设备管理中,可以看到产品和设备选项,点击“产品”,可以看到平台默认创建了“haas_正式游客产品”这个产品; 所以开发者只需要创建设备即可。点击“批量添加”, 添加方式为“自动生成”, 申请数量可填为“1”个,即可完成新设备的创建。
- 获取设备的三元组
在设备的列表中,新创建的设备上点击“查看”,就可以获得设备的三元组信息,之后这个三元组信息会在设备端代码中使用到。
3、设备端开发
3.1、开发环境准备
在进行下一步之前请确保M5StackCore2中已经烧录了HaaS Python固件并且其开发环境已经搭建完毕。详情请参考M5StackCore2快速开始中的说明。
3.2、创建解决方案
如下图所示,打开VS Code之后在新建一个基于helloworld的python工程,设定好工程名称(“pedestrian_detection”)及工作区路径之后,硬件类型选择m5stackcore2,点击立即创建,创建一个Python轻应用的解决方案。
将人体检测代码文件下的所有脚本进行复制到“pedestrian_detection”工程根目录中,然后进行如下设定完成设备端代码的开发。
Python脚本的详细说明请参考脚本内嵌的文字注释。
- 修改路由器名称及密码
修改pedestrian_detection工程里main.py中SSID和PWD的值为读者实际要连接的路由器的名称及密码(请注意名称和密码都需要放在''符号中间)。
# Wi-Fi SSID和Password设置
SSID='Your-AP-SSID'
PWD='Your-AP-Password'
修改完成之后connect_wifi函数就会连接读者自己设定的路由器。
- 修改设备的三元组信息
按照[获取设备的三元组]获取三元组信息,填入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!!!
来这里发现更多有趣案例
HaaS开发框架HaaS积木方案,赋能生态开发者,让您快速找到自己需要的解决方案,硬件主板与外设,以及各种应用组件。https://haas.iot.aliyun.com/solution
使用 ESP32 + Python 实现在线人员入侵检测相关推荐
- android 入侵检测系统,面向Android智能手机异常入侵检测的在线学习算法.DOC
面向Android智能手机异常入侵检测的在线学习算法 页码 计算机应用研究 第28卷收稿日期:2014-00-00:修回日期: 基金项目:基金项目1全称(基金项目号):基金项目2全称(基金项目号):作 ...
- 基于python的入侵检测系统毕设_基于深度学习的射频指纹的物联网设备入侵检测...
摘要:物联网(IoT)和4G/5G无线网络增加了大量设备和新服务,商用现货(COTS)物联网设备得到了广泛部署.为了确保具备无线传输能力的这些系统的安全运作,射频(RF)监视对于监视它们在RF频谱中的 ...
- 基于机器学习的入侵检测系统
导 语 在过去十年中,机器学习技术取得了快速进步,实现了以前从未想象过的自动化和预测能力.随着这一技术的发展促使研究人员和工程师为这些美妙的技术构思新的应用.不久,机器学习技术被用于加强网络安全系统. ...
- [当人工智能遇上安全] 6.基于机器学习的入侵检测和攻击识别——以KDD CUP99数据集为例
您或许知道,作者后续分享网络安全的文章会越来越少.但如果您想学习人工智能和安全结合的应用,您就有福利了,作者将重新打造一个<当人工智能遇上安全>系列博客,详细介绍人工智能与安全相关的论文. ...
- 卷积神经网络训练准确率突然下降_基于联邦学习和卷积神经网络的入侵检测方法...
王蓉1,马春光2,武朋2 1. 哈尔滨工程大学计算机科学与技术学院,哈尔滨 150001:2. 山东科技大学计算机科学与工程学院,青岛 266590 doi :10.3969/j.issn.1671- ...
- 二十四.基于机器学习的入侵检测和攻击识别——以KDD CUP99数据集为例
这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步.前文分享了Web渗透的第一步工作,涉及网站信息.域名信息.端口信息.敏感信息及指纹 ...
- 数据驱动的网络入侵检测:最新动向与研究趋势
数据驱动的网络入侵:最新趋势 最近动态 未来趋势 结论 最近动态 图9展示了2010 - 2020年数据驱动NID方法的研究兴趣趋势. 通过研究过去十年关于NID的文献,可以发现自2010年以来,人们 ...
- 基于图的下一代入侵检测系统
青藤云安全是一家主机安全独角兽公司,看名字就知道当前很大一块方向专注云原生应用安全,目前主营的是主机万相/容器蜂巢产品,行业领先,累计支持 800万 Agent.当前公司基于 NebulaGraph ...
- 控制不变量下的PLC入侵检测系统
控制不变量下的PLC入侵检测系统 摘要 可编程逻辑控制器(PLC),即控制系统的核心.众所周知PLC容易受到各种网络攻击.为了缓解这个问题,我们设计了 PLC‑Sleuth,这是一种用于 PLC ...
最新文章
- 传奇世界RollBall设计
- AspNetManagementUtility 类
- 爬虫 wordcloud操作
- linux 磁盘管理3板斧,Linux 磁盘管理的命令
- Java里面的静态代码块
- 第一百三十一期:2019年容器使用报告:Docker 和 Kubernetes 王者地位不倒!
- eclipes创建一个web项目web.xml不能自动更新的原因(web.xml和@WebServlet的作用)
- SpringBoot中mybatis配置多数据源
- (开源)XMind2TestCase一个高效的测试用例设计解决方案
- 【Spring】Spring 自动注入(autowire)详解
- Oracle 最后通牒:要 Java 8 更新先交钱!
- python两个乘号_详解python中*号的用法!(含实例:零基础也看能懂)
- 某CV四小龙继续裁员,AI独角兽还可以去吗?
- Redis的读写分离
- 曾经的荣誉,偶然被唤醒
- Unity3D游戏引擎最详尽基础教程
- linux下安装ffmpeg过程
- 轻松搭建一个BI销售数据分析系统
- Spark Streaming 双流 join
- 网络数据的背后——网络日志的分析指标
热门文章
- 王劲“大跃进造车”的背后,是心怀梦想还是圈钱?
- git push nothing to commit, working tree clean
- php301劫持,PR劫持的定义和方法
- 启程,万里长征的第一步
- 安徽事业单位考试计算机基本知识,2017安徽事业单位考试备考资料:计算机知识(文字处理软件World)...
- Android之MediaPlayer播放网络视频的实现方法
- 使用Tensorflow实现多GPU并行训练
- 英语单词学习-8-39
- java 泛型向下转型_Java向上转型和向下转型(附具体样例)
- 专题 | 如何抢先一步拿 Offer?