WiFi - 连接到 WiFi 网路

材料准备

流程

常见的WiFi有三种加密方式,一种为OPEN,即没有密码,第二种为WPA,即我们通常使用的密码,第三种为WEP,会需要十六进制的密码以及一个keyindex。

下面我们将分别介绍这三种加密方式的WiFi连线方法。

确保在 “Tools” -> “Board” 中选择了正确的Ameba开发板。

  • Open (即无密码的WiFi连线)

打开 Connect No Encryption 的范例, “File” -> “Examples” -> “WiFi” -> “ConnectNoEncryption”

在范例中,将“ssid”修改为要连接的WiFi SSID。

修改之后上传程式码,按下Ameba的重置按钮, 这时候会看到You’re connected to the networkSSID: XXXXX,以及后面每十秒列印出WiFi信息。

 
  • WPA加密模式的WiFi连线

打开 Connect With WPA 的范例, “File” -> “Examples” -> “WiFi” -> “ConnectWithWPA”

范例中,修改“ssid”为要连接的WiFi SSID,“pass”为网络密码。

如果您希望在程序运行时在串行监视器中输入您的 SSID 和密码,请取消注解文件顶部的#define MANUAL_INPUT。

修改之后上传程式码,按下Ameba的Reset按钮, 这时候会看到You’re connected to the networkSSID: XXXXX,以及后面会每十秒列印出WiFi信息。

Note:如果您启用了 MANUAL_INPUT,则在上传程式码并按下 Ameba 上的重置按钮后,在串行监视器中输入您的 SSID 并按enter。接下来,输入您的密码,然后按enter。然后您会看到一条讯息“You’re connected to the networkSSID: XXXXX”,以及后面每十秒列印出WiFi信息。

  • WEP加密模式的WiFi连线

打开 “ConnectWithWEP” 范例,”File” -> “Examples” -> “WiFi” -> “ConnectWithWiFi” -> “ConnectWithWEP”

2-8

程式码中修改“ssid”为要连接的SSID,“key”修改为十六进制密码,“keyIndex”修改为你的密码index。

如果您希望在程序运行时在串行监视器中输入您的 SSID 和密码,请取消注解文件顶部的#define MANUAL_INPUT。

2-8

修改之后上传程式码,按下Ameba的Reset按钮, 这时候会看到You’re connected to the networkSSID: XXXXX,以及后面会每十秒列印出WiFi信息。

Note:如果您启用了 MANUAL_INPUT,则在上传程式码并按下 Ameba 上的重置按钮后,在串行监视器中输入您的 SSID 并按enter。接下来,输入您的密码,然后按enter。然后您会看到一条讯息“You’re connected to the networkSSID: XXXXX”,以及后面每十秒列印出WiFi信息。

2-8

程式码说明
在连线WiFi时会使用到WiFi.begin ();
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的差异

Arduino在完成WiFi的操作时,需要另外使用WiFi Shield来作为WiFi模块,因此在使用WiFi是需要#include 来使用SPI与WiFi模块进行通讯。
但是Ameba自身就具有WiFi模块的功能,因此,不需要#include 。若想要使用Arduino的范例,要先删掉这一项。

请先确认已安装QQ通讯软体