Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@mono_taro

ESP8266でNTPサーバから時刻を取得する

はじめに

電子工作をやってると、特定の時間や一定時間ごとに動かしたいという動作が出てくる。
そういう時にNTPサーバから時刻を取得したら便利かなと思ったので、このやり方で正しいのかわからないけど書き記しておきます。

準備

ArduinoIDEのスケッチ>ライブラリをインクルード>ライブラリを管理から「ライブラリマネージャ」を開き「NTPClient」をインストールする。
Screenshot from 2020-02-14 20-57-07.png

とりあえず時刻を表示してみる

exapmleファイルから引用

#include <NTPClient.h>
// change next line to use with another board/shield
#include <ESP8266WiFi.h>
//#include <WiFi.h> // for WiFi shield
//#include <WiFi101.h> // for WiFi 101 shield or MKR1000
#include <WiFiUdp.h>

const char *ssid     = "WiFiのSSID";
const char *password = "WiFiのパスワード";

WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP);

void setup(){
  Serial.begin(115200);

  WiFi.begin(ssid, password);

  while ( WiFi.status() != WL_CONNECTED ) {
    delay ( 500 );
    Serial.print ( "." );
  }

  timeClient.begin();
}

void loop() {
  timeClient.update();

  Serial.println(timeClient.getFormattedTime());

  delay(1000);
}

Screenshot from 2020-02-14 21-15-06.png
UTC時刻だけど表示出来た。
日本標準時にするには

//NTPClient timeClient(ntpUDP);を以下に書き換える
NTPClient timeClient(ntpUDP,32400);

時/分/秒(HOUR, MINUTE, SECOND)を別々に表示する

時/分/秒を別々に取得出来たほうがより便利かなと思ったので一応…
timeClient.getMinutes()で分を取得できる。時や秒も同様に

 Serial.println(timeClient.getHours());
 Serial.println(timeClient.getMinutes());
 Serial.println(timeClient.getSeconds());

Screenshot from 2020-02-14 21-48-27.png
出来た。
ただ、1秒毎の取得だとNTPサーバに負荷がかかりそうだけどどうなんだろうか…

追記

elchikaに記事を投稿しました。
(https://elchika.com/article/fe06afea-ee55-43ab-8952-8acc96f56778/)

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
mono_taro
プログラミング初心者 元経営学部で現法学部卒の文系です。 アウトプット用に作りました。 生暖かい目で見守って頂けたら幸いです。 今後、電子工作記事はelchikaに投稿します。 https://elchika.com/user/mono/ 電子工作以外のプログラミングは引き続きQiitaに投稿しています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?