【花雕动手做】行空板K10系列实验Easy Iot发布RGB颜色指令

2025-03-114455
AI 快速预览详细 收起
行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯等多种传感器及扩展接口。该板支持离线图像检测、语音识别和语音合成,适用于STEM教育场景,帮助学生轻松学习编程和人工智能。
【花雕动手做】行空板K10系列实验Easy Iot发布RGB颜色指令图1

行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。

主要特点
集成摄像头&内置算法,可进行离线图像检测
集成麦克风&内置算法,可进行离线语音识别
集成扬声器&内置算法,可进行离线语音合成
2.8寸彩色屏幕,数据展示更清晰
集成度高,利于教学
接口丰富,兼容软件多,扩展性好。


【花雕动手做】行空板K10系列实验Easy Iot发布RGB颜色指令图2

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(13)
驴友花雕
驴友花雕
作者
实验场景图

驴友花雕
驴友花雕
作者
打开指令,输入发送“B”

驴友花雕
驴友花雕
作者
在手机端打开微信,搜索小程序Easy Iot,并登录

驴友花雕
驴友花雕
作者


驴友花雕
驴友花雕
作者
实验场景图


驴友花雕
驴友花雕
作者
通过PC端Easy Iot平台发送RGB消息



驴友花雕
驴友花雕
作者
Mind+图形编程


驴友花雕
驴友花雕
作者
代码解读
1、库的引入与对象创建
引入了两个库:DFRobot_Iot.h 用于Wi-Fi连接和MQTT通信,unihiker_k10.h 用于K10硬件控制。
定义了三个主要对象:
k10 用于操作K10功能,如屏幕和画布操作。
screen_dir 用于设置屏幕方向,值为3。
myIot 用于处理Wi-Fi连接和MQTT通信功能。
还定义了一个包含5个MQTT主题的静态常量数组 topics,用于存储MQTT主题。
2、初始化设置(setup 函数)
在 setup() 函数中,首先调用 k10.begin() 初始化K10硬件,然后使用 initScreen(screen_dir) 配置屏幕方向,并创建画布,设置背景颜色为黑色。
使用 canvasText 方法在画布上显示实验标题,并调用 updateCanvas 方法刷新屏幕。
设置MQTT回调函数,分别处理接收到主题0的消息 "G"、"B" 和 "R"。
使用 myIot.wifiConnect("zhz3", "z6156721") 连接指定的Wi-Fi网络,并通过 while (!myIot.wifiStatus()) {} 循环等待Wi-Fi连接成功。
成功连接后,使用 canvasText 方法在画布上显示Wi-Fi连接成功的信息和本机IP地址,并调用 updateCanvas 方法刷新屏幕。
初始化MQTT连接参数,并通过 myIot.connect() 连接MQTT服务器,通过 while (!myIot.connected()) {} 循环等待MQTT连接成功。
成功连接后,使用 canvasText 方法在画布上显示MQTT连接成功的信息,并调用 updateCanvas 方法刷新屏幕。
3、主循环处理(loop 函数)
主循环为空,因为消息处理由回调函数处理。
4、事件回调函数
定义了三个回调函数 whenTopic0Received0、whenTopic0Received1 和 whenTopic0Received2,分别用于处理接收到的MQTT消息 "G"、"B" 和 "R"。
每当接收到消息时,回调函数将清除画布上的内容,设置屏幕背景颜色,并显示相应的文本内容。
该代码展示了如何通过Wi-Fi连接网络并使用MQTT协议与Easy IoT平台进行通信,同时在K10设备屏幕上显示连接状态和接收到的消息。这对于物联网设备的连接和数据通信非常有用。
驴友花雕
驴友花雕
作者
【花雕动手做】行空板K10系列实验之使用Easy Iot 平台发布指令RGB来控制屏幕颜色
实验开源代码
[code]#include // 引入DFRobot_Iot库,用于Wi-Fi连接及MQTT通信
#include "unihiker_k10.h" // 引入UNIHIKER_K10库,用于控制行空板K10系列硬件,如屏幕显示、画布操作等
// 函数声明
void whenTopic0Received0(); // 声明一个回调函数,当接收到主题0的消息"G"时调用
void whenTopic0Received1(); // 声明一个回调函数,当接收到主题0的消息"B"时调用
void whenTopic0Received2(); // 声明一个回调函数,当接收到主题0的消息"R"时调用
// 静态常量
const String topics[5] = {"qUOAwGhNR","","","",""}; // 定义一个包含5个主题的静态常量数组,用于存储MQTT主题
// 创建对象
UNIHIKER_K10 k10; // 创建UNIHIKER_K10对象,用于操作行空板K10功能
uint8_t screen_dir = 3; // 定义屏幕方向变量,设置为3
DFRobot_Iot myIot; // 创建DFRobot_Iot对象,用于处理Wi-Fi连接及MQTT通信功能
// 主程序开始
void setup() {
k10.begin(); // 初始化k10硬件
myIot.setMqttCallback(topic_0, "G", whenTopic0Received0); // 设置当接收到主题0的消息"G"时调用的回调函数
myIot.setMqttCallback(topic_0, "B", whenTopic0Received1); // 设置当接收到主题0的消息"B"时调用的回调函数
myIot.setMqttCallback(topic_0, "R", whenTopic0Received2); // 设置当接收到主题0的消息"R"时调用的回调函数
k10.initScreen(screen_dir); // 配置屏幕方向,参数为screen_dir
k10.creatCanvas(); // 创建并初始化画布,用于显示文本和图形
k10.setScreenBackground(0x000000); // 设置屏幕背景颜色为黑色(0x000000)
// 在画布上显示实验标题
k10.canvas->canvasText("行空板K10系列实验之MQTT", 3, 0xFFFFFF); // 显示实验标题,字体大小为3,颜色为白色(0xFFFFFF)
// 连接Wi-Fi网络
myIot.wifiConnect("zhz3", "z6156721"); // 调用myIot对象的wifiConnect方法,连接Wi-Fi网络,参数为SSID "zhz3"和密码 "z6156721"
// 等待Wi-Fi连接成功
while (!myIot.wifiStatus()) {}
// Wi-Fi连接成功后,显示相关信息
k10.canvas->canvasText("Wi-Fi 连接成功", 4, 0xFFFFFF); // 显示Wi-Fi连接成功提示,字体大小为4,颜色为白色(0xFFFFFF)
k10.canvas->canvasText((String("IP地址:") + String(myIot.getWiFiLocalIP())), 5, 0xFFFFFF); // 显示IP地址信息,字体大小为5,颜色为白色(0xFFFFFF)
k10.canvas->updateCanvas(); // 更新画布,将上面的文本刷新至屏幕上
// 初始化MQTT连接
myIot.init("iot.dfrobot.com.cn","FEI4KM2Hg","8770805724116122","FPI4FM2HRz",topics,1883); // 初始化MQTT连接参数,包含服务器地址、客户端ID、用户名、密码、主题数组及端口号
myIot.connect(); // 连接MQTT服务器
// 等待MQTT连接成功
while (!myIot.connected()) {}
// MQTT连接成功后,显示相关信息
k10.canvas->canvasText("Easy Iot 平台搭建成功!", 6, 0xFFFFFF); // 显示MQTT连接成功提示,字体大小为6,颜色为白色(0xFFFFFF)
k10.canvas->updateCanvas(); // 更新画布,将上面的文本刷新至屏幕上
}
void loop() {
// 主循环为空,因为回调函数处理消息
}
// 事件回调函数
void whenTopic0Received0() {
k10.canvas->canvasClear(7); // 清除画布上的内容,保留7像素边距
k10.setScreenBackground(0x00FF00); // 将屏幕背景设置为绿色(0x00FF00)
k10.canvas->canvasText("行空板显示绿色", 7, 0xFF0000); // 显示"行空板显示绿色"文本,字体大小为7,颜色为红色(0xFF0000)
k10.canvas->updateCanvas(); // 更新画布,将上面的文本刷新至屏幕上
}
void whenTopic0Received1() {
k10.canvas->canvasClear(7); // 清除画布上的内容,保留7像素边距
k10.setScreenBackground(0x0000FF); // 将屏幕背景设置为蓝色(0x0000FF)
k10.canvas->canvasText("行空板显示蓝色", 7, 0x00FF00); // 显示"行空板显示蓝色"文本,字体大小为7,颜色为绿色(0x00FF00)
k10.canvas->updateCanvas(); // 更新画布,将上面的文本刷新至屏幕上
}
void whenTopic0Received2() {
k10.canvas->canvasClear(7); // 清除画布上的内容,保留7像素边距
k10.setScreenBackground(0xFF0000); // 将屏幕背景设置为红色(0xFF0000)
k10.canvas->canvasText("行空板显示红色", 7, 0x0000FF); // 显示"行空板显示红色"文本,字体大小为7,颜色为蓝色(0x0000FF)
k10.canvas->updateCanvas(); // 更新画布,将上面的文本刷新至屏幕上
}
[/code]
驴友花雕
驴友花雕
作者
使用Easy Iot连接物联网,需要用到:
iot_id、
iot_pwd、
话题(topic)
这三条重要信息,其中“我的”页面中包含前两种信息(需点击眼睛图标,显示相应信息并查看)。话题需要在设备页面,点击添加完成。牢记这三条信息,K10编程时,需要使用。

