回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【花雕学编程】行空板K10系列实验之网络服务判定 Wi-Fi 是否连接成功并屏幕显示 简单

头像 驴友花雕 2025.03.09 2 0

00 (01).jpeg

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

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

 

0-5.jpg

网络服务 Wi-Fi 相关积木

 

07.jpg

 

辅助:屏幕显示相关积木

 

03.jpg

知识点:Wi-Fi

Wi-Fi(无线保真)是一种允许设备通过无线电波连接到互联网的技术。以下是一些关于Wi-Fi的关键知识点:

1、基本概念
无线局域网(WLAN):Wi-Fi 技术基于无线局域网 (WLAN),通过无线电波在有限的区域内传输数据。
频段:常用的 Wi-Fi 频段有2.4GHz 和5GHz,5GHz 频段提供更快的速度,但覆盖范围较小;2.4GHz 频段则覆盖范围较大,但速度相对较慢。

2、主要标准
Wi-Fi 有多个版本,每个版本在速度和覆盖范围上都有不同的性能:
802.11b:2.4GHz 频段,最大传输速度为11 Mbps。
802.11g:2.4GHz 频段,最大传输速度为54 Mbps。
802.11n:2.4GHz 和5GHz 频段,最大传输速度为600 Mbps。
802.11ac:5GHz 频段,最大传输速度可达到1Gbps 以上。
802.11ax(Wi-Fi 6):2.4GHz 和5GHz 频段,支持更高的速度和更大的设备连接数。

3、Wi-Fi 的工作原理
接入点(AP):Wi-Fi 网络的核心组件,用于发送和接收无线信号,通常为路由器。
客户端设备:例如智能手机、电脑、平板电脑等,通过无线网络适配器连接到接入点。
数据传输:无线电波在接入点和客户端设备之间传输数据,通过SSID(服务集标识符)和安全协议(如 WPA2)进行连接和加密。

4、安全与加密
WEP:一种较早的加密标准,安全性较低,易被破解。
WPA/WPA2:较新的加密标准,WPA2 是目前广泛使用的加密协议,安全性更高。
WPA3:最新的加密协议,提供更强大的安全性和易用性。

5、Wi-Fi 的应用
Wi-Fi 广泛应用于家庭、办公、公共场所等环境,提供无线互联网连接:
家庭网络:用于连接智能家居设备、智能电视等。
办公网络:用于企业内部的无线连接,提高办公效率。
公共热点:例如咖啡店、机场等,为用户提供免费或付费的无线连接服务。

6、常见问题与解决方法
信号弱:检查路由器位置,避免放置在金属物品或墙壁后面,可以使用Wi-Fi中继器或Mesh网络增强信号。
连接不稳定:检查是否有设备过多,导致网络拥堵,尝试重启路由器或更换频段。
慢速:确保路由器和设备支持最新的Wi-Fi标准,检查是否有网络干扰或带宽被占用。

 

07-.jpg

【花雕学编程】行空板K10系列实验之网络服务判定 Wi-Fi 是否连接成功并屏幕显示
实验开源代码

代码
#include <DFRobot_Iot.h>      // 引入DFRobot_Iot库,提供Wi-Fi连接及相关物联网功能
#include "unihiker_k10.h"     // 引入UNIHIKER_K10库,用于控制行空板K10系列硬件,如屏幕显示、画布操作、LED控制等

// 创建对象
UNIHIKER_K10 k10;            // 创建一个k10对象,用于操作行空板K10功能
uint8_t screen_dir = 3;        // 定义屏幕方向变量,设置为3(具体含义参照硬件说明书)
DFRobot_Iot myIot;           // 创建一个myIot对象,用于处理Wi-Fi联网功能

// 主程序开始
void setup() {
    k10.begin();                           // 初始化k10硬件
    k10.initScreen(screen_dir);            // 配置屏幕方向,参数为screen_dir
    k10.creatCanvas();                     // 创建画布,后续可用于绘制文本和图形
    k10.setScreenBackground(0x000000);     // 设置屏幕背景颜色为黑色(0x000000)
    
    // 调用myIot对象的wifiConnect方法,连接Wi-Fi网络
    // 参数为SSID "zhz3"和密码 "z6156721"
    myIot.wifiConnect("zhz3", "z6156721");
    
    // 在画布上显示初始信息
    // 显示标题文本,字体大小为3,颜色为红色(0xFF0000)
    k10.canvas->canvasText("行空板K10系列实验之Wi-Fi ", 3, 0xFF0000);
    // 显示IP地址信息,将字符串 "IP地址:"与myIot.getWiFiLocalIP()方法获取到的本机IP地址按照字符串拼接显示,字体大小为7,颜色为蓝色(0x0000FF)
    k10.canvas->canvasText((String("IP地址:") + String(myIot.getWiFiLocalIP())), 7, 0x0000FF);
    k10.canvas->updateCanvas();            // 更新画布,将上面的文本刷新至屏幕上
}

void loop() {
    // 判断当前Wi-Fi连接状态
    if (myIot.wifiStatus()) {
        // 当Wi-Fi连接成功时,执行以下操作:
        k10.setScreenBackground(0xFFFFFF);   // 将屏幕背景设置为白色(0xFFFFFF)
        // 显示连接成功的提示信息,字体大小为5,颜色为绿色(0x00FF00)
        k10.canvas->canvasText("Wi-Fi 连接成功", 5, 0x00FF00);
        // 再次显示当前的本机IP地址,字体大小为7,颜色为蓝色(0x0000FF)
        k10.canvas->canvasText((String("IP地址:") + String(myIot.getWiFiLocalIP())), 7, 0x0000FF);
        k10.canvas->updateCanvas();            // 更新画布显示上述消息
    }
    else {
        // 当Wi-Fi连接不成功时,执行以下操作:
        k10.setScreenBackground(0x000000);   // 将屏幕背景设置为黑色(0x000000)
        // 显示连接失败的提示信息,字体大小为5,颜色为绿色(0x00FF00)
        k10.canvas->canvasText("Wi-Fi 连接不成功", 5, 0x00FF00);
        k10.canvas->updateCanvas();            // 更新画布显示提示信息
    }
}

代码解读

1、库和对象初始化

代码首先引入了两个库,DFRobot_Iot.h 用于处理Wi-Fi连接相关功能,unihiker_k10.h 用于控制行空板K10硬件。

创建了两个主要对象:

k10 对象负责操作K10的屏幕、画布和其他外设。

myIot 对象则负责Wi-Fi连接功能,实现物联网数据交互。

2、初始化设置(setup 函数)

在 setup() 函数中,调用 k10.begin() 初始化设备,并通过 initScreen(screen_dir) 配置屏幕方向。接着调用 creatCanvas() 创建画布,设置背景为黑色。

然后,通过 myIot.wifiConnect("zhz3", "z6156721") 方法连接目标Wi-Fi网络(SSID为"zhz3",密码为"z6156721")。

初始化信息在画布中显示:首先显示实验标题,然后显示设备获取的本地IP地址。调用 updateCanvas() 刷新屏幕。

3、主循环处理(loop 函数)

每次 loop() 运行时,利用 myIot.wifiStatus() 判断Wi-Fi连接状态。

如果连接成功,将屏幕背景设置为白色,并显示 “Wi-Fi 连接成功” 的提示信息和当前AP(本机)IP地址;如果连接不成功,则背景保持黑色,并显示 “Wi-Fi 连接不成功” 提示信息。

每次更新后通过 updateCanvas() 更新显示。

这种设计常用于物联网调试,实时反馈连接状态和网络参数。调试时,你可以通过K10屏幕直观地观察连接情况,也可以通过串口输出进一步调试。

Mind+图形编程

 

07-05.jpg

实验场景图   未连接

 

07-06 (2).jpg

实验场景图   连接成功

 

07-06 (1).jpg

评论

user-avatar
icon 他的勋章
    展开更多