Blog


第4回CenterCLRでWindows10のAPIについて話してきました

話してきました。

久しぶりの1時間登壇でしたがだいぶ落ちつて話せたと思います。

参加者とのインタラクションがよく出来るコミュニティだと話しやすいですね。

逆にちゃんと理解してないとボロが出そうで怖いですがw

 

次は今週の土曜日に東京でAzureのイベントに出て、それが終わったら11月に札幌のイベントまでしばらく研究関係に集中しようと思います。

もっかいこのスライドでどっかで話したいなーというところ




旧バージョンのTitanium SDKをインストールする

たとえばTitanium SDK 4.0.0.GAのバージョンを入れようと思って

のコマンドでインストールしようとしても3.*あたりのバージョンしかありません。

4.*あたりからtiコマンドはappcコマンドに内包される形になったので

でインストールされます




Windows10 IoT CoreをRaspberryPi2にインストールする

1

PCのセットアップ

VisualStudio2015をインストールしておきます。

インストール時、カスタムインストールを選択し、ユニバーサルアプリのSDKをインストールしておきます。

設定から、開発者モードをONにしておきます。

この辺はすでにUWPのアプリが作れる環境ならば問題ないはずです。

ここからWindows10 IoT Coreのプロジェクトテンプレートをダウンロードします。

https://visualstudiogallery.msdn.microsoft.com/06507e74-41cf-47b2-b7fe-8a2624202d36

ダウンロードしたvsixファイルをクリックしてインストールします。

Raspberry pi2をセットアップする

公式より、必要な道具は以下のようになっています。

  1. Windows10 PC
  2. Raspberry Pi2
  3. 5V microUSB電源
  4. 8GB以上のSDカード
  5. HDMIケーブルとモニター
  6. Ethernetケーブル
  7. MicroSDカードリーダー

以上のものが用意できたら、ここからIoTCoreのisoをダウンロードします。

ダウンロードできたらクリックしてマウントして、msiファイルを起動します。

インストールします。

次にSDカードをSDカードリーダーにさしてWindows10に認識させます。

検索ボックスに「WindowsIoTImageHelper」と入力し、アプリケーションを起動します。

ImageHelperでSDカードが認識できていることが確認できたら、Browseボタンを押してflash.ffuファイルを選択します。

パスとしては「C:\Program Files (x86)\Microsoft IoT\FFU\RaspberryPi2」の位置にあります。

Falshボタンを押してSDカードに書き込みます。

SDカードを取り外し、Raspberry Piに刺し、その他機器をRaspberry Piに接続します。

5V電源を供給すると自動でWindows10がたちあがります。

マウスとキーボードがあればこのように言語設定もできます。

VisualStudioと接続する

検索ボックスから、WindowsIoTCoreWatcherと検索し、起動します。

デバイスとWindowsが同一ネットワークに接続されていればこのようにでるはずです。

右クリックでIPアドレスをコピーしておきましょう。

 

次に、普通にUWPのプロジェクトを作ります。

IoTのAPIを叩くにはExtension SDKを参照する必要があります。

参照を右クリックして参照の追加をします。

参照マネージャから

Windows IoT Extensions for UWPを参照し、OKを押します。

プロジェクトができたらCPUをARMに、ターゲットをリモートコンピュータにします。

先ほどのIPアドレスを貼り付け、認証モードをなしにします。

選択を押し、F5でデバッグ開始するとUWPを実行することができました。

Media preview

もちろんXAMLを編集することでUIも記述することができます。

Media preview




デバイスによってXAMLを切り替える

XAMLビュー

Windows10 UWPからXAMLビューというコードビハインドの無い、単体のXAMLが新しい項目から選択できるようになりました。

これはデバイスファミリによってXAMLを切り替えるためのもので、同一のコードビハインドに対し、違うXAMLを適用できます。

どのように切り替えるかというと、まずこのように[DeviceFamily-Mobile]のようにあDeviceFamily-から始まるフォルダを作ります。

その中に同じ名前のXAMLビューを追加します。

各デバイスで実行するとこのようにデバイスによってXAMLが切り替わりました。




Azure Mobile Appsでjavascriptからデータ挿入しようとするとAccess-Control-Allow-Originでエラーがでる

タイトルの通りで、Azure Mobile AppsをJavaScriptから使おうとするとAccess-Control-Allow-Originとかいうエラーがでてうまくいかないです。

これは何やら異なるドメイン間でのAjax通信がブロックされてるらしい。

Azure Mobile Apps側で通信を行うドメインを許可すればOKです。

 

許可する方法は、クロスオリジンリソースCORSにドメインを追加すればOKです。

構成タブから編集します。

http://stackoverflow.com/questions/22201252/making-a-http-request-to-azure-mobile-services-from-asp-net-web-site