Ameba Arduino: [RTL8195] 使用 Ameba 连接WiFi

材料准备

  • Ameba x 1


范例说明

常见的WiFi有三种加密方式,一种为OPEN,即没有密码,第二种为WPA,即我们通常使用的密码,第三种为WEP,会需要十六进制的密码以及一个初向量(keyindex) 。
下面我们将分别介绍这三种加密方式的WiFi连线方法。
首先确定板子是 Ameba, “Tools” -> “Board” -> “Arduino Ameba”
  • Open (即无密码的WiFi连线)

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

在SSID后修改“yourNetwork”为要连线的WiFi名称。

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

  • WPA加密模式的WiFi连线

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

 

 

在SSID后修改“yourNetwork”为要连线的WiFi名称, “secretPassword”改为对应的密码。

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

  • WEP加密模式的WiFi连线

打开 Connect With WEP 的范例, “File” -> “Examples” -> “AmebaWiFi” -> “ConnectWithWEP”

 

在SSID后修改“yourNetwork”为要连线的WiFi名称, key改为对应的十六进制的密码,keyIndex 修改为对应的数字。


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

程式码说明

在连线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的范例,要先删掉这一项。