【安信可BW16-Kit】+ remote_control

[复制链接]
查看352 | 回复4 | 2024-4-6 22:05:04 | 显示全部楼层 |阅读模式
本帖最后由 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灯的开关。
eee595b07e0bf4ca9056c9a673b911e.png

代码:

12d42ca3fc0cfd75cf779ec03f48ef0.png
代码注释:
  1. // 引入WiFi库,用于管理Wi-Fi连接  
  2. #include <WiFi.h>  
  3. // 引入WiFiServer库,用于创建Wi-Fi服务器  
  4. #include <WiFiServer.h>  
  5. // 引入WiFiClient库,用于处理来自客户端的连接  
  6. #include <WiFiClient.h>  
  7.   
  8. // 定义Wi-Fi网络的SSID(名称)  
  9. char* ssid = "CMCC-c6tG";   
  10. // 定义Wi-Fi网络的密码  
  11. const char* password = "mei13728232960";   
  12.   
  13. // 创建一个WiFiServer对象,监听80端口(HTTP默认端口)  
  14. WiFiServer server(80);  
  15. // 定义一个字符串对象,用于存储HTTP请求头  
  16. String header;  
  17.   
  18. void setup() {  
  19.   // 设置PA13引脚为输出模式,用于控制LED灯  
  20.   pinMode(PA13, OUTPUT);  
  21.    
  22.   // 开始串行通信,波特率为115200  
  23.   Serial.begin(115200);  
  24.    
  25.   // 打印空行和连接Wi-Fi的消息  
  26.   Serial.println();  
  27.   Serial.println("Connecting to WiFi");  
  28.    
  29.   // 尝试连接到指定的Wi-Fi网络  
  30.   WiFi.begin(ssid, password);  
  31.    
  32.   // 循环等待直到连接到Wi-Fi网络  
  33.   while (WiFi.status() != WL_CONNECTED) {  
  34.     delay(500); // 等待500毫秒  
  35.     Serial.print("."); // 打印一个点作为进度指示  
  36.   }  
  37.    
  38.   // 当连接到Wi-Fi网络后,打印确认消息  
  39.   Serial.println("");  
  40.   Serial.println("WiFi connected");  
  41.    
  42.   // 开始WiFiServer的监听  
  43.   server.begin();  
  44.   // 打印服务器启动的消息  
  45.   Serial.println("Server started");  
  46. }  
  47.   
  48. void loop() {  
  49.   // 检查是否有客户端连接到服务器  
  50.   WiFiClient client = server.available();  
  51.    
  52.   // 如果有客户端连接  
  53.   if (client) {  
  54.     // 循环检查客户端是否仍然连接  
  55.     while (client.connected()) {  
  56.       // 检查客户端是否有数据发送  
  57.       if (client.available()) {  
  58.         // 读取客户端发送的一个字符  
  59.         char c = client.read();  
  60.         // 将字符添加到header字符串中  
  61.         header += c;  
  62.          
  63.         // 检查是否读取到了换行符(HTTP请求头结束)  
  64.         if (c == '\n') {  
  65.           // 检查header中是否包含"ON"  
  66.           if (header.indexOf("ON") > 0) {  
  67.             // 如果包含"ON",则点亮LED灯  
  68.             digitalWrite(PA13, HIGH);  
  69.           }   
  70.           // 检查header中是否包含"OFF"  
  71.           else if (header.indexOf("OFF") > 0) {  
  72.             // 如果包含"OFF",则熄灭LED灯  
  73.             digitalWrite(PA13, LOW);  
  74.           }  
  75.             
  76.           // 向客户端发送HTTP响应头  
  77.           client.println("HTTP/1.1 200 OK");  
  78.           client.println("Content-Type: text/html");  
  79.           client.println();  
  80.           // 向客户端发送HTML响应体  
  81.           client.println("<!DOCTYPE HTML>");  
  82.           client.println("<html>");  
  83.           client.println("<head></head>");  
  84.           client.println("<body>");  
  85.           // client.println("LED is now " + (digitalRead(PA13) ? "ON" : "OFF")); // 这行代码已被注释掉  
  86.           client.println("</body>");  
  87.           client.println("</html>");  
  88.             
  89.           // 清空header字符串  
  90.           header = "";  
  91.           // 断开与客户端的连接  
  92.           client.stop();  
  93.         }  
  94.       }  
  95.     }  
  96.   }  
  97. }
复制代码

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]
回复

使用道具 举报

lazy | 2024-4-6 22:18:03 | 显示全部楼层
回复

使用道具 举报

1084504793 | 2024-4-7 08:59:32 | 显示全部楼层
回复

使用道具 举报

干簧管 | 2024-4-7 10:36:13 | 显示全部楼层
👍
回复

使用道具 举报

sansui | 2024-4-15 11:23:02 | 显示全部楼层
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则