說明
ping 網絡上的遠程設備。
用法
WiFi.ping(ip);
WiFi.begin(ip, ttl);
WiFi.begin(host);
WiFi.begin(host, ttl);
參數
ip:要 ping 的 IP 地址(4 個字節的數組)
主機:要 ping 的主機(字符串)
ttl:生存時間(可選,默認為 128)。請求可以轉發到的最大路由器數。
返回
WL_PING_SUCCESS 當 ping 成功時 WL_PING_DEST_UNREACHABLE 當目標(IP 或主機不可達)時 WL_PING_TIMEOUT 當 ping 超時時 WL_PING_UNKNOWN_HOST 當主機無法通過 DNS 解析時 WL_PING_ERROR 當發生錯誤時
示例
/*
This example connects to a encrypted WiFi network (WPA/WPA2).
Then it prints the MAC address of the WiFi 101 Shield,
the IP address obtained, and other network details.
Then it continuously pings given host specified by IP Address or name.
Circuit:
WiFi 101 Shield attached / MKR1000
created 13 July 2010
by dlf (Metodo2 srl)
modified 09 June 2016
by Petar Georgiev
*/
#include <SPI.h>
#include <WiFi101.h>
#include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h
char ssid[] = SECRET_SSID; // your network SSID (name)
char pass[] = SECRET_PASS; // your network password (use for WPA, or use as key for WEP)
int status = WL_IDLE_STATUS; // the WiFi radio's status
// Specify IP address or hostname
String hostName = "www.google.com";
int pingResult;
void setup() {
// Initialize serial and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// check for the presence of the shield:
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi 101 Shield not present");
// don't continue:
while (true);
}
// attempt to connect to WiFi network:
while ( status != WL_CONNECTED) {
Serial.print("Attempting to connect to WPA SSID: ");
Serial.println(ssid);
// Connect to WPA/WPA2 network:
status = WiFi.begin(ssid, pass);
// wait 5 seconds for connection:
delay(5000);
}
// you're connected now, so print out the data:
Serial.println("You're connected to the network");
printCurrentNet();
printWiFiData();
}
void loop() {
Serial.print("Pinging ");
Serial.print(hostName);
Serial.print(": ");
pingResult = WiFi.ping(hostName);
if (pingResult >= 0) {
Serial.print("SUCCESS! RTT = ");
Serial.print(pingResult);
Serial.println(" ms");
} else {
Serial.print("FAILED! Error code: ");
Serial.println(pingResult);
}
delay(5000);
}
void printWiFiData() {
// print your WiFi 101 Shield's IP address:
IPAddress ip = WiFi.localIP();
Serial.print("IP address : ");
Serial.println(ip);
Serial.print("Subnet mask: ");
Serial.println((IPAddress)WiFi.subnetMask());
Serial.print("Gateway IP : ");
Serial.println((IPAddress)WiFi.gatewayIP());
// print your MAC address:
byte mac[6];
WiFi.macAddress(mac);
Serial.print("MAC address: ");
printMacAddress(mac);
}
void printCurrentNet() {
// print the SSID of the network you're attached to:
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// print the MAC address of the router you're attached to:
byte bssid[6];
WiFi.BSSID(bssid);
Serial.print("BSSID: ");
printMacAddress(bssid);
// print the received signal strength:
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI): ");
Serial.println(rssi);
// print the encryption type:
byte encryption = WiFi.encryptionType();
Serial.print("Encryption Type: ");
Serial.println(encryption, HEX);
Serial.println();
}
void printMacAddress(byte mac[]) {
for (int i = 5; i >= 0; i--) {
if (mac[i] < 16) {
Serial.print("0");
}
Serial.print(mac[i], HEX);
if (i > 0) {
Serial.print(":");
}
}
Serial.println();
}
相關用法
- Arduino WiFi101 - WiFi.subnetMask()用法及代碼示例
- Arduino WiFi101 - WiFi.status()用法及代碼示例
- Arduino WiFi101 - WiFi.config()用法及代碼示例
- Arduino WiFi101 - WiFi.localIP()用法及代碼示例
- Arduino WiFi101 - WiFi.setDNS()用法及代碼示例
- Arduino WiFi101 - WiFi.SSID()用法及代碼示例
- Arduino WiFi101 - WiFi.macAddress()用法及代碼示例
- Arduino WiFi101 - WiFi.beginAP()用法及代碼示例
- Arduino WiFi101 - WiFi.RSSI()用法及代碼示例
- Arduino WiFi101 - WiFi.beginProvision()用法及代碼示例
- Arduino WiFi101 - WiFi.scanNetworks()用法及代碼示例
- Arduino WiFi101 - WiFi.BSSID()用法及代碼示例
- Arduino WiFi101 - WiFi.begin()用法及代碼示例
- Arduino WiFi101 - WiFi.gatewayIP()用法及代碼示例
- Arduino WiFi101 - WiFi.encryptionType()用法及代碼示例
- Arduino WiFi101 - WiFiSSLClient()用法及代碼示例
- Arduino WiFi101 - WiFiClient用法及代碼示例
- Arduino WiFi101 - WiFiServer()用法及代碼示例
- Arduino WiFi101 - ConnectSSL()用法及代碼示例
- Arduino WiFi101 - connect()用法及代碼示例
- Arduino WiFi101 - connected()用法及代碼示例
- Arduino WiFi101OTA - WiFiOTA.begin()用法及代碼示例
- Arduino WiFi101OTA - WiFiOTA.poll()用法及代碼示例
- Arduino WiFiNINA - WiFi.config()用法及代碼示例
- Arduino WiFiNINA - server.status()用法及代碼示例
注:本文由純淨天空篩選整理自arduino.cc大神的英文原創作品 WiFi101 - WiFi.ping()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。