【Mind+】掌控板的触摸灯/mqtt篮球计分

2023-12-16 14:08

本文主要是介绍【Mind+】掌控板的触摸灯/mqtt篮球计分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

触摸显示数字并亮灯

材料:掌控板、type-c 数据线一条
功能:触摸到p、y、t分别在第一、二、三行显示1、2、3,并分别亮起掌控板0、1、2号LED灯。
图形化代码:
在这里插入图片描述
C代码:

#include <MPython.h>
#include <DFRobot_Iot.h>
// 静态常量
const String topics[5] = {"LF1/1","LF2/2","LF3/3","",""};
// 创建对象
DFRobot_Iot myIot;// 主程序开始
void setup() {mPython.begin();display.setCursor(0, 0);display.print("WIFI连接ing");myIot.wifiConnect("HONOR V20", "1234567890");while (!myIot.wifiStatus()) {yield();}display.fillScreen(0);display.setCursor(0, 0);display.print("WIFI已连接");myIot.init("192.168.43.68","602","","iot", topics, 1883);myIot.connect();while (!myIot.connected()) {yield();}display.fillScreen(0);display.setCursor(0, 0);display.print("mqtt连接成功");display.fillScreen(0);display.setCursorLine(4);display.printLine("2018A14116 刘烽");
}
void loop() {if ((touchPadP.isTouched())) {display.setCursorLine(1);display.printLine("1");rgb.write(0, 0x0000FF);while (!(!touchPadP.isTouched())) {yield();}display.fillInLine(1, 0);rgb.write(-1, 0x000000);}else if ((touchPadY.isTouched())) {display.setCursorLine(2);display.printLine("2");rgb.write(1, 0xFF0000);while (!(!touchPadY.isTouched())) {yield();}display.fillInLine(2, 0);rgb.write(-1, 0x000000);}else if ((touchPadT.isTouched())) {display.setCursorLine(3);display.printLine("3");rgb.write(2, 0xFF9900);while (!(!touchPadT.isTouched())) {yield();}display.fillInLine(3, 0);rgb.write(-1, 0x000000);}
}

演示视频:视频1

mqtt篮球计分板

材料:掌控板,type-c数据线一条
功能;通过自制的mqtt apk实现与掌控板的通信,当收到的topic信息值为0<x<=3时,分别加1、2、3分,除此外的值不显示也不累加。
图形化代码:
在这里插入图片描述
C代码:

