注:本文系湛江市第十七中学星火创客团队及岭南师范学院物联网俱乐部原创部分参赛项目,转载请保留声明
人脸识别测温
材料:Mind+,二哈识图(HuskyLens),ds18b20温度传感器(有条件可以使用专业的mlx90614红外测温模块替代)
功能:通过二哈识图(HuskyLens)学习人脸,通过WiFi协议与tinywebdb微型数据库服务器连接,在掌控板屏幕上显示学号和姓名以及所测温度并通过mqtt协议将信息传到easyiot的topic中。
结果:
功能实现图形化代码:
C代码:
#include <MPython.h>
#include <DFRobot_Iot.h>
#include <DFRobot_DS18B20.h>
#include <mPython_tinywebdb.h>
#include <DFRobot_HuskyLens.h>
// 动态变量
String mind_s_MingZi;
// 静态常量
const String topics[5] = {"-Mlk8PpMR","","","",""};
// 创建对象
DFRobot_Iot myIot;
mPython_TinyWebDB mydb;
DFRobot_HuskyLens huskylens;
DFRobot_DS18B20 ds18b20_P8;
// 主程序开始
void setup() {
mPython.begin();
ds18b20_P8.begin(P8);
myIot.wifiConnect("HONOR V20", "1234567890");
while (!myIot.wifiStatus()) {yield();}
display.setCursorLine(1);
display.printLine("WiFi连接成功");
mydb.setServerParameter("http://tinywebdb.appinventor.space/api", "lf991015","d0bd42de");
display.setCursorLine(2);
display.printLine(mydb.testInternetConnect());
myIot.init("iot.dfrobot.com.cn","rfgBJ3KMg","","9BRfJ3FGRz",topics,1883);
myIot.connect();
while (!myIot.connected()) {yield();}
display.setCursorLine(3);
display.printLine("MQTT连接成功");
huskylens.beginI2CUntilSuccess();
huskylens.writeAlgorithm(ALGORITHM_FACE_RECOGNITION);
delay(3000);
display.fillScreen(0);
}
void loop() {
huskylens.request();
if (huskylens.isAppearDirect(HUSKYLENSResultBlock)) {
if (huskylens.isLearned(huskylens.readBlockCenterParameterDirect().ID)) {
mind_s_MingZi = mydb.getTag((String(huskylens.readBlockCenterParameterDirect().ID)));
display.setCursorLine(1);
display.printLine("你好:");
display.setCursorLine(2);
display.printLine(mind_s_MingZi);
display.setCursorLine(4);
display.printLine((String("温度:") + String(ds18b20_P8.getTempC())));
delay(3000);
myIot.publish(topic_0, (String(mind_s_MingZi) + String(ds18b20_P8.getTempC())));
}
}
}
tinywebdb数据库的使用:
1.先注册一个账号:
2.代码中需要填入的信息
3.设置标签和值
easyiot 收到的topic信息: