本帖最后由 meiyao 于 2024-4-6 22:08 编辑
安信可BW16-Kit是一款针对BW16模组设计的核心开发板,开发板提供了全面的I/O接口,并板载RGB七彩灯,开发者可以根据自己的需求连接外设。BW16模组是基于RTL8720DN开发的双频Wi-Fi(2.4GHz或5GHz)和蓝牙SoC模组,集成了ARM V8(兼容Cortex-M4F)高性能MCU和ARM V8M(兼容Cortex-M0)低功耗MCU,同时还提供了丰富的外围接口,支持SSID混频路由配网,能够简化配网流程并提升配网成功率。
通过串口生成的IP,就可以有打开开关界面。
用于Arduino平台(具体来说是ESP8266或ESP32等Wi-Fi模块)的一个示例,它创建了一个简单的Web服务器,通过该服务器可以控制一个LED灯的开关。
代码:
代码注释:
- // 引入WiFi库,用于管理Wi-Fi连接
- #include <WiFi.h>
- // 引入WiFiServer库,用于创建Wi-Fi服务器
- #include <WiFiServer.h>
- // 引入WiFiClient库,用于处理来自客户端的连接
- #include <WiFiClient.h>
-
- // 定义Wi-Fi网络的SSID(名称)
- char* ssid = "CMCC-c6tG";
- // 定义Wi-Fi网络的密码
- const char* password = "mei13728232960";
-
- // 创建一个WiFiServer对象,监听80端口(HTTP默认端口)
- WiFiServer server(80);
- // 定义一个字符串对象,用于存储HTTP请求头
- String header;
-
- void setup() {
- // 设置PA13引脚为输出模式,用于控制LED灯
- pinMode(PA13, OUTPUT);
-
- // 开始串行通信,波特率为115200
- Serial.begin(115200);
-
- // 打印空行和连接Wi-Fi的消息
- Serial.println();
- Serial.println("Connecting to WiFi");
-
- // 尝试连接到指定的Wi-Fi网络
- WiFi.begin(ssid, password);
-
- // 循环等待直到连接到Wi-Fi网络
- while (WiFi.status() != WL_CONNECTED) {
- delay(500); // 等待500毫秒
- Serial.print("."); // 打印一个点作为进度指示
- }
-
- // 当连接到Wi-Fi网络后,打印确认消息
- Serial.println("");
- Serial.println("WiFi connected");
-
- // 开始WiFiServer的监听
- server.begin();
- // 打印服务器启动的消息
- Serial.println("Server started");
- }
-
- void loop() {
- // 检查是否有客户端连接到服务器
- WiFiClient client = server.available();
-
- // 如果有客户端连接
- if (client) {
- // 循环检查客户端是否仍然连接
- while (client.connected()) {
- // 检查客户端是否有数据发送
- if (client.available()) {
- // 读取客户端发送的一个字符
- char c = client.read();
- // 将字符添加到header字符串中
- header += c;
-
- // 检查是否读取到了换行符(HTTP请求头结束)
- if (c == '\n') {
- // 检查header中是否包含"ON"
- if (header.indexOf("ON") > 0) {
- // 如果包含"ON",则点亮LED灯
- digitalWrite(PA13, HIGH);
- }
- // 检查header中是否包含"OFF"
- else if (header.indexOf("OFF") > 0) {
- // 如果包含"OFF",则熄灭LED灯
- digitalWrite(PA13, LOW);
- }
-
- // 向客户端发送HTTP响应头
- client.println("HTTP/1.1 200 OK");
- client.println("Content-Type: text/html");
- client.println();
- // 向客户端发送HTML响应体
- client.println("<!DOCTYPE HTML>");
- client.println("<html>");
- client.println("<head></head>");
- client.println("<body>");
- // client.println("LED is now " + (digitalRead(PA13) ? "ON" : "OFF")); // 这行代码已被注释掉
- client.println("</body>");
- client.println("</html>");
-
- // 清空header字符串
- header = "";
- // 断开与客户端的连接
- client.stop();
- }
- }
- }
- }
- }
复制代码
Wi-Fi 控制器
│
├── Wi-Fi 设置
│ ├── SSID
│ │ └── "CMCC-c6tG"
│ └── 密码
│ └── "mei13728232960"
│
├── Web 服务器
│ └── 监听端口
│ └── 80
│
└── LED 控制
├── ON
│ └── 点亮 LED (PA13 设置为 HIGH)
└── OFF
└── 熄灭 LED (PA13 设置为 LOW)
在TreeMind中创建这个树图的步骤大致如下:
- 打开TreeMind软件。
- 创建一个新的思维导图。
- 添加一个名为“Wi-Fi 控制器”的中心节点。
- 添加“Wi-Fi 设置”作为“Wi-Fi 控制器”的子节点。
- 在“Wi-Fi 设置”下添加“SSID”和“密码”作为子节点,并填写相应的值。
- 添加“Web 服务器”作为“Wi-Fi 控制器”的另一个子节点。
- 在“Web 服务器”下添加“监听端口”作为子节点,并填写端口号80。
- 添加“LED 控制”作为“Wi-Fi 控制器”的最后一个子节点。
- 在“LED 控制”下添加“ON”和“OFF”作为子节点。
- 为“ON”和“OFF”分别添加描述其功能的子节点。
视频:
[localvideo]456d7d8084eba1ccebdcc56bda637755[/localvideo]
|