人工智能测温(Mind+图形化编程实验)

人工智能测温(Mind+图形化编程实验)

本文系湛江市第十七中学星火创客团队及岭南师范学院物联网俱乐部原创部分参赛项目,转载请保留声明。

实验软硬件环境

  1. 硬件:掌控版、micro:bit掌控I/O扩展板、HUSKYLENS
    AI摄像头、非接触式红外温度传感器/DS18B20温度传感器、数据线
  2. 软件:Mind+ (V1.6.5 RC3.0)

实验目的及要求

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

实验原理与内容

  1. 基于非接触式红外温度传感器或DS18B20温度传感器实现测温
  2. 基于二哈实现多人人脸学习和识别
  3. 基于TinywebDB实现云数据库应用
  4. 基于EasyIoT实现mqtt数据上传

实验过程

1. 搭建TinywebDB数据库实现云数据库应用
TinywebDB网址:http://tinywebdb.appinventor.space/
(1)注册一个账号或使用公共账号登录都可以

人工智能测温(Mind+图形化编程实验)_第1张图片
(2)登录进去以后记录API地址、用户名、密钥,用于代码中上传数据到数据库的验证

人工智能测温(Mind+图形化编程实验)_第2张图片
(3)然后进入数据浏览页面来进行标签和值的添加

人工智能测温(Mind+图形化编程实验)_第3张图片
2. 进行EasyIoT服务器的配置来实现mqtt数据上传
EasyIoT网址:http://iot.dfrobot.com.cn/
(1)注册Easy-iot账号并且登录

人工智能测温(Mind+图形化编程实验)_第4张图片

(2)选择工作间,记录自己的user、password、Topic,用于实现mqtt数据上传的验证

人工智能测温(Mind+图形化编程实验)_第5张图片

3. 进行二哈的配置来实现多人人脸学习和识别
(1)HuskyLens二哈识图是一款简单易用的AI视觉传感器,内置7种功能:人脸识别、物体追踪、物体识别、巡线追踪、颜色识别、标签识别、物体分类。仅需一个按键即可完成AI训练,摆脱繁琐的训练和复杂的视觉算法,让你更加专注于项目的构思和实现。
(2)接口与按键说明
人工智能测温(Mind+图形化编程实验)_第6张图片
人工智能测温(Mind+图形化编程实验)_第7张图片
(3)升级固件
使用本产品之前,强烈建议你升级到最新版本的固件,以获取最新的功能和最稳定的体验。如果你的HuskyLens已经是最新固件则无需更新。
本教程需要的固件版本不低于V0.5.1。此版本把所有功能(包括物体分类)全部集成在一起。

人工智能测温(Mind+图形化编程实验)_第8张图片
详细操作参考HuskyLens的产品维库
HuskyLens的产品维库地址:https://wiki.dfrobot.com.cn/SKU_SEN0305_Gravity__HUSKYLENS%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E6%91%84%E5%83%8F%E5%A4%B4#target_3

(4)进行人脸学习
将HuskyLens屏幕中央的“+”字对准需要学习的人脸,短按“学习按键”完成学习。如果识别到相同的脸,则屏幕上会出现一个蓝色的框并显示”人脸:ID1“。这说明已经可以进行人脸识别了。

人工智能测温(Mind+图形化编程实验)_第9张图片
人工智能测温(Mind+图形化编程实验)_第10张图片
4. 基于非接触式红外温度传感器或DS18B20温度传感器实现测温
(1)连线图

人工智能测温(Mind+图形化编程实验)_第11张图片
HuskyLens和非接触式红外温度传感器与掌控版的通信接口都采用I2C接口

人工智能测温(Mind+图形化编程实验)_第12张图片
5. 代码
(1)图形化编程代码:

人工智能测温(Mind+图形化编程实验)_第13张图片

(2)arduinoC代码:

#include 
#include 
#include 
#include 
#include 

// 动态变量
String mind_s_XingMing;
// 静态常量
const String topics[5] = {"6ablb9OGR","","","",""};
// 创建对象
DFRobot_Iot       myIot;
mPython_TinyWebDB mydb;
DFRobot_HuskyLens huskylens;
DFRobot_MLX90614  mlx90614;


// 主程序开始
void setup() {
	mPython.begin();
	display.setCursorLine(1);
	display.printLine("开始连接WiFi");
	myIot.wifiConnect("Huang", "88888888");
	while (!myIot.wifiStatus()) {yield();}
	display.setCursorLine(2);
	display.printLine("WiFi连接成功");
	myIot.init("iot.dfrobot.com.cn","aETlbrdGR","","-Po_x9dGRz",topics,1883);
	myIot.connect();
	while (!myIot.connected()) {yield();}
	display.setCursorLine(3);
	display.printLine("MQTT连接成功");
	delay(2000);
	display.fillScreen(0);
	mydb.setServerParameter("http://tinywebdb.appinventor.space/api", "huang11","658949d1");
	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((String("体温为:") + String(mlx90614.getObjectTempC())));
			myIot.publish(topic_0, (String(mind_s_XingMing) + String((String("的温度为:") + String(mlx90614.getObjectTempC())))));
			delay(3000);
		}
	}
}

实验结果

人工智能测温(Mind+图形化编程实验)_第14张图片
人工智能测温(Mind+图形化编程实验)_第15张图片

实验结论与体会

这个实验,运用到了比较多的知识,如:wifi无线传输、MQTT协议、创建数据库、对接Easy-Iot、掌控板、拓展板的使用、HuskyLens的使用和温度传感器的使用。通过实验可以把知识掌握的更加牢固。

你可能感兴趣的:(图形化编程,Mind+,人脸识别)