基於Mind+、MOTT實現人工智慧

小小小腸絨毛發表於2020-11-05

@基於Mind+、MOTT實現人工智慧

人工智慧實驗

一、實驗目的及要求

【一】實現人臉識別
【二】實現雲資料庫應用
【三】實現測溫資料mqtt上傳至物聯網雲平臺

二、實驗原理與內容

基於二哈實現多人人臉學習和識別
基於TinywebDB實現雲資料庫應用
基於EasyIoT實現mqtt資料上傳。

三、實驗軟硬體環境

硬體:掌控板
軟體:Mind+

四、實驗過程(實驗步驟、記錄、資料、分析)

1.基於二哈實現多人人臉學習和識別
①在Mind+擴充套件上的感測器選項選擇HUSKYLENS AI 攝像頭
在這裡插入圖片描述

②配置哈士奇(在此之前需要在二哈儀器上錄入多人人臉資訊)
在這裡插入圖片描述

2.基於TinywebDB實現雲資料庫應用
①先註冊一個賬號,再進行登入
在這裡插入圖片描述
②登入後選擇資料瀏覽,建立一個簡單的資料庫
在這裡插入圖片描述
在這裡插入圖片描述
③連線資料庫,將API地址、使用者名稱、金鑰資訊填入相對應的初始化引數選項裡
在這裡插入圖片描述
3.基於EasyIoT實現mqtt資料上傳
①登入Easy Iot平臺賬號,建立Topic0,把Easy IoT的三個引數填入MIND+中的MQTT初始化引數的紅框中即可實現連線MQTT
在這裡插入圖片描述
在這裡插入圖片描述
②連線WIFI
在這裡插入圖片描述

五、測試/除錯及實驗結果分析

(1)初始化資料成功

在這裡插入圖片描述
(2)當攝像頭對準人物時,掌控板螢幕上會顯示該任務的學號和名字,同時將資料上傳到Easy Iot平臺
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
(3)當攝像頭未對準人物時,則會出現提示
在這裡插入圖片描述

六、原始碼展示

/*!
 * MindPlus
 * mpython
 *
 */
#include <MPython.h>
#include <DFRobot_Iot.h>
#include <mPython_tinywebdb.h>
#include <DFRobot_HuskyLens.h>
// 靜態常量
const String topics[5] = {"rXYTa22Mg","","","",""};
// 建立物件
DFRobot_Iot       myIot;
mPython_TinyWebDB mydb;
DFRobot_HuskyLens huskylens;


// 主程式開始
void setup() {
	mPython.begin();
	display.setCursorLine(1);
	display.printLine("開始連線WiFi......");
	myIot.wifiConnect("HONOR 20S", "wxc123456789");
	while (!myIot.wifiStatus()) {yield();}
	display.setCursorLine(2);
	display.printLine("Wifi連線成功");
	mydb.setServerParameter("http://tinywebdb.appinventor.space/api", "wangxiao1","02ac47b5");
	myIot.init("iot.dfrobot.com.cn","eYIT-hhGR","","eYIoa2hGgz",topics,1883);
	myIot.connect();
	while (!myIot.connected()) {yield();}
	display.setCursorLine(3);
	display.printLine("MQTT連線成功!");
	delay(3000);
	display.fillScreen(0);
	huskylens.beginI2CUntilSuccess();
	huskylens.writeAlgorithm(ALGORITHM_FACE_RECOGNITION);
}
void loop() {
	huskylens.request();
	if (huskylens.isAppear(1,HUSKYLENSResultBlock)) {
		display.setCursorLine(1);
		display.printLine(mydb.getTag("1"));
		rgb.write(0, 0x00FF00);
		myIot.publish(topic_0, mydb.getTag("1"));
	}
	else if (huskylens.isAppear(2,HUSKYLENSResultBlock)) {
		display.setCursorLine(2);
		display.printLine(mydb.getTag("2"));
		rgb.write(0, 0x0000FF);
		myIot.publish(topic_0, mydb.getTag("2"));
	}
	else {
		display.setCursorLine(1);
		display.printLine("請對準人臉");
		rgb.write(0, 0xFF0000);
	}
}

在這裡插入圖片描述

七、實驗總結與體會

本次實驗結合了wifi無線傳輸、MQTT協議、建立資料庫、對接Easy-Iot、掌控板、HuskyLens的運用,實現人臉識別、雲資料庫應用以及資料mqtt上傳至物聯網雲平臺。實驗過程中需要注意的是各引數的填寫一定要保持一致,以及人臉需要提前錄入,未錄入的人臉資訊即使攝像頭對準也不會有資料上傳到物聯網平臺。

相關文章