|
来自 https://github.com/arduino-libraries/NTPClient 的库,经过试验可以在 FireBeetle(ESP32) 上使用。
[mw_shl_code=arduino,true]/*
* This sketch sends random data over UDP on a ESP32 device
*
*/
#include <WiFi.h>
#include <WiFiUdp.h>
#include "NTPClient.h"
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP);
// WiFi network name and password:
const char * networkName = "ChinaNet-73";
const char * networkPswd = "adminp1988";
//Are we currently connected?
boolean connected = false;
//The udp library class
WiFiUDP udp;
void setup(){
// Initilize hardware serial:
Serial.begin(115200);
//Connect to the WiFi network
connectToWiFi(networkName, networkPswd);
}
void loop(){
//only send data when connected
if(connected){
timeClient.update();
Serial.println(timeClient.getFormattedTime());
}
//Wait for 1 second
delay(1000);
}
void connectToWiFi(const char * ssid, const char * pwd){
Serial.println("Connecting to WiFi network: " + String(ssid));
// delete old config
WiFi.disconnect(true);
//register event handler
WiFi.onEvent(WiFiEvent);
//Initiate connection
WiFi.begin(ssid, pwd);
Serial.println("Waiting for WIFI connection...");
}
//wifi event handler
void WiFiEvent(WiFiEvent_t event){
switch(event) {
case SYSTEM_EVENT_STA_GOT_IP:
//When connected set
Serial.print("WiFi connected! IP address: ");
Serial.println(WiFi.localIP());
connected = true;
timeClient.begin();
break;
case SYSTEM_EVENT_STA_DISCONNECTED:
Serial.println("WiFi lost connection");
connected = false;
break;
}
}[/mw_shl_code]
测试使用的是国内的 sntp 服务器,工作正常。
sntp.zip
(4.16 KB, 下载次数: 9)
|
|