基于视觉识别的测温放聚集场馆控制系统

2020-07-211.8万
精华项目
AI 快速预览详细 收起
基于视觉识别的测温防聚集场馆控制系统是一款用于公共场所疫情防控的解决方案。该项目使用了Arduino Uno、HuskyLens AI视觉传感器、非接触测温模块等硬件,实现了人脸识别、体温检测及防聚集提醒功能。系统通过识别人脸并检测体温来控制人员进出,并在区域内超过三人时进行语音提醒。此项目适用于公共场所管理,确保安全与秩序。
视频演示:



【项目背景】
      2020年新冠疫情肆虐,为了防范疫情,有效控制疫情的传播,人们对一些场馆实行了封闭。但是对于有些没法封闭的场馆,也是提出了一些要求。例如戴口罩、测体温、不聚集等。于是我们设计了一款针对此区域的控制系统——基于视觉识别的测温防聚集场馆控制系统。
基于视觉识别的测温放聚集场馆控制系统图20

【项目展示】
基于视觉识别的测温放聚集场馆控制系统图21
基于视觉识别的测温放聚集场馆控制系统图22
【功能简介】
(1)人脸识别,测温预警:检测人脸是否已经登记且体温正常,打开大门放行。
2)放聚集提醒:根据防疫要求,当摄像头画面在指定的区域内出现的人数超过三个,进行提示。
3)语音播报:系统带有语音播报功能
【硬件材料】
序号名 名称 数量
1 Arduino Uno 2
2 IO 传感器扩展板 V7.1 2
3 HuskyLens AI 视觉传感器 2
4 非接触测温 2
5 语音合成模块 2
6 电磁锁 1
7 小喇叭 2
8 掌控板 1
9 铜柱、螺丝 若干
10 奥松板 若干
11 7.4V锂电池 2


【制作过程】
      1.系统设计:本场馆控制系统使用HuskyLens AI 视觉传感器识别人脸,通过非接触温度传感器检测人体体温,当两者都满足时放行;进入场馆内时,当在一定区域出现3个人脸的画面,系统认为此时出现了人员聚集,语音报备不要聚集。
      2.结构设计
基于视觉识别的测温放聚集场馆控制系统图2基于视觉识别的测温放聚集场馆控制系统图3基于视觉识别的测温放聚集场馆控制系统图1
3.电路连线:
基于视觉识别的测温放聚集场馆控制系统图4基于视觉识别的测温放聚集场馆控制系统图5
       4.代码编写
代码编写如下所示分为人脸识别测温程序和信息反馈程序、防聚集程序。
1)人脸识别测温程序(主程序和子程序)
[mw_shl_code=cpp,false]/*!
* MindPlus
* uno
*
*/
#include <UNO_Obloq.h>
#include <SoftwareSerial.h>
#include <DFRobot_SYN6288.h>
#include <DFRobot_MLX90614.h>
#include <DFRobot_HuskyLens.h>
// 静态常量
const String topics[5] = {"wsiSWUWMR","","","",""};
// 创建对象
UNO_Obloq         olq;
SoftwareSerial    softSerial(2, 3);
DFRobot_HuskyLens huskylens;
DFRobot_SYN6288   syn6288;
DFRobot_MLX90614  mlx90614;


