实验四—掌控板抢答器实验

本次实验旨在利用掌控板和物联网技术构建抢答器。通过TinywebDB建立云题库,MQTT实现多端同步通讯,实现按键抢答和自动判题功能。实验涉及硬件掌控板和Mind+软件,需综合运用MQTT、TinyWebDB等技术,通过Easy IoT平台进行数据交互。实验过程包括题库设计、代码编写、测试调试,强调对已有知识的综合运用和细节把控,是一次提升技能的实践经历。
摘要由CSDN通过智能技术生成

一、实验目的及要求
实现掌控板抢答器功能。

二、实验原理与内容
基于TinywebDB实现云数据库出题
基于掌控板实现按键抢答和判题
基于MQTT实现多端同步通讯

三、实验软硬件环境
硬件:掌控板
软件:Mind+

四、实验过程(实验步骤、记录、数据、分析)
设计抢答器相比之前的实验相对来说比较复杂,所花时间要长,但是如果我们理清思路,就会发现,抢答器无非就是把我们之前做实验所学所用到的东西结合在了一起。

1、首先,我们需要在Easy IOT上创立三个topic,一个topic负责做“主持”发送抢答题目以及计时。另外两个topic负责充当“抢答方”,如果他们抢答成功的话,抢答快的他的信息会发到“主持人”的掌控板上。
图为在Easy IOT上创建的topic
Easy IoT登录注册网址:https://iot.dfrobot.com.cn
2、设计题库。
我们可以通过之前用过的Tiny WebDB创建自己的数据库来解决这个问题。
登录网址http://tinywebdb.appinventor.space/注册账户
在这里插入图片描述
注册成功后,点击上方数据浏览,创建数据库。
在这里插入图片描述
通过增加标签,值填写相关题目信息,如下图所示,我们的抢答器题库完成了。
在这里插入图片描述
3、在Mind+写代码
首先在Mind+点击扩展,在网络服务那里添加以下模块。
在这里插入图片描述

这是“主持人”模块代码
在这里插入图片描述
相关参数:
在这里插入图片描述
在这里插入图片描述
核心代码展示:

/*!
 * MindPlus
 * mpython
 *
 */
#include <MPython.h>
#include <DFRobot_Iot.h>
#include <mPython_tinywebdb.h>

// 动态变量
String         mind_s_QiangDaXinXi, mind_s_WenTi;
volatile float mind_n_KaiShiJiShi, mind_n_XiTongJiShi, mind_n_JingDu, mind_n_Miao,
               mind_n_Fen, mind_n_YaoYiYao, mind_n_XianZhi, mind_n_JiShiZhuangTai;
// 函数声明
void DF_XianShiShiJian();
void obloqMqttEventT2(String& message);
// 静态常量
const String topics[5] = {
   "c3PBcmFMR","hZYvpiFGR","MzFOpiFMR","",""};
const MsgHandleCb msgHandles[5] = {
   NULL,NULL,obloqMqttEventT2,NULL,NULL};
// 创建对象
DFRobot_Iot       myIot;
mPython_TinyWebDB mydb;


// 主程序开始
void setup() {
   
	mPython.begin();
	dfrobotRandomSeed();
	myIot.setMqttCallback(msgHandles);
	myIot.wifiConnect("MEIZU 16th", "66666666");
	while (!myIot.wifiStatus()) {
   yield();}
	display.setCursorLine(1);
	display.printLine("Wi-Fi连接成功");
	myIot.init("iot.dfrobot.com.cn","Z0h15mFMg","","WA2JcmKMgz",topics,1883);
	myIot.connect();
	while (!myIot.connected()) {
   yield();}
	display.setCursorLine(1);
	display.printLine("MQTT连接成功")
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值