NETMF : NTP サーバーから日時を取得するメソッドを GR ファミリー用クラスライブラリに追加

だいぶ間が空いてしまいましたが(NETMF のクラスライブラリ ネタは 2ヶ月ぶり!)、GR ファミリー用クラスライブラリに機能を追加しました。

 

NTP サーバーから日時を取得してマイコンボードのシステム時計に設定する機能です。


.NET Micro Framework は TimeService というクラスを元々持っています。これが NTP サーバーから日時を取得をする機能を持っています。
持っているはずなのですが、なぜか動作しないマイコンボードがあるようなんです。

・・・ほしいですよね、日時の取得。
IoT を考えると、正確な日時は必須と言っていいはず。

ということで、クラスライブラリに実装しました。
実装しましたとは行ったものの、元ネタはネットにちゃんとあって、例えば Stackoverflow あたりで見つかります

 

これを GR ファミリー用のクラスライブラリにも入れました。
Static なメソッドで実装しているので、

SystemTimeInitializer.InitSystemTime();

とすれば、マイコンボードのシステム時計に現在日時を設定してくれます。
利用の際は、GrFamily.Utility.NetworkUtility.dll を参照設定してください。

あとは日時が必要になるたびに、みんな大好き DateTime.Now を呼びだしてください。

 


クラスライブラリは、

https://github.com/netmf-lib-grfamily/GrFamilyLibrary

で公開しています。「ソースは不要」という方はビルド済みの DLL をあわせて公開しているので、これを使ってください。
ただしドキュメント整備が全くできていないので(すみません)、サンプルアプリのソースコードはチラッと眺めてみることをお勧めします。

 

PS. もしかしたら、いずれ GR-PEACH 用のファームの中に組み込まれるかも。その時が来たらこの実装を公式のファームに昇格させて、クラスライブラリからは卒業させるかも、です。

コメントを残す