- 最新のマイクロソフト組み込み技術を学ぶ一日 IoT 時代の Windows とデバイス開発 Windows Embedded Community Day 株式会社デバイスドライバーズ日高亜友
Microsoft の IoT 関連技術の紹介.NET Micro Framework (NETMF) Microsoft Azure.NET Micro Framework からの Azure 接続方法紹介 Service Bus Mobile Service ISS (Intelligent System Service) 補足 :IoT 時代の組み込み技術者の心構え 2014/9/1 2
Microsoft の組み込み用途向け技術.NET Micro Framework Windows Embedded Compact Windows Embedded Standard Windows Embedded Pro Windows Embedded Server Small Large Simple Complex Cheap Expensive Windows on Devices 2014/9/1 3
.NET アセンブリ (MS-IL 中間コード ) をインタプリタ実行 コンパイラ / デバッガ / ローダは Visual Studio 利用 豊富なドライバとクラスライブラリ (.NET のサブセット ) 数百 KB のメモリーで実用的なアプリケーションが動作 MMU 不要, Flash ROM 必須 多数の MCU, 評価ボード上に移植されて動作 2014/9/1 4
M2M, D2C, 新たに接続する Things すでに接続済の Equipment (Computers) 2014/9/1 5
一般的なクラウドサービス分類 分類名称具体例内容 IaaS Infrastructure as a Service レンタルスペース, レンタルサーバー等 マシンまたは OS 環境を提供 PaaS Platform as a Service Azure, Amazon EC2, アプリケーション動作基盤を提供 SaaS Software as a CUIアプリ Service Outlook, OneDrive, アプリケーションサービスを提供 PaaS 環境でカスタム化されたアプリケーションサービスを容易に構築可能豊富な各種クラウド サービス群を用意 2014/9/1 6
IoT 向けに使い易いサービスは Storage Virtual Machine Active Directory Cloud Service Website Event Hub Backup SQL Database Azure Search Managed Cache Media Service Virtual Network HDInsite Service Bus Notification Hubs Visual Studio Online Scheduler Mobile Service ISS CDN 2014/9/1 7
M2M, D2C, 新たに接続する Things セキュリティーの確保が必須要件 すでに接続済の Equipment (Computers) 2014/9/1 8
IoT デバイスとは? センサー : 世の中の事象を検知してデジタル変換 アクチュエータ : デジタルデータに従って動作 Host MCU 上で動作するオペレーティングシステム (OS) によって制御される セキュアなネットワーク接続手段を持つ OS 組み込み済デバイス デバイスと接続ボックスの組み合わせ 2014/9/1 9
SSL / TLS 相当のセキュリティ ネットワーク接続 豊富な MCU のサポート 豊富なコネクティビティとデバイスドライバ フットプリントのカスタマイズ 最小化 アプリケーションは単純 モジュール化構成 テストの単純化.NET Micro Framework に最適 2014/9/1 10
Service Bus http://azure.microsoft.com/ja-jp/services/service-bus/ Mobile Service http://azure.microsoft.com/ja-jp/services/mobile-services/ ISS (Intelligent System Service) http://www.microsoft.com/windowsembedded/ja-jp/intelligent-systems-service.aspx 2014/9/1 11
Service Bus とは? クラウドベースのアプリケーション間接続用汎用メッセージングシステム SignalR + Socket.IO ベースの双方向リアルタイム通信 汎用性がある通信方式のため ios や Android とも通信可能 2014/9/1 12
参考情報 : サービスバスを使用したスマートサーモスタット (MSDN マガジン July 2012) http://msdn.microsoft.com/ja-jp/magazine/jj190807.aspx 参考情報 : Steve Spencer 氏のブログ http://blogs.blackmarble.co.uk/blogs/sspencer/ post/2014/08/13/internet-of-things-(iot)-gadgeteer-and- Service-Bus.aspx 注意 : 公開情報は VS2010 用 2014/9/1 13
Mobile Service とは? Windows, ios, Mac OS, Android 用の簡易的なクラウド上のデータプール サービス (SQL Server に保管 ) 各 OS, 言語用のデータアクセス ルーチンを自動生成 トランザクションを JSON (JavaScript 形式 ) で記述するため他の環境からも操作し易い ということで本来はコッチ向けのサービス 2014/9/1 14
参考情報 : 太田寛氏のブログ & ハンズオン http://aka.ms/iothandson Nick Harris 氏作クラスライブラリ UNOFFICIAL partial port of the Microsoft Azure Mobile Services client to the.net Micro Framework https://github.com/nickharris/microsoft.azure.zumo.microframework 2014/9/1 15
EnOcean IoT 入門キット EnOcean とはビル管理用無線通信プロトコルと製品名 EnOcean USB 受信機 EnOcean バッテリーレス無線スイッチ EnOcean バッテリーレス温度湿度センサー.NET Gadgeteer / Micro Framework 2014/9/1 16
Azure での蓄積データ表示例 ( 時刻は UTC 表示 ) 2014/9/1 17
ISS が提供 ( 予定 ) なもの Connect devices to your service.( 接続 ) Collect and store data from your devices securely. データ収集 : 上り Bring events to your attention by sending alarms. イベント伝達 : 下り Send files and commands to your devices. ファイルとコマンドの送信 : 下り Apply analytics tools to your data. データ解析ツールの提供 現在 Limited Public Preview 公開中 2014/9/1 18
https://connect.microsoft.com/iss へログイン 評価に必要なもの Microsoft アカウント Windows PC 有効な Azure のサブスクリプション VS2013 アンケートに答える メールに答える EULA が表示確認 & サイン いつの間にか現れてすぐ消える 2014/9/1 19
提供されるもの Microsoft Azure ISS Preview Service 登録申請したサブスクリプションにサービスが付加される ISS SDK Managed Code Library (Binary, C# のソースコードは 無い ) Agent Library (C source code for Windows and Linux) Sample Application Source Code (C と C#) Help file (API Reference) 2014/9/1 20
ISS agent libraries の内容 Managed libraries for use with.net Framework version 4 Native C libraries for Windows Native C libraries for Linux サンプルプログラム ( コマンドツール ) ISS 通信方式 現在は REST ベースの通信だけをサポート (API 定義済 ) Agent Library は条件に対応した REST メッセージを作成する 2014/9/1 21
Azure サービス接続デモ https://devdrv.management.intelligentsystems.azure.net/core にブラウザからアクセスしてみる サンプルコマンド : ISSAgent.exe のパラメーター付実行コマンド内容例 REST コマンドを作成して送信するサンプルアプリを Win32 C で作成して呼び出す Device Model の追加例 ISSAgent.exe -a name -um -mu https://name.management.intelligentsystems.azure.net/core -mk KEY999 Data の追加例 ISSAgent.exe -run -d Device -a name -iu name.device.intelligentsystems.azure.net -dk KEY999 2014/9/1 22
ISS での Alarm( データ追加イベント ) 表示例 2014/9/1 23
IoT 時代の組み込み技術者の心構え 従来は求められなかった幅広い知識が必要 ネットワーク プロトコル セキュリティー Microsoft Azure 等のクラウド サービス プログラミング言語とデータフォーマット JavaScript, xml, JSON, IoT システム全体に配慮した構成バランスの設計 ストレージ容量 台数増大時の配慮 ネットワーク負荷 応答性能 ネットワーク切断時の動作 2014/9/1 24
Microsoft の IoT 関連技術の紹介.NET Micro Framework (NETMF) Microsoft Azure.NET Micro Framework 組み込み機器からの Azure 接続方法紹介 Service Bus Mobile Service ISS (Intelligent System Service) 補足 :IoT 時代の組み込み技術者の心構え 2014/9/1 25