首页 > 移动开发 > 移动测试 > DFROBOT MIND+ 掌控板 人工智能测温实验
DFROBOT Mind+ 掌控板实验
人工智能测温实验
特别声明:本文系湛江市第十七中学星火创客团队及岭南师范学院物联网俱乐部原创部分参赛项目,转载请保留声明
一、实验软硬件环境
硬件:Mind +掌控板、DS18B20温度传感器(由于没有测温人体的,只好用它来代替一下)、micro:bit、HuskyLens。
软件:Mind+ IDE(版本:V1.6.5 RC3.0)
二、实验目的及要求
1、实现测温
2、实现人脸识别
3、实现云数据库应用
4、实现测温数据mqtt上传至物联网云平台
三、实验原理与内容
1、基于DS18B20或LM35实现测温
2、基于二哈实现多人人脸学习和识别
3、基于TinywebDB实现云数据库应用
4、基于EasyIoT实现mqtt数据上传。
arduino代码:
/*! * MindPlus * mpython *
*/#include <MPython.h>#include <DFRobot_Iot.h>#include <DFRobot_DS18B20.h>#include <mPython_tinywebdb.h>#include <DFRobot_HuskyLens.h>// 动态变量
String mind_s_XingMing, mind_s_XingMing2, mind_s_WenDu;// 函数声明
void DF_ID1();void DF_ID2();// 静态常量
const String topics[5] = {"vZS4cspGg","","","",""};// 创建对象
DFRobot_Iot myIot;mPython_TinyWebDB mydb;DFRobot_HuskyLens huskylens;DFRobot_DS18B20 ds18b20_P8;// 主程序开始
void setup() {
mPython.begin();
ds18b20_P8.begin(P8);
myIot.wifiConnect("602iot", "18wulian");
while (!myIot.wifiStatus()) {yield();}
display.setCursorLine(1);
display.printLine("连接成功");
myIot.init("iot.dfrobot.com.cn","afK75ypMg","","-fFn5spGRz",topics,1883);
myIot.connect();
while (!myIot.connected()) {yield();}
display.setCursorLine(2);
display.printLine("mqtt连接成功");
mydb.setServerParameter("http://tinywebdb.appinventor.space/api", "share","everyone");
display.setCursorLine(3);
display.printLine(mydb.testInternetConnect());
huskylens.beginI2CUntilSuccess();
huskylens.writeAlgorithm(ALGORITHM_FACE_RECOGNITION);
display.setCursorLine(4);
display.printLine("二哈初始化成功");
delay(1500);
display.fillScreen(0);}void loop() {
mind_s_XingMing = "2018A14135李土培";
mind_s_XingMing2 = "2018A14145王烁斌";
mind_s_WenDu = ds18b20_P8.getTempC();
huskylens.request();
if (huskylens.isAppearDirect(HUSKYLENSResultBlock)) {
DF_ID1();
DF_ID2();
}}// 自定义函数
void DF_ID1() {
if (huskylens.isAppear(1,HUSKYLENSResultBlock)) {
mydb.updateTagValue(mind_s_XingMing2, mind_s_WenDu);
myIot.publish(topic_0, (String(mind_s_XingMing) + String(mind_s_WenDu)));
display.setCursorLine(1);
display.printLine("开始测温");
display.setCursorLine(2);
display.printLine((String(mind_s_XingMing2) + String(mind_s_WenDu)));
delay(1500);
display.fillScreen(0);
}}void DF_ID2() {
if (huskylens.isAppear(2,HUSKYLENSResultBlock)) {
mydb.updateTagValue(mind_s_XingMing, mind_s_WenDu);
myIot.publish(topic_0, (String(mind_s_XingMing2) + String(mind_s_WenDu)));
display.setCursorLine(1);
display.printLine("开始测温");
display.setCursorLine(2);
display.printLine((String(mind_s_XingMing) + String(mind_s_WenDu)));
delay(1500);
display.fillScreen(0);
}}/*! * MindPlus * mpython *
*/#include <MPython.h>#include <DFRobot_Iot.h>#include <DFRobot_DS18B20.h>#include <mPython_tinywebdb.h>#include <DFRobot_HuskyLens.h>// 动态变量
String mind_s_XingMing, mind_s_XingMing2, mind_s_WenDu;// 函数声明
void DF_ID1();void DF_ID2();// 静态常量
const String topics[5] = {"vZS4cspGg","","","",""};// 创建对象
DFRobot_Iot myIot;mPython_TinyWebDB mydb;DFRobot_HuskyLens huskylens;DFRobot_DS18B20 ds18b20_P8;// 主程序开始
void setup() {
mPython.begin();
ds18b20_P8.begin(P8);
myIot.wifiConnect("602iot", "18wulian");
while (!myIot.wifiStatus()) {yield();}
display.setCursorLine(1);
display.printLine("连接成功");
myIot.init("iot.dfrobot.com.cn","afK75ypMg","","-fFn5spGRz",topics,1883);
myIot.connect();
while (!myIot.connected()) {yield();}
display.setCursorLine(2);
display.printLine("mqtt连接成功");
mydb.setServerParameter("http://tinywebdb.appinventor.space/api", "share","everyone");
display.setCursorLine(3);
display.printLine(mydb.testInternetConnect());
huskylens.beginI2CUntilSuccess();
huskylens.writeAlgorithm(ALGORITHM_FACE_RECOGNITION);
display.setCursorLine(4);
display.printLine("二哈初始化成功");
delay(1500);
display.fillScreen(0);}void loop() {
mind_s_XingMing = "2018A14135李土培";
mind_s_XingMing2 = "2018A14145王烁斌";
mind_s_WenDu = ds18b20_P8.getTempC();
huskylens.request();
if (huskylens.isAppearDirect(HUSKYLENSResultBlock)) {
DF_ID1();
DF_ID2();
}}// 自定义函数
void DF_ID1() {
if (huskylens.isAppear(1,HUSKYLENSResultBlock)) {
mydb.updateTagValue(mind_s_XingMing2, mind_s_WenDu);
myIot.publish(topic_0, (String(mind_s_XingMing) + String(mind_s_WenDu)));
display.setCursorLine(1);
display.printLine("开始测温");
display.setCursorLine(2);
display.printLine((String(mind_s_XingMing2) + String(mind_s_WenDu)));
delay(1500);
display.fillScreen(0);
}}void DF_ID2() {
if (huskylens.isAppear(2,HUSKYLENSResultBlock)) {
mydb.updateTagValue(mind_s_XingMing, mind_s_WenDu);
myIot.publish(topic_0, (String(mind_s_XingMing2) + String(mind_s_WenDu)));
display.setCursorLine(1);
display.printLine("开始测温");
display.setCursorLine(2);
display.printLine((String(mind_s_XingMing) + String(mind_s_WenDu)));
delay(1500);
display.fillScreen(0);
}}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4686/viewspace-2885591/ ,如需转载,请注明出处,否则将追究法律责任。