// 主程序开始
void setup() {
        softSerial.begin(9600);
  olq.startConnect(&softSerial, "SRZX-WIFI", "20131209", "BJm0d8awUG", "HkVCuIaDUM", topics, "iot.dfrobot.com.cn", 1883);
        huskylens.beginI2CUntilSuccess();
        huskylens.writeAlgorithm(ALGORITHM_FACE_RECOGNITION);
        syn6288.begin(&Serial, 0, 1, 4);
        syn6288.setVolume(true, 16);
        syn6288.playText("系统初始化成功", 1);
}
void loop() {
        huskylens.request();
        if ((huskylens.isAppear(1,HUSKYLENSResultBlock) && (mlx90614.getObjectTempC()<37))) {
                syn6288.playText((String("NO1温度") + String(mlx90614.getObjectTempC())), 0);
                olq.publish(olq.topic_0, "NO1");
                digitalWrite(7, HIGH);
                delay(2000);
                digitalWrite(7, LOW);
        }
        if ((huskylens.isAppear(2,HUSKYLENSResultBlock) && (mlx90614.getObjectTempC()<37))) {
                syn6288.playText((String("NO2温度") + String(mlx90614.getObjectTempC())), 0);
                olq.publish(olq.topic_0, "NO2");
                digitalWrite(7, HIGH);
                delay(2000);
                digitalWrite(7, LOW);
        }
        if ((huskylens.isAppear(3,HUSKYLENSResultBlock) && (mlx90614.getObjectTempC()<37))) {
                syn6288.playText((String("NO3温度") + String(mlx90614.getObjectTempC())), 0);
                olq.publish(olq.topic_0, "NO3");
                digitalWrite(7, HIGH);
                delay(2000);
                digitalWrite(7, LOW);
        }
        if ((huskylens.isAppear(4,HUSKYLENSResultBlock) && (mlx90614.getObjectTempC()<37))) {
                syn6288.playText((String("NO4温度") + String(mlx90614.getObjectTempC())), 0);
                olq.publish(olq.topic_0, "NO4");
                digitalWrite(7, HIGH);
                delay(2000);
                digitalWrite(7, LOW);
        }
        if ((30<mlx90614.getObjectTempC())) {
                syn6288.playText((String("体温异常") + String(mlx90614.getObjectTempC())), 0);
                huskylens.takePhotoToSDCard();
                olq.publish(olq.topic_0, "X");
                digitalWrite(7, LOW);
                delay(2000);
        }
}
[/mw_shl_code]

