【Mind+】掌控板的光控/声控/语音灯/mqtt通信

2023-12-16 14:08

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

实验一:光控灯

功能:当光照强度达到一定值后,关灯并屏幕显示关灯信息;当光照强度小于这个值时,保持光照并屏幕提示开灯信息。

实时模式图形化;
在这里插入图片描述

上传模式图形化;
在这里插入图片描述

C代码:

#include <MPython.h>// 主程序开始
void setup() {mPython.begin();
}
void loop() {if (((light.read())>1000)) {rgb.write(-1, 0x000000);display.fillScreen(0);display.setCursor(42, 22);display.print("已关灯");delay(1000);}else {rgb.brightness(round(4));rgb.write(-1, 0x0000FF);display.fillScreen(0);display.setCursor(42, 22);display.print("已开灯");delay(1000);}
}

实验效果:
在这里插入图片描述
在这里插入图片描述

实验二:声控灯

功能:当声音强度达到一定值后,灯亮起并通过屏幕显示当前状态;反之保持关灯并通过屏幕显示当前状态。

实时模式图形化;
在这里插入图片描述

上传模式图形化;
在这里插入图片描述

C代码:

#include <MPython.h>// 主程序开始
void setup() {mPython.begin();
}
void loop() {if (((sound.read())>500)) {rgb.write(0, 0xFF0000);display.fillScreen(0);display.setCursor(42, 22);display.print("正在为你开灯");delay(6000);}else {rgb.write(-1, 0x000000);display.fillScreen(0);display.setCursor(42, 22);display.print("正在为你关灯");delay(1000);}
}

实验效果:
在这里插入图片描述
在这里插入图片描述

实验三:语音控制灯

功能:按下A键开始录制语音,当识别到语音信息中包含开灯或者关灯信息时,分别亮灯或关灯并在屏幕实时显示当前信息。

实时模式图形化;
在这里插入图片描述

上传模式图形化;
在这里插入图片描述

C代码:

#include <MPython.h>
#include <DFRobot_Iot.h>
#include <MPython_ASR.h>
// 创建对象
DFRobot_Iot myIot;
MPython_ASR mpythonAsr;
String      str_mpythonAsr_result;// 主程序开始
void setup() {mPython.begin();myIot.wifiConnect("HONOR V20", "1234567890");while (!myIot.wifiStatus()) {yield();}display.fillScreen(0);display.setCursor(42, 22);display.print("WIFI连接成功");delay(1000);
}
void loop() {if ((buttonA.isPressed())) {while (!(!buttonA.isPressed())) {yield();}display.fillScreen(0);display.setCursor(42, 22);display.print("开始识别语音");str_mpythonAsr_result=mpythonAsr.getAsrResult(4);if (((String(str_mpythonAsr_result).indexOf(String("开灯")) != -1))) {rgb.write(-1, 0x0000FF);display.fillScreen(0);display.setCursor(42, 22);display.print("开灯了哟");}else if (((String(str_mpythonAsr_result).indexOf(String("关灯")) != -1))) {rgb.write(-1, 0x000000);display.fillScreen(0);display.setCursor(42, 22);display.print("关灯了哟");}}
}

实验效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验四:mqtt信息

功能:当收到来自topic1的信息,亮紫灯并在屏幕显示出信息内容;当按下A键或者触摸键,将信息发送到topic0显示发送成功并闪烁led灯。

实时模式图形化;
在这里插入图片描述

上传模式图形化;
在这里插入图片描述

C代码:

#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT1(String& message);
// 静态常量
const String topics[5] = {"vhQz6T3Wg","URfU-9dGR","","",""};
const MsgHandleCb msgHandles[5] = {NULL,obloqMqttEventT1,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;// 主程序开始
void setup() {mPython.begin();myIot.setMqttCallback(msgHandles);myIot.wifiConnect("HONOR V20", "123456789");if (myIot.wifiStatus()) {display.fillScreen(0);display.setCursor(42, 22);display.print("WIFI连接成功");}myIot.init("iot.dfrobot.com.cn","FoCTLajZR","","FojTL-CZgz",topics,1883);myIot.connect();if (myIot.connected()) {display.fillScreen(0);display.setCursor(42, 22);display.print("MQTT连接成功");}
}
void loop() {if (((buttonA.isPressed()) || (touchPadP.isTouched()))) {myIot.publish(topic_0, "烁斌快快");display.setCursorLine(1);display.printLine("发送成功");rgb.write(-1, 0xFFFF00);delay(1000);rgb.write(-1, 0x000000);delay(1000);rgb.write(-1, 0xFF0000);delay(3000);rgb.write(-1, 0x000000);}
}// 事件回调函数
void obloqMqttEventT1(String& message) {display.fillScreen(0);display.setCursorLine(2);display.printLine(message);rgb.write(-1, 0x0000FF);delay(2000);rgb.write(-1, 0x000000);
}

实验效果:
在这里插入图片描述
在这里插入图片描述

这篇关于【Mind+】掌控板的光控/声控/语音灯/mqtt通信的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

MQTT SpringBoot整合实战教程

《MQTTSpringBoot整合实战教程》:本文主要介绍MQTTSpringBoot整合实战教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录MQTT-SpringBoot创建简单 SpringBoot 项目导入必须依赖增加MQTT相关配置编写

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

基于C#实现MQTT通信实战

《基于C#实现MQTT通信实战》MQTT消息队列遥测传输,在物联网领域应用的很广泛,它是基于Publish/Subscribe模式,具有简单易用,支持QoS,传输效率高的特点,下面我们就来看看C#实现... 目录1、连接主机2、订阅消息3、发布消息MQTT(Message Queueing Telemetr

Python中edge-tts实现便捷语音合成

《Python中edge-tts实现便捷语音合成》edge-tts是一个功能强大的Python库,支持多种语言和声音选项,本文主要介绍了Python中edge-tts实现便捷语音合成,具有一定的参考价... 目录安装与环境设置文本转语音查找音色更改语音参数生成音频与字幕总结edge-tts 是一个功能强大的

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音