当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Arduino WiFi101 - WiFi.config()用法及代码示例


说明

WiFi.config() 允许您配置静态 IP 地址以及更改WiFi 防护罩上的 DNS、网关和子网地址。

与 WiFi.begin() 自动配置 WiFi shield 以使用 DHCP 不同,WiFi.config() 允许您手动设置 shield 的网络地址。

在 WiFi.begin() 之前调用 WiFi.config() 会强制 begin() 使用 config() 中指定的网络地址配置 WiFi 屏蔽。

您可以在 WiFi.begin() 之后调用 WiFi.config(),但在默认 DHCP 模式下,屏蔽将使用 begin() 进行初始化。一旦调用config() 方法,它将根据请求更改网络地址。

用法

WiFi.config(ip);
WiFi.config(ip, dns);
WiFi.config(ip, dns, gateway);
WiFi.config(ip, dns, gateway, subnet);

参数

ip:设备的IP地址(4字节数组)

dns:DNS 服务器的地址。

gateway:网络网关的 IP 地址(4 字节数组)。可选:默认为最后一个八位组设置为 1 的设备 IP 地址

subnet:网络的子网掩码(4 个字节的数组)。可选:默认为 255.255.255.0

返回

示例

This example shows how to set the static IP address, 192.168.0.177, of the LAN network to the Arduino WiFi Shield 101:

#include <SPI.h>
#include <WiFi101.h>

// the IP address for the shield:
IPAddress ip(192, 168, 0, 177);    

char ssid[] = "yourNetwork";    // your network SSID (name)
char pass[] = "secretPassword"; // your network password (use for WPA, or use as key for WEP)

int status = WL_IDLE_STATUS;

void setup()
{  
  // Initialize serial and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  // check for the presence of the shield:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    while(true);  // don't continue
  }

  WiFi.config(ip);

  // attempt to connect to Wifi network:
  while ( status != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    // Connect to WPA/WPA2 network. Change this line if using open or WEP network:    
    status = WiFi.begin(ssid, pass);

    // wait 10 seconds for connection:
    delay(10000);
  }

  // print your WiFi shield's IP address:
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());
}

void loop () {}

相关用法


注:本文由纯净天空筛选整理自arduino.cc大神的英文原创作品 WiFi101 - WiFi.config()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。