信息反馈程序
[mw_shl_code=cpp,false]/*!
* MindPlus
* mpython
*
*/
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT0(String& message);
// 静态常量
const String topics[5] = {"wsiSWUWMR","","","",""};
const MsgHandleCb msgHandles[5] = {obloqMqttEventT0,NULL,NULL,NULL,NULL};
const uint8_t imageMatrix[][768] = {
        {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xf4,0xf,0xbf,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xcf,0x81,0x0,0x0,0x3f,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0x1c,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0xff,0xff,0xfb,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0xff,0xff,0xfc,0x4,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xfe,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xfe,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xfe,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfe,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0xff,0xff,0x0,0x0,0x0,0xb,0x80,0x0,0x0,0x3f,0xff,0xfe,0xff,0xfe,0x0,0x0,0x1f,0xff,0xfc,0x0,0x0,0x3f,0xff,0xfe,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xfe,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xfe,0xff,0xff,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xfe,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xfe,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x1,0xff,0xfe,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x1,0xff,0xfe,0xff,0xfe,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x1,0xff,0xfe,0xff,0xfe,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x1,0xff,0xfe,0xff,0xff,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x1,0xff,0xfe,0xff,0xff,0x0,0x30,0x0,0xff,0xf0,0x0,0xf0,0x3,0xff,0xfe,0xff,0xff,0x80,0x40,0x3c,0xff,0xff,0xf8,0x30,0x3,0xff,0xfe,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0x78,0x3,0xff,0xfe,0xff,0xff,0x80,0xff,0xff,0xff,0xfe,0x3f,0xf8,0x3,0xff,0xfe,0xff,0xff,0xc0,0xfc,0x1,0xff,0xf0,0x3,0xfc,0x7,0xff,0xfe,0xff,0xff,0xc1,0xf8,0x86,0xff,0xfe,0x3b,0xfc,0x7,0xff,0xfe,0xff,0xff,0xe1,0xff,0xff,0xff,0xff,0xff,0xfc,0xf,0xff,0xfe,0xff,0xff,0xe1,0xff,0xff,0xff,0xff,0xff,0xfe,0x3f,0xff,0xfe,0xff,0xff,0xe1,0xff,0xff,0xff,0xff,0xff,0xfe,0x3f,0xff,0xfe,0xff,0xff,0xf1,0xff,0xff,0xff,0xff,0xff,0xfe,0x3f,0xff,0xfe,0xff,0xff,0xf1,0xff,0xff,0xff,0xff,0xff,0xfe,0x7f,0xff,0xfe,0xff,0xff,0xf1,0xff,0xff,0xff,0xff,0xff,0xfe,0x7f,0xff,0xfe,0xff,0xff,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0x87,0xbf,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xfc,0x1f,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xf0,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xf8,0x3f,0xff,0xff,0xf8,0xbf,0xff,0xff,0xfe,0xff,0xff,0xff,0xf2,0xf,0xff,0xff,0xe3,0x3f,0xff,0xff,0xfe,0xff,0xff,0xff,0xf1,0xc0,0xff,0xfe,0x3f,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xf0,0xf0,0x0,0x1,0xff,0xbf,0xff,0xff,0xfe,0xff,0xff,0xff,0xf0,0x7f,0xff,0xff,0xff,0x5f,0xff,0xff,0xfe,0xff,0xff,0xff,0xf0,0x7f,0xff,0xff,0xff,0x5f,0xff,0xff,0xfe,0xff,0xff,0xff,0xf0,0x3f,0xff,0xff,0xff,0x1f,0xff,0xff,0xfe,0xff,0xff,0xff,0xf0,0x3f,0xff,0xff,0xff,0x1f,0xff,0xff,0xfe,0xff,0xff,0xff,0xf0,0x3f,0xff,0xff,0xfe,0x3f,0xff,0xff,0xfe,0x7f,0xff,0xff,0xfc,0x3f,0xff,0xff,0xfe,0x7f,0xff,0xff,0xfe,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xff,0xff,0xff,0xfe},
        {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x7,0xfe,0x7f,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x1f,0xff,0xff,0x80,0x1f,0xff,0xff,0xff,0xff,0x80,0x1f,0xff,0xff,0x98,0x1f,0xff,0xff,0xff,0xff,0x80,0x3f,0xff,0xff,0xdc,0x1f,0xff,0xff,0xff,0xff,0xc0,0x7f,0xff,0xff,0xce,0x1f,0xff,0xff,0xff,0xff,0xc0,0x7f,0xff,0xff,0xcf,0x1f,0xff,0xff,0xff,0xff,0xc0,0xff,0xff,0xff,0xcf,0x1f,0xff,0xff,0xff,0xff,0xc1,0xff,0xff,0xff,0xcf,0x9f,0xff,0xff,0xff,0xff,0xc1,0xff,0xff,0xff,0xff,0x83,0xff,0xff,0xff,0xff,0xc3,0xff,0xff,0xff,0x87,0x83,0xff,0xff,0xff,0xff,0xe3,0xff,0xff,0xfe,0x3,0xc3,0xff,0xff,0xff,0xff,0xe3,0xf8,0x1f,0xf8,0x3,0xc3,0xff,0xff,0xff,0xff,0xf3,0xf7,0x81,0xf8,0x77,0xc3,0xff,0xff,0xff,0xff,0xf3,0xff,0xf1,0xe0,0x0,0xc3,0xff,0xff,0xff,0xff,0xfb,0xfe,0x1,0xe0,0x0,0xe7,0xff,0xff,0xff,0xff,0xfb,0xf9,0x3,0xe3,0xf0,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xe0,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x3e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x18,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xf8,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xe0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xcf,0xff,0xfe,0x2,0x3f,0xff,0xff,0xff,0xff,0xff,0xcf,0xff,0xff,0x2,0x1f,0xff,0xff,0xff,0xff,0xff,0x8f,0xff,0xff,0x2,0xf,0xff,0xff,0xff,0xff,0xff,0x8f,0xff,0xfe,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0xfc,0x0,0x0,0x7f,0xff,0xff,0xff,0xfe,0x7,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x7,0xff,0x80,0x10,0x0,0x0,0x7f,0xff,0xff,0xc0,0x3,0xff,0xf0,0x70,0x0,0x0,0xf,0xff,0xff,0x0,0x3,0xff,0xf9,0xf0,0x0,0x0,0x0,0xff,0xf8,0x0,0x3,0xff,0xff,0xe0,0x0,0x0,0x0,0xff,0xc0,0x0,0x1,0xff,0xff,0xe0,0x0,0x0,0x0,0xfe,0x0,0x0,0x1,0xff,0x9f,0xc0,0x0,0x0,0x0,0xe0,0x0,0x0,0x0,0xff,0xff,0xc0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x7f,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0},
        {0x0,0x0,0x0,0x11,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x7,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x4,0x3f,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x9,0x1c,0x60,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x5,0x37,0xf0,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xc4,0x60,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xc4,0x3e,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x34,0x3,0xf0,0x0,0x0,0x0,0x0,0x3f,0x0,0x1,0x1c,0x1,0xc0,0x0,0x0,0x7,0xff,0xff,0xfc,0x0,0x6,0x7e,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1,0xbf,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1,0x1,0xcf,0xff,0xf8,0x3,0xe0,0x0,0x0,0x0,0x1,0x0,0x0,0x1f,0x80,0x79,0xe1,0xc0,0x0,0x0,0x3,0x80,0x0,0xf,0x87,0xff,0xf3,0x20,0x0,0x0,0x2,0x0,0x3f,0xc7,0xc8,0x7,0xf1,0x80,0x0,0x0,0x4,0xc0,0x0,0x7,0xc2,0x1,0xf0,0xc0,0x0,0x0,0x0,0x0,0x1,0x87,0xff,0xff,0xf0,0xc0,0x0,0x0,0x0,0x0,0xf,0xcf,0xfe,0x3f,0xf0,0xc0,0x0,0x0,0x0,0x2,0x0,0xbf,0xff,0xff,0xfd,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfb,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x13,0xff,0xef,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x9,0xff,0xff,0xff,0xff,0xff,0x3,0xf0,0x0,0x0,0x18,0xff,0xff,0xff,0xff,0xfe,0x6,0x0,0x0,0x0,0x8,0x7f,0xc0,0x7,0xff,0xfc,0x6,0x3f,0xf0,0x0,0x8,0x1f,0xc0,0x3f,0xff,0xfc,0x8e,0x60,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfc,0xb7,0xf0,0xfe,0x0,0x0,0x3,0xf3,0xff,0xff,0xff,0xc6,0x60,0xfe,0x0,0x0,0x3,0xff,0xff,0x3f,0xff,0xe2,0x1f,0xf0,0x0,0x0,0x0,0x0,0x0,0x1f,0xcf,0x92,0x1,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0x1c,0x8e,0x1,0x0,0x0,0x0,0x1,0xe1,0xff,0xfe,0x3c,0x82,0x3f,0x0,0x0,0x0,0x0,0x70,0x1f,0xfe,0x7c,0x0,0x0,0x0,0x0,0x0,0x80,0x3d,0xff,0xfc,0xfc,0x0,0x0,0x0,0x0,0x0,0x60,0x1f,0xff,0xf9,0xfc,0x0,0x0,0x0,0x0,0x0,0x70,0x3f,0xff,0xf3,0xfc,0x0,0x0,0x0,0x0,0x0,0x3c,0xf,0xff,0xc7,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0x0,0x0,0x1f,0xf8,0x0,0x0,0x0,0x0,0x0,0xf,0xc0,0x0,0x7f,0xf8,0x0,0x0,0x0,0x0,0x0,0xf,0xfc,0x7,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0},
        {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0x80,0xff,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xc0,0xff,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xc0,0x7f,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xc0,0x7f,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0xc0,0xff,0xff,0xff,0xff,0x0,0xf,0xff,0xff,0xff,0xc0,0xff,0xff,0xff,0xff,0x0,0xf,0xff,0xff,0xff,0xe0,0xff,0xff,0xff,0xfe,0x0,0x3f,0xff,0xff,0xff,0xe0,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xf0,0xff,0xff,0xff,0xff,0x0,0x0,0x7f,0xff,0xff,0xf1,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xe0,0x1,0xf1,0xff,0xff,0xff,0xff,0x0,0x0,0x7,0x83,0xe1,0xf3,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xc0,0x1f,0xf3,0xff,0xff,0xff,0xff,0x0,0x1,0x27,0xe0,0x47,0xf3,0xff,0xff,0xff,0xff,0x80,0xf,0xf7,0xff,0xff,0xf3,0xff,0xff,0xff,0xff,0x80,0xc3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xff,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x7f,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x7f,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x3e,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x1e,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xe,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xc,0x3,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x7,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0xf,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7f,0xff,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7f,0xff,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x3f,0xfe,0xf,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xf0,0x1f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff},
        {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0x80,0x0,0x0,0x0,0x7f,0xf8,0x0,0x0,0x7f,0xff,0x0,0x0,0x0,0x0,0xff,0xfc,0x0,0x0,0x7f,0xff,0x0,0x0,0x0,0x0,0xff,0xfe,0x0,0x0,0xff,0xfe,0x0,0x0,0x0,0x0,0x7f,0xff,0x0,0x1,0xff,0xfc,0x0,0x0,0x0,0x0,0x3f,0xff,0x0,0x3,0xff,0xf8,0x0,0x0,0x0,0x0,0x1f,0xff,0x80,0x3,0xff,0xf8,0x0,0x0,0x0,0x0,0x1f,0xff,0xc0,0x7,0xff,0xf0,0x0,0x0,0x0,0x0,0xf,0xff,0xe0,0xf,0xff,0xe0,0x0,0x0,0x0,0x0,0x7,0xff,0xe0,0x1f,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xf0,0x1f,0xff,0x80,0x0,0x0,0x0,0x0,0x1,0xff,0xf8,0x3f,0xff,0x80,0x0,0x0,0x0,0x0,0x1,0xff,0xfc,0x7f,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xfe,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0x0,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xfc,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xfc,0x7f,0xff,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xf8,0x3f,0xff,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xf0,0x1f,0xff,0x80,0x0,0x0,0x0,0x0,0x7,0xff,0xf0,0x1f,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xe0,0xf,0xff,0xe0,0x0,0x0,0x0,0x0,0xf,0xff,0xc0,0x7,0xff,0xe0,0x0,0x0,0x0,0x0,0x1f,0xff,0x80,0x3,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0x0,0x3,0xff,0xf8,0x0,0x0,0x0,0x0,0x7f,0xff,0x0,0x1,0xff,0xfc,0x0,0x0,0x0,0x0,0x7f,0xfe,0x0,0x0,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xfc,0x0,0x0,0x7f,0xfe,0x0,0x0,0x0,0x0,0xff,0xf8,0x0,0x0,0x3f,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xc0,0x0,0x0,0x0}
};
// 创建对象
DFRobot_Iot myIot;


