一、实验目的及要求
【一】实现人脸识别
【二】实现云数据库应用
【三】实现测温数据mqtt上传至物联网云平台
二、实验原理与内容
基于二哈实现多人人脸学习和识别
基于TinywebDB实现云数据库应用
基于EasyIoT实现mqtt数据上传。
三、实验软硬件环境
硬件:掌控板
软件:Mind+
四、 实验过程(实验步骤、记录、数据、分析)
-
基于二哈实现多人人脸学习和识别
-
基于TinywebDB实现云数据库应用
-
基于EasyIoT实现mqtt数据上传
#include <MPython.h>
#include <DFString.h>
#include <DFRobot_Iot.h>
#include <mPython_tinywebdb.h>
#include <DFRobot_HuskyLens.h>
// 动态变量
volatile float mind_n_id;
// 静态常量
const String topics[5] = {"ynB0ciKMg","","","",""};
// 创建对象
DFRobot_Iot myIot;
mPython_TinyWebDB mydb;
DFRobot_HuskyLens huskylens;
// 主程序开始
void setup() {
mPython.begin();
myIot.wifiConnect("lll2", "11112222");
while (!myIot.wifiStatus()) {yield();}
display.setCursorLine(1);
display.printLine("WiFi连接成功");
mydb.setServerParameter("http://tinywebdb.appinventor.space/api", "lrz797","a46a5f05");
myIot.init("iot.dfrobot.com.cn","se705iKMg","","yenAcmKMRz",topics,1883);
myIot.connect();
while (!myIot.connected()) {yield();}
huskylens.beginI2CUntilSuccess();
huskylens.writeAlgorithm(ALGORITHM_FACE_RECOGNITION);
}
void loop() {
huskylens.request();
if (huskylens.isAppearDirect(HUSKYLENSResultBlock)) {
mind_n_id = huskylens.readBlockCenterParameterDirect().ID;
display.setCursorLine(2);
display.printLine(mind_n_id);
myIot.publish(topic_0, mydb.getTag((dfstring.substring((String(mind_n_id)),0,1,0,1))));
if ((1==mind_n_id)) {
rgb.write(-1, 0xFF0000);
display.fillInLine(4, 0);
display.setCursorLine(3);
display.printLine(mydb.getTag((dfstring.substring((String(mind_n_id)),0,1,0,1))));
}
else if ((2==mind_n_id)) {
rgb.write(-1, 0x00FF00);
display.fillInLine(4, 0);
display.setCursorLine(3);
display.printLine(mydb.getTag((dfstring.substring((String(mind_n_id)),0,1,0,1))));
}
else {
display.fillScreen(0);
display.setCursorLine(2);
display.printLine("未识别该人脸");
}
}
}
实验效果图