ワークショップに参加してきました。デバイス管理などを体験できるハンズオン型のワークショップで、下記のような内容でした。デバイス管理の部分について、どのような感じで管理・アップデートが行えるのかを紹介してみたいと思います。使用デバイス今回使用したデバイスはワークショップ用に用意された開発ボードで、ワークショップ後はそのままいただくことができました。無料ワークショップなのになんとも太っ腹です。機能としては下記のようなものが載っています。ディスプレイスイッチワークショップ中に使ったセンサーは温度センサーだけでしたが、それ以外にも色々なセンサーが載っているので遊べそうです。デバイスを管理することができます。パートナーしか利用することができませんが、今回のワークショップでは参加者に期間限定のアカウントが提供され、それを使ってアクセスしました。ログインするとダッシュボードが表示されます。生成した証明書を使用する必要があります。選択し、ダイアログに従って情報を登録して行くと証明書が作成されます。作成された証明書を一覧から選択してローカルにダウンロードし、アプリケーションのルートディレクトリに配置します。クライアントを使います。今回のワークショップでは登録用のサンプルコードが提供されていたので、自分で書く必要はありませんでしたが、アプリ側の登録用コードの抜粋は下記のようになります。ボードにコピーして書き込みます。対象のデバイスが表示されます。各リソースの情報が確認できます。表示されるリソースの項目や内容は各デバイスでの実装に依存します。更新が可能なリソースはこの画面から値を更新することも可能です。各リソースが更新可能かどうかはデバイス側での実装に依存します。アプリケーションやスマートフォンアプリケーションと違って、デバイス自体を遠隔地において来てしまうので簡単にファームウェアのアップデートのフラッシュを行うことができません。プラットフォームによる、デバイスのファームウェアのリモートアップデート機能が重要になってきます。接続した上でソフトウェアをリモートでアップデートできます。キーが生成されて表示されます。キーの内容は生成時しか見ることはできないため、ここでコピーして保存しておきます。インストールされていない場合はインストールします。ローカルファイルを使ってインストールしましたが、通常はこちらのチュートリアルの手順に従ってインストールすることになるかと思います。リポジトリが見つからないということでエラーになってしまうため、実際に使う場合は確認が必要です。--forceという感じになります。これで公開鍵/秘密鍵のペアが作成されて公開鍵はデバイスに組み込まれるようになりますので、秘密鍵はプログラムの更新時に署名するために保持しておきます。ボードに書き込んでおきます。アップデートの実施ここまででリモートアップデートの準備ができましたので、実際にリモートアップデートを実施してみます。アプリケーションのソースに何らかの変更を加えたらこれまで同様にビルドしておきます。コマンドを実行して、マニフェストファイルの生成と、バイナリとマニフェストファイルのアップロードを行います。コンソールからキャンペーンの設定を行いますが、アップデートの配布対象デバイスを指定するためにはデバイスフィルタを作成しておく必要がありますので、下記メニューから作成しておきます。メニューからキャンペーンを作成します。するとキャンペーンが作成され、内容が表示されます。クリックするとキャンペーンが開始し、アップデートがスタートします。これでデバイス側が正しくネットワークに接続して稼働していれば、アップデートが行われます。ワークショップ時のサンプルコードではシリアル出力で様子を確認していると下記のようにアップデートが行われたことがわかりました。タブから確認できます。同じようなイメージを持ちました。できそうな感じではありますが、プラットフォームでサポートしていて複数端末へのアップデートの配布や状況の確認等もコンソールからの設定で行えるのは便利そうに思いました。誰でも利用できるわけではありませんが、どんな感じでデバイス管理を行えるかのイメージが掴めたのは良かったです。