// 主程序开始
void setup() {
        mPython.begin();
        myIot.setMqttCallback(msgHandles);
        myIot.wifiConnect("SRZX-WIFI", "20131209");
        delay(myIot.wifiStatus() * 1000);
        display.fillScreen(1);
        display.setCursor(22, 22);
        display.print("连接成功");
        delay(1000);
        myIot.init("iot.dfrobot.com.cn","BJm0d8awUG","","HkVCuIaDUM",topics,1883);
        myIot.connect();
        display.fillScreen(1);
}
void loop() {

}

// 事件回调函数
void obloqMqttEventT0(String& message) {
        if ((message==String("NO1"))) {
                display.fillScreen(1);
                display.drawImage(15, 0, 95, 64, imageMatrix[0]);
                delay(2000);
                display.fillScreen(1);
        }
        if ((message==String("NO2"))) {
                display.fillScreen(1);
                display.drawImage(15, 0, 80, 64, imageMatrix[1]);
                delay(2000);
                display.fillScreen(1);
        }
        if ((message==String("NO3"))) {
                display.fillScreen(1);
                display.drawImage(15, 0, 80, 64, imageMatrix[2]);
                delay(2000);
                display.fillScreen(1);
        }
        if ((message==String("NO4"))) {
                display.fillScreen(1);
                display.drawImage(15, 0, 80, 64, imageMatrix[3]);
                delay(2000);
                display.fillScreen(1);
        }
        if ((message==String("X"))) {
                display.fillScreen(1);
                display.drawImage(15, 0, 80, 64, imageMatrix[4]);
                delay(2000);
                buzz.play(DADADADUM, Once);
                display.fillScreen(1);
        }
}
[/mw_shl_code]