驴友花雕
驴友花雕
作者
打开Easy Iot平台
网址:https://iot.dfrobot.com.cn/index.html

驴友花雕
驴友花雕
作者
知识点:Easy Iot
Easy IoT 是一个专为物联网(IoT)应用设计的智能解决方案平台,旨在简化物联网设备之间的通信和数据传输。以下是关于 Easy IoT 的关键知识点:
1. 基本概念
Easy IoT:一个提供端到端物联网解决方案的平台,从传感器到云端,帮助终端用户和小型企业采用物联网技术以改善业务结果。
MQTT协议:Easy IoT 平台基于 MQTT 协议,采用发布/订阅模式,适用于资源受限的设备和网络环境。
2. 特点
跨平台:支持多种操作系统,包括 Windows、Mac、Linux 等。
一键启动:无需复杂的配置和安装,下载解压后即可使用。
开源免费:Easy IoT 平台是开源的,用户可以自由下载、使用和修改。
易于使用:适合中小学物联网技术教学,帮助学生理解物联网原理并开发创意应用。
3. 工作原理
发布/订阅模式:设备通过主题(Topic)进行消息的发布和订阅,消息代理(Broker)负责接收和转发消息。
数据存储:支持 SQLite 和 MySQL 数据库,所有物联网消息数据都可以在线导出。
4. 应用场景
教育:帮助中小学生理解物联网原理,进行物联网项目开发。
智能家居:连接和控制智能家居设备,实现自动化和远程控制。
环境监测:收集和分析环境数据,如温度、湿度、空气质量等。
5. 安装与配置
下载与安装:从官方渠道下载 Easy IoT 平台,解压后运行即可使用,网址:https://iot.dfrobot.com.cn/index.html
配置:通过浏览器访问 Easy IoT 管理页面,进行主题和设备的配置。

驴友花雕
驴友花雕
作者
网络服务 MQTT相关积木

- 没有更多了 -