查看: 815|回复: 3

DFrobot 的 FireBeetle 的 SNTP Client 实现

[复制链接]

该用户从未签到

发表于 2019-2-5 12:29 | 显示全部楼层 |阅读模式
来自 https://github.com/arduino-libraries/NTPClient 的库,经过试验可以在 FireBeetle(ESP32) 上使用。

kittenblock中小学创客名师推荐的图形化编程软件

/*
 *  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;
    }
}


测试使用的是国内的 sntp 服务器,工作正常。

sntp.PNG

sntp.zip (4.16 KB, 下载次数: 2)
打赏作者鼓励一下!
  • TA的每日心情
    奋斗
    2019-4-21 16:28
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2019-6-23 18:00 | 显示全部楼层
    请教楼主ntp返回来的时间还让转化为当天的总天数
  • TA的每日心情
    奋斗
    2019-4-21 16:28
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2019-6-23 18:13 | 显示全部楼层
    楼主请问怎样将ntp服务器返回来的日戳时间转换为当天的总天数,不是月日分离哟,谢谢

    该用户从未签到

     楼主| 发表于 2019-6-24 08:30 | 显示全部楼层
    获得时间后,手工计算一下

    例如:计算任意两个日期之间的天数【附源码】

    https://blog.csdn.net/Coder_Yafeng/article/details/88533549
    打赏作者鼓励一下!
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    OLED 128*64自制可达10000000个选项的菜单(已更新)
    OLED 128*64自制可达10000
    OLED 128*64自制可达10000000个选项的菜单 温馨提示: 建议占个楼再食用本帖子
    这个怎么整?标点都是英文的
    这个怎么整?标点都是英文
    a=a+1改成a++也不行
    [WiFiduino-8266开发板测试]三、测试IO口
    [WiFiduino-8266开发板测
    首先测试IO口的关系,板载正面的D0~D15[D14,D15没有,相同的位置写的是D4,D5],反面
    求助,arduino nano发热严重
    求助,arduino nano发热严
    我有一块arduino nano板,装在一个扩展板上(如下图),用扩展板上的外接电源接口(资
    [限时福利]5分钟带你快速了解新一代开发板:M5STACK
    [限时福利]5分钟带你快速
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表