防聚集程序

[mw_shl_code=cpp,false]/*!
* MindPlus
* uno
*
*/
#include <UNO_Obloq.h>
#include <SoftwareSerial.h>
#include <DFRobot_SYN6288.h>
#include <DFRobot_HuskyLens.h>
// 静态常量
const String topics[5] = {"9POEJS_Zg","","","",""};
// 创建对象
UNO_Obloq         olq;
SoftwareSerial    softSerial(2, 3);
DFRobot_SYN6288   syn6288;
DFRobot_HuskyLens huskylens;


// 主程序开始
void setup() {
        softSerial.begin(9600);
  olq.startConnect(&softSerial, "SRZX-WIFI", "20131209", "BJm0d8awUG", "HkVCuIaDUM", topics, "iot.dfrobot.com.cn", 1883);
        syn6288.begin(&Serial, 0, 1, 4);
        syn6288.playText("系统初始化成功", 1);
        huskylens.beginI2CUntilSuccess();
        huskylens.writeAlgorithm(ALGORITHM_FACE_RECOGNITION);
}
void loop() {
        huskylens.request();
        if ((huskylens.readCount(HUSKYLENSResultBlock)>=3)) {
                olq.publish(olq.topic_0, "gather");
                delay(3000);
                syn6288.playText("请不要聚集!!", 15);
        }
}[/mw_shl_code]

      5.设备组装
