祝!Windows 10 IoT Core 正式リリース、そして TI SensorTag が動くまで

MS太田さんのつぶやきに Windows IoT Core だと BLE 使って簡単に Azure に、という話があって、でもなー、現状の Windows IoT Core on Raspberry Pi って Bluetooth のドングルが付いてなくて…と思っていて、念のためサイトを調べ直したら、リリースノート

image

な感じで書いてあるじゃないですか!!! 確か1か月前のリリースをつい先日見たときにはなかったはずで、となるとひょっとしてバージョンアップしたのでは?と思ってダウンロードしてみれば。おお、バージョンが変わっている。しかも、よくよく見れば「Windows 10 IoT Core Public Release」になっている訳だから正式版ってことですよね。ダウンロードして、RPi2 上で動かしてみれば、バージョンは 10.0.10240。これは、PC 版のバージョンと同じ。ってことは、7/29 に同時リリースしてたッ!!! ってことですね。なんというか、もうちょっと知らせてくれればいいのに(ひょっとすると Windows Dev Center のメールにはあったかもしれない)、あれだけ Build 2015 でやっていた訳ですから、もうちょっと宣伝しても良いのではないかと。

そんな訳で、晴れて正式版になった Windows 10 IoT Core を使ってみましょう、ってことでざっくりと。

SD カードは Windows 8.1 でも作れる

最初のプレビュー版では、SD カードへの焼き込みは Windows 10 からでしかできなくて、VMWare を使ったり Mac から焼きこんだりしていた訳ですが、正式版では(正確には1か月前のプレビュー版も可能)、Windows 8.1 からも SD カードへの焼き込みができます。

Windows IoT – Setup your Raspberry Pi 2
http://ms-iot.github.io/content/en-US/win10/SetupRPI.htm

上記にある通り、DVD イメージの iso ファイルをダウンロードしてインストールを済ませると、こんな風なインストールツールが使えるようになります。

image

これを使って flash.ffu ファイルを SD カードに焼き込めば ok です。Windows 10 IoT Core Build 10240について | WIAA さんのところも合わせて参考にしてください。

サンプルは github/ms-iot/samples にある

色々試してみるときに、さっくりとコードがあるとよいので(ピン配置とかが固有なので、それのあたりは見ないと駄目なんですが)、https://github.com/ms-iot/samples からサンプルコードをダウンロードしておきます。

Windows IoT – Start Coding
http://ms-iot.github.io/content/en-US/win10/StartCoding.htm

ここに動かせるものがあるので、これを Visual Studio 2015 でビルドして RPi 上で動かします。デバッグ実行するときに、

  • ターゲットを「ARM」に変更する。
  • リモートコンピュータで、認証を「なし」に変更しておく

image

ことを忘れなければ大丈夫です。

WiFi, Bluetooth, 無線マウスが(制限付き)で使える

USB の有線マウスは、ほぼどんなマウスでも大丈夫です。無線マウスは、手元の Microsoft Wireless Mobile Mouse 3500 がうまく動きました。ただし、Bluetooth と無線マウスを同時に差し込むと、電圧の関係で動作が不安定になるので、どちらかという感じですね。

WiFi ドングルは使える、ということになっていますが、正式サポートでは Raspberry Pi のオフィシャル WiFi ドングルのみです。Windows IoT – Using WiFi on your Windows 10 IoT Core device. 手元にある、Buffalo の WLI-UC-GNM は駄目でした。

Bluetooth ドングルは Windows IoT – Bluetooth Support の中では、Orico のドングル(アメリカだと安いらしい)のみサポートなのですが、手元にある Buffalo の BT ドングルで動きました。おそらくチップが「CSR8510 A10」であれば動くような気がします。

BLE のサンプルを動かす

Windows IoT – BLE GATT Sample – Code
http://ms-iot.github.io/content/en-US/win10/samples/BLEGatt2.htm

で紹介されている TI SensorTag を試しています。SensorTag は Bluetooth Low Energy で接続するのと、加速度センサーや温度センサーが付いて実験的に使えます。以前買ったもので、大体 5,000円位です。いまだと、Blue Ninja とか、konashi 2.0 あたりを使えばよいでしょう。

 

サンプルを動かすときに、Windows IoT Core 側に設定が必要です。あらかじめ、Bluetooth ドングルと SensorTag をペアリングしておきます。

このペアリングツール、PowerShell 上では使えなくて、なぜか SSH 上で使います。入力パイプのところが変なだけなので、PowerShell 用には…というか、通常のコマンドライン用に切り替えることはできるかなと。Tera Term で接続しようとしたのですが、なぜか10秒位で切れてしまうので、素直に Putty を使ってください。

SensorTag は BLE なので、「C」で BLE のほうに切り替えてから「P」でペアリングをします。ピンコードを入力すればokです。

Pairing Tool 1

Visual Studio 2015 からビルドをして、リモートコンピュータで実行すると、こんな風に画面に Sensor タグから取得した結果を表示します。

色々繋がってしまうので(特に有線LAN)、いまひとつ組み込みシステムの恩恵が感じられませんが(苦笑)、まあ、ディスプレイを7インチの小さなものを使ってみたり、LAN は外してしまって Bluetooth 経由でデータのやり取りを行えば、結構モバイル的に使えるでしょう。BLE だけでなく、通常の Bluetooth が使えるので PC と直接つなげることもできます。

PC から Windows IoT Core にペアリングする。

image

ちなみに、アプリ自体はユニバーサルアプリになっているので、デプロイ先をローカルコンピュータにして x64 あたりでビルドすれば、普通の PC でもそのまま動きます。なので、GPIO のような制御がない場合であれば、一度 PC で実験しておいて、その後に ARM でビルドをして Windows IoT Core のほうで使うということが可能ですね。

image

そんなわけで、再びロボットアームを動かすところを、後日。

カテゴリー: RaspberryPi, Win IoT パーマリンク