一、目的及要求
实现掌控板抢答器功能。
二、实验原理与内容
基于TinywebDB实现云数据库出题
基于掌控板实现按键抢答和判题
基于MQTT实现多端同步通讯
三、实验软硬件环境
硬件:掌控板
软件:Mind+
四、实验过程(实验步骤、记录、数据、分析)
请概括出题、抢答、判题等过程(包括操作逻辑和实现效果截图等)
1、出题
由主持人提出题目,按下按键A进行计时,选手可以开始抢答
其中计时的逻辑方法如下
2、抢答
选手按下A键进行抢答——发送标签抢答请求到TinywebDB数据库中,同时MQTT获得选手抢答的信息
实现效果截图
3、判题
选手抢答后主持人的掌控版同时停止计时如上图,TinywebDB显示有人抢答和选手名字,MQTT中显示选手抢答,由主持人判断选手是否回答正确
4、主持人代码截图
代码:
/*!
* MindPlus
* mpython
*
*/
#include <MPython.h>
#include <DFRobot_Iot.h>
#include <mPython_tinywebdb.h>
// 动态变量
volatile float mind_n_flag, mind_n_ao, mind_n_m, mind_n_n;
// 静态常量
const String topics[5] = {
"elLcHIuGR","MaCtNIuMg","","",""};
// 创建对象
DFRobot_Iot myIot;
mPython_TinyWebDB mydb;
// 主程序开始
void setup() {
mPython.begin();
myIot.wifiConnect("602iot", "18wulian");
while (!myIot.wifiStatus()) {
yield();}
display.setCursorLine(1);
display.printLine(myIot.getWiFiLocalIP());
mydb.setServerParameter("http://tinywebdb.appinventor.space/api",