1步:拿出激光切割好的结构件,及相关电子件器材。
基于视觉识别的测温放聚集场馆控制系统图7基于视觉识别的测温放聚集场馆控制系统图8
2步:取出前面板,安装非接触测温传感器和HuskyLens AI 视觉传感器固定位螺丝。
基于视觉识别的测温放聚集场馆控制系统图6
3步:在上一步基础上安装非接触测温传感器和视觉识别传感器。
基于视觉识别的测温放聚集场馆控制系统图12
4步:安装前面板背面的门锁。
基于视觉识别的测温放聚集场馆控制系统图9
5步:拿出主控器及继电器安装在侧面板上
基于视觉识别的测温放聚集场馆控制系统图10
6步:将四个侧面板拼接与底板组合。
基于视觉识别的测温放聚集场馆控制系统图11
7步:拿出另外一只HuskyLens AI 视觉传感器固定在顶板对应孔位上。
基于视觉识别的测温放聚集场馆控制系统图13
8步:安装门及铰链。
基于视觉识别的测温放聚集场馆控制系统图14
7.测试与运行
分别使用四张照片作为测试的对象(因为此处可以用真正的人脸)但进入场馆后不好演示,所以使用了这种方式。
基于视觉识别的测温放聚集场馆控制系统图15基于视觉识别的测温放聚集场馆控制系统图16基于视觉识别的测温放聚集场馆控制系统图17基于视觉识别的测温放聚集场馆控制系统图18基于视觉识别的测温放聚集场馆控制系统图19

图片4.png (314.48 KB, 下载次数: 9275)

基于视觉识别的测温防聚集场馆控制系统 | DF创客社区_image_3.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(11)
网络白丁
网络白丁
又学到一手,拆二哈 是不是换摄像头更灵活点?不过这样要增加成本了
hnyzcj
hnyzcj
作者
回复网络白丁
可以,不费成本,不过别弄坏就行了
XiYang
XiYang
想做但是预算有点高
独爱旧呆
独爱旧呆
您好,老师,我想请教一下,我模仿您写了了个二哈检测聚集3个人自动打开继电器,但是一直没成功,您能帮忙看下是什么原因嘛
佛系唐法官
佛系唐法官
二哈在哪里?我眼睛坏了吗???
佛系唐法官
佛系唐法官回复hnyzcj
哦哦哦,看见了,眼睛之前聋了。
hnyzcj
hnyzcj
作者
回复佛系唐法官
二哈翻盖玩
DFS1w2cb8o8
DFS1w2cb8o8
厉害厉害
20060606
20060606
1.为什么要用两块锂电池?两套系统可以用一块电池供电啊
2.这个项目投资有些大啊~两块二哈。。。。。。
3.希望这个系统能投入实际使用
4.以上是我的几点小小建议,欢迎指正
hnyzcj
hnyzcj
作者
回复20060606
评论内容
20060606
20060606
二哈这么改造不怕排线折了?
曾轩轩
曾轩轩
二哈承受了这个年纪不应该承受的风险和压力。
gray6666
gray6666
二哈改造有风险,为领导捏把汗。。。。。。。
hnyzcj
hnyzcj
作者
回复gray6666
没问题
DFHJM_IpFmV
DFHJM_IpFmV
这个哈士奇犯了什么罪么……
DFHJM_IpFmV
DFHJM_IpFmV回复hnyzcj
但是铁熊说不可以掰
hnyzcj
hnyzcj
作者
回复DFHJM_IpFmV
咋了,这么玩不香吗
TuTu
TuTu
wow好棒!支持支持!!!
- 没有更多了 -