WiFi - 连接到 WiFi 网路
材料准备
- AmebaPro2 [ AMB82 MINI ] x 1
流程说明
WiFi 连接中共有三种常见的加密类型。 第一个是“OPEN”,这意味着连接到该网络不需要密码。 第二种加密方式是WPA,需要正确的密码才能访问。 第三种是 WEP,需要十六进制密码和密钥索引。
下面我们将简单介绍一下如何在Ameba上建立这三种加密方式的WiFi连接。
首先确保选择正确的Ameba开发板 “Tools” -> “Board”。
- Open (WiFi connection without password)
打开示例 “File” -> “Examples” -> “WiFi” -> “ConnectToWiFi” -> “NoEncryption”
在示例代码中,将“ssid”修改为与要连接的WiFi SSID相同。
接下来,上传示例代码,然后按下 Ameba 上的重置按钮。 然后你会看到一条消息”You’re connected to the networkSSID: XXXXX”,并且每10秒在串口监视器中打印一次此WiFi连接的信息。
- WiFi connection with WPA encryption
打开示例 “File” -> “Examples” -> “WiFi” -> “ConnectToWiFi” -> “WPA_Security”
示例代码中,修改“ssid”为要连接的WiFi SSID,“pass”为网络密码。
如果您希望在程序运行时在串行监视器中输入您的 SSID 和密码,请取消注释文件顶部的#define MANUAL_INPUT。
接下来,上传示例代码,然后按下 Ameba 上的重置按钮。 然后您会看到一条消息“You’re connected to the networkSSID: XXXXX”,并且此WiFi连接的信息每10秒打印一次在串口监视器中。
注意:如果您启用了 MANUAL_INPUT,则在上传示例代码并按下 Ameba 上的重置按钮后,在串行监视器中输入您的 SSID 并按回车键。 接下来,输入您的密码,然后按回车键。 然后您会看到一条消息“您已连接到网络SSID:XXXXX”,并且此WiFi连接的信息每10秒打印一次在串口监视器中。
- WiFi connection with WEP encryption
打开示例 “File” -> “Examples” -> “WiFi” -> “ConnectToWiFi” -> “WEP_Security”
示例代码中修改“ssid”为要连接的SSID,“key”修改为十六进制密码,“keyIndex”修改为你的密钥索引号。
如果您希望在程序运行时在串行监视器中输入您的 SSID 和密码,请取消注释文件顶部的#define MANUAL_INPUT。
接下来,上传示例代码,然后按下 Ameba 上的重置按钮。 然后你会看到“You’re connected to the networkSSID: XXXXX”的消息,并且每10秒在IDE中打印一次这个WiFi连接的信息。
注意:如果您启用了 MANUAL_INPUT,则在上传示例代码并按下 Ameba 上的重置按钮后,在串行监视器中输入您的 SSID 并按回车键。 接下来,输入您的密钥并按回车键。 最后输入您的密码并按回车键。 然后您会看到一条消息“您已连接到网络SSID:XXXXX”,并且此WiFi连接的信息每10秒打印一次在串口监视器中。
Code Reference
https://www.arduino.cc/en/Reference/WiFiBegin
连线成功后会读取WiFi的信息:
显示WiFi的名称WiFi.SSID()
https://www.arduino.cc/en/Reference/WiFiSSID
显示WiFi的讯号强度WiFi.RSSI()
https://www.arduino.cc/en/Reference/WiFiRSSI
显示WiFi的加密方式WiFi.encryptionType()
https://www.arduino.cc/en/Reference/WiFiEncryptionType
显示连线的路由器的物理地址即BSSID WiFi.BSSID()
https://www.arduino.cc/en/Reference/WiFiBSSID
也会读取Ameba自己的信息:
显示Ameba的MAC信息WiFi.macAddress()
https://www.arduino.cc/en/Reference/WiFiMACAddress
显示Ameba的IP信息WiFi.localIP()
https://www.arduino.cc/en/Reference/WiFiLocalIP
显示子网掩码WiFi.subnetMask()
https://www.arduino.cc/en/Reference/WiFiSubnetMask
显示网关信息WiFi.gatewayIP()
https://www.arduino.cc/en/Reference/WiFiGatewayIP
与Arduino的差异
但是Ameba自身就具有WiFi模块的功能,因此,不需要#include 。若想要使用Arduino的范例,要先删掉这一项。