用料
示例
简介
在 WiFi 连接中有三种常见的加密类型。 第一种是 "OPEN",这意味着连接该网络无需密码。 第二种加密类型是 WPA,需要正确的密码才能访问。 第三种是 WEP,需要十六进制密码和密钥索引。
下面,我们将简要介绍如何在 BW21-CBV-Kit 上使用这三种加密方式建立 WiFi 连接。
首先,确保在 "工具"->"开发板 "中选择了正确的 BW21-CBV-Kit 开发板。
公开(无需密码的 WiFi 连接)
在 "文件"->"示例"->"WiFi"->"ConnectToWiFi"->"NoEncryption "中打开示例
在示例代码中,修改 "ssid",使其与要连接的 WiFi 名称 相同。
然后,上传示例代码,并按下 BW21-CBV-Kit 上的重置按钮。 然后,你会看到一条信息 "You're connected to the networkSSID: XXXXX"(你已连接到网络 SSID:XXXXX),并且该 WiFi 连接的信息会每隔 10 秒打印在串行监视器上。
带 WPA 加密功能的 WiFi 连接
在 "文件"->"示例"->"WiFi"->"ConnectToWiFi"->"WPA_Security "中打开示例
在示例代码中,将 "ssid "改为要连接的 WiFi 名称,将 "pass"改为 WiFi 密码。
如果希望在程序运行时在串行监视器中输入 WiFi 名称 和密码,请在文件顶部取消 #define MANUAL_INPUT
。
然后,上传示例代码,并按下 BW21-CBV-Kit 上的重置按钮。 然后,你会看到一条信息 "You're connected to the networkSSID: XXXXX"(你已连接到网络 SSID:XXXXX),并且该 WiFi 连接的信息会每隔 10 秒打印在串行监视器上。
注:
如果启用了 MANUAL_INPUT(手动输入)功能,在上传示例代码并按下 BW21-CBV-Kit 上的重置按钮后,在串行监视器中输入您的 SSID 并按回车键。 然后输入密码并按回车键。 然后,您将看到一条信息 "You're connected to the networkSSID: XXXXX"(您已连接到网络 SSID:XXXXX),并且该 WiFi 连接的信息将每 10 秒钟在串行监视器中打印一次。
WEP 加密的 WiFi 连接
在 "文件"->"示例"->"WiFi"->"ConnectToWiFi"->"WEP_Security "中打开示例
在示例代码中,修改 "ssid "为要连接的 WiFi 名称,"key "为十六进制密码,"keyIndex "为密钥索引号。
如果希望在程序运行时在串行监视器中输入 WiFi 名称 和密码,请在文件顶部取消 #define MANUAL_INPUT
。
然后,上传示例代码,并按下 Ameba 上的重置按钮。 然后,你会看到一条信息 "You're connected to the networkSSID: XXXXX"(你已连接到网络 SSID:XXXXX),并且该 WiFi 连接的信息会每隔 10 秒打印到集成开发环境中。
注:
如果启用了 MANUAL_INPUT(手动输入)功能,上传示例代码并按下 Ameba 上的重置按钮后,在串行监视器中输入 SSID 并按回车键。 然后输入密钥并按回车键。 最后输入密码并按回车键。 然后,您将看到一条信息 "You're connected to the networkSSID: XXXXX"(您已连接到网络 SSID:XXXXX),并且该 WiFi 连接的信息将每 10 秒钟在串行监视器中打印一次。
代码参考
https://www.arduino.cc/en/Reference/WiFiBegin
获取 WiFi 连接信息:
https://www.arduino.cc/en/Reference/WiFiEncryptionType
获取 BW21-CBV-Kit 的信息:
- 使用 WiFi.macAddress() 获取 BW21-CBV-Kit 的 MAC 地址。
https://www.arduino.cc/en/Reference/WiFiMACAddress
- 使用 WiFi.localIP() 获取 BW21-CBV-Kit 的 IP 地址。
https://www.arduino.cc/en/Reference/WiFiLocalIP
与 Arduino 的区别
在 Arduino 平台上,我们需要额外添加一个 WiFi Shield 作为 WiFi 模块,以实现 WiFi 连接。 我们还必须 #include
使用 SPI 与 WiFi 模块通信。
但是,BW21-CBV-Kit 已经配备了 WiFi 模块。 因此,不需要 #include
。