次は時刻同期がしたいな。
以前M5StickCでやったプログラムをベースに
実装してみよう。
この記事では、M5StickC PlusをアクセスWi-Fiアクセスポイントに接続し、インターネットの時刻サービス(NTPサーバー)と時刻を同期する方法について紹介します。
今回使用するマイコンはこちら!
画面付きで小型のマイコンです。旧版のM5StickCから、ディスプレイサイズ、バッテリ容量が変更になっています。ブザーも実装されました。通信(WiFi/Bluetooth)機能、6軸加速度センサーも搭載されています。
Aruduino で開発できます。Amazonで確認
M5StickC Plusもマイコンも内部に時刻をもっていますが、機体ごとに時間が異なる可能性があります。IoTなどで複数マイコンを使ってデータ取得を行う場合、機体間の時刻同期をしっかり行うことが重要です。
時刻同期することで、取得データの時系列をほかのマイコンから取得したデータのものと合わせて使用ることができます。
Wi-Fiアクセスポイントへの接続方法については次の記事で紹介している内容を使って行います。詳細は記事を参照してくださいね!
すけろく M5StickC Plusの大まかな違いは分かった。 WiFi接続をしてみるか。 げんろく そうだな。 M5StickCと同じように使えるのか確認してみよう。 この記事では、M5[…]
時刻同期とは?
Webサイトを構成するサーバやパソコン、スマートフォンなどでも内部に時刻を持っていますよね。インターネットに接続する各機器で内部に持っている時刻がずれていたら、正確な処理や履歴が残せないといったことが起こります。
そこでインターネットには、標準時刻の提供サービスを行う場所があります。それがNTPサーバです。スマートフォンやパソコンでもNTPサーバを使って時刻同期することができます。
また、一度時刻同期を行っても機器内部の時刻をカウントしているクロックの微細なずれが積み重なって時刻がずれていきますので定期的な時刻同期が必要です。
日本国内の環境にて時刻同期をする際に使用できるNTPサーバは以下のものがあります。
- 独立行政法人情報通信研究機構(NICT)
NTPサーバー:ntp.nict.jp - MFEED時刻情報提供サービス
NTPサーバ:ntp.jst.mfeed.ad.jp
今回は、「MFEED」の公開NTPサーバーを使用したいと思います。
M5StickC Plusの時刻を同期させよう!
それでは早速、時刻同期のプログラムを記述していきます。
Wi-Fiアクセスポイントへの接続後、「MFEED」の公開NTPサーバーとの時刻同期を行います。
時刻同期プログラム
Arduino IDEを起動して、「ファイル」メニューから「新規ファイル」を選択し、表示されるスケッチに以下のように記述します。
Arduino IDE スケッチ例
M5StickC Plusへの書き込み
- 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
- 「ツール」メニューから「ボード」情報を確認し、M5StickC Plusであるか確認します。
この際、「シリアルポート」にマイコンを接続したCOMポートが指定されているかも確認します。 - 「ツール」メニューから「シリアルモニタ」を選択してシリアルモニタを起動します。
- 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。
プログラム実行結果
シリアルモニタ上に以下の通り表示されれば成功です。
Connecting to your-ssid ............... WiFi connected IP address: 192.xxx.xxx.xxx NTP : ntp.jst.mfeed.ad.jp RTC 2021-04-16 11:43:18 Disconnect from WiFi . WiFi disconnected
さて、これでWi-Fiアクセスポイントに接続して、時刻同期を行うことができました。今回の記事は以上になります。
今後は、いよいよ、M5StickC Plusに搭載されているディスプレイの画面表示などについてご紹介する予定です。
ご期待ください。
最後までご覧いただき、ありがとうございました。
今回使用したマイコンはこちら!
画面付きで小型のマイコンです。旧版のM5StickCから、ディスプレイサイズ、バッテリ容量が変更になっています。ブザーも実装されました。通信(WiFi/Bluetooth)機能、6軸加速度センサーも搭載されています。
Aruduino で開発できます。Amazonで確認
これからはじめる方にお勧めの参考図書はこちら!