我是靠谱客的博主 瘦瘦西牛,最近开发中收集的这篇文章主要介绍物联网——Al二哈人脸识别物联网——Al二哈人脸识别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

**

物联网——Al二哈人脸识别

**

一、实验目的及要求

【一】实现人脸识别
【二】实现云数据库应用
【三】实现数据mqtt上传至物联网云平台

二、实验原理与内容

基于二哈实现多人人脸学习和识别
基于TinywebDB实现云数据库应用
基于EasyIoT实现mqtt数据上传。

三、实验软硬件环境

  • 硬件:掌控板、HuskyLens二哈识图
    掌控板:
    可直接在某东、某宝买,市场价:99RMB
    二哈识图:
    在这里插入图片描述
    二哈识图详细介绍以及版本升级

  • 软件: Mind+图形化编程软件
    下载地址:Dfrobot官网中国区

四、实验过程

1.mind+环境配置:

  • 选择huskylens Al摄像头传感器

在这里插入图片描述

  • 添加实验所需服务:MQTT、WIFI、TingywebDB

在这里插入图片描述

  • 对上列服务进行配置:
    在这里插入图片描述在这里插入图片描述

2.硬件配置:
组装掌控板与二哈识图:
在这里插入图片描述
3.人脸录入配置:
在这里插入图片描述在二哈识别中选中人脸识别功能对多人人脸进行持续录入

  • id1:

在这里插入图片描述

  • id4:

在这里插入图片描述

  • id5:

在这里插入图片描述4.TinywebDB配置:

  • 进入tingywebDB注册界面注册账号

在这里插入图片描述

  • 进入个人的信息界面提取所需信息:API地址、用户名、密钥

在这里插入图片描述

  • 为数据库添加信息:

在这里插入图片描述
5.Easy IoT配置:

  1. 进入easy iot官网国区注册登录获取iot_id、iot_pwd
  2. 在工作站建立topic0
    在这里插入图片描述

6.核心代码:

模块化代码截图:在这里插入图片描述程序化代码:

/*!
 * MindPlus
 * mpython
 *
 */
#include <MPython.h>
#include <DFRobot_Iot.h>
#include <mPython_tinywebdb.h>
#include <DFRobot_HuskyLens.h>
// 函数声明
void obloqMqttEventT0(String& message);
// 静态常量
const String topics[5] = {"y9HASmF**","QuO0IiK**","","",""};
const MsgHandleCb msgHandles[5] = {obloqMqttEventT0,NULL,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot       myIot;
mPython_TinyWebDB mydb;
DFRobot_HuskyLens huskylens;


// 主程序开始
void setup() {
	mPython.begin();
	myIot.setMqttCallback(msgHandles);
	myIot.wifiConnect("orange", "12345678");
	while (!myIot.wifiStatus()) {yield();}
	display.setCursorLine(1);
	display.printLine((String("ip地址:") + String(myIot.getWiFiLocalIP())));
	mydb.setServerParameter("http://tinywebdb.appinventor.space/api", "orange","86e33**5");
	myIot.init("iot.dfrobot.com.cn","hMeTImK**","","hG6oSiKM**",topics,1883);
	myIot.connect();
	while (!myIot.connected()) {yield();}
	display.setCursorLine(2);
	display.printLine("mqtt已连接");
	huskylens.beginI2CUntilSuccess();
	huskylens.writeAlgorithm(ALGORITHM_FACE_RECOGNITION);
}
void loop() {
	huskylens.request();
	if (huskylens.isAppearDirect(HUSKYLENSResultBlock)) {
		if (huskylens.isAppear(1,HUSKYLENSResultBlock)) {
			display.setCursorLine(3);
			display.printLine(mydb.getTag("1"));
			rgb.write(-1, 0x00FF00);
		}
		else if (huskylens.isAppear(4,HUSKYLENSResultBlock)) {
			display.setCursorLine(3);
			display.printLine(mydb.getTag("4"));
			rgb.write(-1, 0xFF0000);
		}
		else if (huskylens.isAppear(3,HUSKYLENSResultBlock)) {
			display.setCursorLine(3);
			display.printLine(mydb.getTag("3"));
			rgb.write(-1, 0xFF0000);
		}
		else {
			display.setCursorLine(3);
			display.printLine("请先录入人脸数据");
		}
	}
	else {
		display.setCursorLine(3);
		display.printLine("请将摄像头对准人脸");
	}
}


// 事件回调函数
void obloqMqttEventT0(String& message) {
	myIot.publish(topic_0, message);
}

五、测试/调试及实验结果分析

识别成果图:
id1:
在这里插入图片描述id3:在这里插入图片描述
id4:
在这里插入图片描述

  • 将二哈识别对准已录入人脸进行扫描识别,二哈识别通过对比已存入的人脸信息进行对比,与存入人脸数据匹配则通过与TinywebDB连接的数据库调取信息显示到掌控板并做出相应的指示灯变化。

Easy iot物联网平台收到的数据:
在这里插入图片描述

  • 掌控板与mind+连接,通过wifi、mqtt模块加载实现mind+下Easy IoT上mqtt消息的通讯。首先,通过wifi热点建立掌控板与网络连接,通过初始化mqtt数据导入iot_id、iot_pwd以及连接的topic1建立mqtt与服务器的连接。
  • Wifi连接通过在显示屏输出“wifi连接成功”测试wifi是否成功;mqtt连接通过在显示屏输出“MQTT连接成功”测试mqtt是否连接成功。一旦wifi与mqtt连接成功后通过掌控板上的A键开关控制消息语句的循环发送与清屏控制。
  • 实验中主掌控板通过向iot_id的topic1发送消息,iot用户在iot.dfrobot.com.cn的topic0的界面可查看消息接收记录,同时iot用户掌控板可在显示屏显示到发送内容。Iot用户向topic1发送信息,主机掌控板显示屏也可以显示接收内容。

六、实验结论与体会

本次实验基于人工智能实现多人人脸学习和识别、云数据库应用、实现mqtt数据上传。不得不说现在Al机器确实厉害,整合大数据信息数据,数据挖掘、数据分析、学习等能力也比过去厉害太多,我相信机器运用在未来将会起到一个改变的作用。
同时也说明了这个缺口的需求,有投入就会有收获,机器的运用远不止此。

后言

因实验时传送的数据涉及个人隐私,故效果图展示略微修改但保证数据准确

最后

以上就是瘦瘦西牛为你收集整理的物联网——Al二哈人脸识别物联网——Al二哈人脸识别的全部内容,希望文章能够帮你解决物联网——Al二哈人脸识别物联网——Al二哈人脸识别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部