#include <MPython.h>
#include <DFRobot_Iot.h>// 动态变量
volatile float mind_n_DeFen;
// 函数声明
void obloqMqttEventT0(String& message);
// 静态常量
const String topics[5] = {"LF1/1","","","",""};
const MsgHandleCb msgHandles[5] = {obloqMqttEventT0,NULL,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;// 主程序开始
void setup() {mPython.begin();myIot.setMqttCallback(msgHandles);myIot.wifiConnect("HONOR V20", "1234567890");display.setCursor(0, 0);display.print("WiFi连接ing...");while (!myIot.wifiStatus()) {yield();}display.fillScreen(0);display.setCursor(0, 0);display.print("WIFI已连接");myIot.init("192.168.43.68","602","","iot", topics, 1883);myIot.connect();while (!myIot.connected()) {yield();}display.fillScreen(0);display.setCursor(0, 0);display.print("mqtt连接成功");mind_n_DeFen = 0;display.setCursorLine(3);display.printLine((String("得分:") + String((String(mind_n_DeFen).toInt()))));display.setCursorLine(4);display.printLine("2018A14116 刘烽");
}
void loop() {}// 事件回调函数
void obloqMqttEventT0(String& message) {if (((String(message).toInt())==1)) {rgb.write(0, 0x0000FF);mind_n_DeFen += 1;}else if (((String(message).toInt())==2)) {rgb.write(1, 0xFF0000);mind_n_DeFen += 2;}else if (((String(message).toInt())==3)) {rgb.write(2, 0xFF9900);mind_n_DeFen += 3;}if ((((String(message).toInt())>=0) && ((String(message).toInt())<=3))) {display.setCursorLine(2);display.printLine((String("加分:") + String((String(message).toInt()))));}display.setCursorLine(3);display.printLine((String("得分:") + String((String(mind_n_DeFen).toInt()))));delay(3000);rgb.write(-1, 0x000000);
}

演示视频:视频2

关于手机app apk的制作:

页面样式:
在这里插入图片描述
制作工具:AppInventor2019PersonalEdition
制作过程:

这篇关于【Mind+】掌控板的触摸灯/mqtt篮球计分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/500758

相关文章

4G模块、WIFI模块、NBIOT模块通过AT指令连接华为云物联网服务器(MQTT协议)

MQTT协议概述 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,它被设计用来提供一对多的消息分发和应用之间的通讯,尤其适用于远程位置的设备和高延迟或低带宽的网络。MQTT协议基于客户端-服务器架构,客户端可以订阅任意数量的主题,并可以发布消息到这些主题。服务器(通常称为MQTT Broker)则负责接受来自客户端的连接请求,并转发消

HTTP协议 HTTPS协议 MQTT协议介绍

目录 一.HTTP协议 1. HTTP 协议介绍 基本介绍: 协议:  注意: 2. HTTP 协议的工作过程 基础术语: 客户端: 主动发起网络请求的一端 服务器: 被动接收网络请求的一端 请求: 客户端给服务器发送的数据 响应: 服务器给客户端返回的数据 HTTP 协议的重要特点: 一发一收,一问一答 注意: 网络编程中,除了一发一收之外,还有其它的模式 二.HTT

【知识分享】MQTT实战-使用mosquitto客户端连接emqx服务器

一、简介     MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的通信协议,旨在实现物联网设备之间的低带宽、高延迟的通信。MQTT协议设计简洁,使用TCP/IP协议进行通信,适用于各种网络环境,尤其适合在有限的网络带宽和不稳定的网络连接条件下进行通信。     MQTT的工作原理是基于发布/订阅模式的消息传递,它包括两个主要

Android触摸事件处理机制之requestDisallowInterceptTouchEvent

一、触摸事件传递的规则 当手指触摸到屏幕时,系统就会调用相应的View的onTouchEvent,并传入一系列的action。当有多个层级的View时,在父层级允许的情况下,这个action会一直向下传递直到遇到最深层的View。所以touch事件最先调用的是最底层View的onTouchEvent,如果View的onTouchEvent接收到某个touchaction并做了相应处理,最后有两种

基于 RocketMQ 的云原生 MQTT 消息引擎设计

作者:沁君 概述 随着智能家居、工业互联网和车联网的迅猛发展,面向 IoT(物联网)设备类的消息通讯需求正在经历前所未有的增长。在这样的背景下,高效和可靠的消息传输标准成为了枢纽。MQTT 协议作为新一代物联网场景中得到广泛认可的协议,正逐渐成为行业标准。 本次我们将介绍搭建在 RocketMQ 基础上实现的 MQTT 核心设计,本文重点分析 RocketMQ 如何适应这些变化,通过优化存储

MQTT协议中信息长度MSG len字段分析

截图自: 主要是说数据字节长度的计算: 每个字节由1个持续位和7个数据位组成:如果持续位为1,表示接下来的一个字节仍然表示长度的一部分 7个数据位表示的数据     0-127   共计128个数字 所以如上图的表格所示 1个字节,2个字节,3个字节,4个字节的数据范围 切记:MQTT长度的表示范围 最多使用4个字节  故这里存在着数据长度的限制  (不过真心牛掰! 试试Q

MQTT broker搭建并用SSL加密

系统为centos,基于emqx搭建broker,流程参考官方。 安装好后,用ssl加密。 进入/etc/emqx/certs,可以看到 分别为 cacert.pem CA 文件cert.pem 服务端证书key.pem 服务端keyclient-cert.pem 客户端证书client-key.pem 客户端key 编辑emqx配置:vim /etc/emqx/emqx.conf,添加s

Android 自定义View控件,实现跟随手指触摸移动的小球

Android UI组件是通过继承View类,然后绘制内容,比如ImageView,TextView等组件都是继承View类。 当Android系统提供的组件功能不能满足需求时,可以通过继承View类重写一个或多个方法,派生自定义的组件,View类常用重写方法: 1.构造器:View子类最基本的重写方法 protected voidonDraw(Canvas canvas) public

Docker核心原理解读:深度剖析Docker Daemon,掌控容器背后的引擎

容器技术已经成为现代应用程序开发和部署中的核心工具,而在Docker生态系统中,Docker Daemon 扮演着至关重要的角色。它不仅是Docker架构的核心,还负责容器的管理、镜像的操作、资源的分配等复杂任务。本文将深入解读Docker Daemon的工作原理,探讨它在Docker系统中如何高效运行,以及它如何与其他组件协同工作。 一、Docker架构回顾 在深入了解Docker Daem

构建智能门禁安防系统:树莓派 4B、OpenCV、SQLite 和 MQTT 的应用(代码示例)

一、项目概述 1.1 项目目标和用途 本项目旨在开发一个智能门禁安防系统,该系统利用摄像头和人脸识别技术,结合本地人脸库,实现对进出人员的自动识别和管理。系统能够实时记录进出人员的信息,并对未注册人员进行警报提示。通过与物联网平台的集成,用户可以远程监控和管理门禁系统,提升安全性和管理效率。 1.2 解决的问题和价值 传统的门禁系统往往依赖于钥匙或密码,存在安全隐患和管理不便的问题。本项目