【经验分享】EASY EAI Nano开源套件试用体验——门禁改造之一

描述

目前官方给了基础的运行环境,人脸识别、数据库、显示都是现成的,目前缺的轮子就是人脸识别后,如果控制门禁的开关。其实如何控制开关也就是gpio的控制。


【改造切入点】


EASY EAI灵眸科技 | 让边缘AI落地更简单 (easy-eai.com)在官方的人脸识别方案里增加GPIO的“轮子”。


git clone https://github.com/EASY-EAI/EASY-EAI-Toolkit-C-Solution.git克隆仓库下来。


用QT或者其他的代码编辑器增加对GPIO的控制。


控制函数如下:

 

int setLed(void)
{
    FILE *fp=NULL;
    int i;
    printf("stat led!
");
    fp = fopen("/sys/class/gpio/export","w");
    if(fp == NULL)
    {
        printf("opne export fial
");
        return -1;


    }
    else
    {
        fprintf(fp,"%d",107); //Bank*32+PinGround(0、8、16、24)+PinNumP 这里使用GPIO3_B3,最终序号为3*32+8+2=107
        i=fclose(fp);
        if(i==0)
        {
            printf("File close OK!
");
        }
    }
    fp = fopen("/sys/class/gpio/gpio107/direction","w");
    if(fp == NULL)
    {
        printf("opne direction fial
");
        return -1;
    }
    else
    {
        fprintf(fp,"out");
        i=fclose(fp);
        if(i==0)
        {
            printf("File close OK!
");
        }
    }
    fp = fopen("/sys/class/gpio/gpio107/value","w");
    if(fp == NULL)
    {
        printf("opne write val fail
");
        return -1;
    }
    else
    {
        printf("opend LED
");
        fprintf(fp,"%d",1);
        i=fclose(fp);
        if(i==0)
        {
            printf("File close OK!
");
        }
    }
    sleep(1);
    fp = fopen("/sys/class/gpio/gpio107/value","w");
    if(fp == NULL)
    {
        printf("opne write val fail
");
        return -1;
    }
    else
    {
        printf("close LED
");
        fprintf(fp,"%d",0);
        i=fclose(fp);
        if(i==0)
        {
            printf("File close OK!
");
        }
    }
    fp = fopen("/sys/class/gpio/unexport","w");
    if(fp == NULL)
    {
        printf("un export fial
");
        return -1;


    }
    else
    {
        fprintf(fp, "%d",107);
        i=fclose(fp);
        if(i==0)
        {
            printf("File close OK!
");
        }
    }
    return 0;
}

 

把这段代码加入到

/EASY-EAI-Toolkit-C-Solution/solu-faceRecognition/src/main.cpp中

 

开源

 

然后在主程序的人脸识别成功后插入函数执行。

 

开源

 

编译好后上传到开发板。执行后识别到人脸就可以打开LED灯了。

 

门禁视频演示

 

 

本文由电子发烧友社区发布,转载请注明以上来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com

 

开源

 


原文标题:【经验分享】EASY EAI Nano开源套件试用体验——门禁改造之一

文章出处:【微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分