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 用のファームの中に組み込まれるかも。その時が来たらこの実装を公式のファームに昇格させて、クラスライブラリからは卒業させるかも、です。

広告
カテゴリー: .NET Micro Framework, GR-PEACH, GrFamilyLibrary, IoT ALGYAN タグ: , , , パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中