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通訊軟體