人工智能测温实验
本实验目的如下:
【一】实现测温
【二】实现人脸识别
【三】实现TinywebDB云数据库应用
【四】实现测温数据mqtt上传至物联网云平台
实验软硬件环境:
硬件:掌控板,HuskyLens AI 视觉传感器 ,温度传感器
软件:Mind+
实验过程
1.接线效果图如下:
2.在Mind+上编程,配置好MQTT平台:easylot的参数:
代码:
#include <MPython.h>
#include <DFRobot_Iot.h>
#include <DFRobot_DS18B20.h>
#include <mPython_tinywebdb.h>
#include <DFRobot_HuskyLens.h>
// 动态变量
String mind_s_XingMing;
// 静态常量
const String topics[5] = {"hYQOs-CZg","","","",""};
// 创建对象
DFRobot_Iot myIot;
mPython_TinyWebDB mydb;
DFRobot_HuskyLens huskylens;
DFRobot_DS18B20 ds18b20_P1;
// 主程序开始
void setup() {
mPython.begin();
ds18b20_P1.begin(P1);
display.setCursorLine(1);
display.printLine("开始连接WiFi");
myIot.wifiConnect("chen", "123456ch");
while (!myIot.wifiStatus()) {yield();}
display.setCursorLine(2);
display.printLine("WiFi连接成功");
mydb.setServerParameter("http://tinywebdb.appinventor.space/api", "c1y8z3","4b1e8ac7");
myIot.init("iot.dfrobot.com.cn","KC-dy-jZg","","FjaOs-jZRz",topics,1883);
myIot.connect();
while (!myIot.connected()) {yield();}
display.setCursorLine(3);
display.printLine("MQTT连接成功");
delay(1000);
display.fillScreen(0);
huskylens.beginI2CUntilSuccess();
huskylens.writeAlgorithm(ALGORITHM_FACE_RECOGNITION);
}
void loop() {
huskylens.request();
if (huskylens.isAppearDirect(HUSKYLENSResultBlock)) {
if (huskylens.isLearned(huskylens.readBlockCenterParameterDirect().ID)) {
mind_s_XingMing = mydb.getTag((String(huskylens.readBlockCenterParameterDirect().ID)));
display.setCursorLine(1);
display.printLine(mind_s_XingMing);
display.setCursorLine(2);
display.printLine("请保持面向摄像头");
display.setCursorLine(3);
display.printLine("开始测温");
display.setCursorLine(4);
display.printLine(ds18b20_P1.getTempC());
myIot.publish(topic_0, (String(ds18b20_P1.getTempC()) + String(mind_s_XingMing)));
delay(1000);
}
else {
display.fillScreen(0);
display.setCursorLine(1);
display.printLine("无身份信息");
delay(1000);
}
}
}
3.在TinywebDB上创建学生数据库。写入学生学号姓名。
实验效果图:
检测人脸后,读出学生姓名、学生号及温度
检测到未录入身份的人脸则显示无身份信息。
将检测到的信息发送至easylot平台上