記事

IoTへの挑戦 Raspberry PiでWindows 10 IoT Coreを動かす(1)(Ver 2.0)

5千円台のマイコン・ボードRaspberry PiでWindows 10が動く

 Raspberry Piは安価でプログラミング教育を目的にイギリスで生まれた超小型コンピュータです。多くの支持を受け、2015年2月18日までに累計500万台、2016年9月8日 には1千万台の販売実績を上げています。
 Raspberry Piにはいくつかのバージョンがあります。従来のRaspberry PiはCPUがシングル・コアのBroadcom BCM2835、700MHzのクロック、256M~512Mバイトのメモリでした。2015年初めにクアッド・コアのBroadcom BCM2836、1Gバイトのメモリ、900MHzのクロックと大幅な高性能化が図られたRaspberry Pi 2 model Bが発表されました。

 その後2016年2月末にRaspberry Pi 3 model Bの発表がありました。クワッド・コアのARM Cortex A53を搭載したBroadcom BCM2837を1.2MHzのクロックで動作し、Raspberry Pi 2より50%の高性能化とWi-Fi、Bluetooth4.1が搭載されたボードとなっています。Raspberry Pi 3 model Bについては「Raspberry Pi 3 model Bが入手できました (1)」にも入手、インストールの記事があるのでそちらも参考にしてください。

     http://www.denshi.club/make/2016/04/raspberry-pi-3-model-b1.html

WindowsでIoTが可能になる
 一方、マイクロソフトからはこのRaspberry Pi 2 model Bを対象としたWindows 10 IoTが発表されました。価格も国内で5000円から6000円で入手できます。LAN、ディスプレイへの出力を考慮すると、Arduinoよりもコスト・パフォーマンスが良くなるように思います。また、2016年4月のWindows 10 Creators Updateでは、Raspberry Pi 3でコルタナが利用できるようなったとあります。
 電子工作のIoT化も考慮しながら、Linux派の独壇場だったRaspberry PiをWindowsでも動かしてみることにします。

Windows 10 IoTをRaspberry Piで動かすための準備
 Windows 10 IoTをRaspberry Piで動かすためには、次に示すように準備します。

(1) マイコン・ボード(Raspberry Pi 3 model B)、必要となる各パーツの入手
(2) Windows 10 IoT Coreをマイクロソフト デベロッパ テクノロジのサイトからダウンロードし、マイクロSDカードでインストール・ディスクを作り、Raspberry Pi 3 model Bにインストール
(3) Windows 10 IoTで動かすアプリケーションを作るために、マイクロソフト Visual Studio 2017をダウンロードしてWindows 10のPCに開発環境を作る。PCで開発したアプリケーション・プログラムをLAN経由でマイコン・ボード(Raspberry Pi 3 model B)に書き込み、テストを行う。

マイコン・ボード(Raspberry Pi 3 model B)とその他に必要となる各パーツの入手

(1) マイコン・ボード(Raspberry Pi 3 model B)
 Raspberry Pi 3 model Bは、秋月電子通商スイッチサイエンスなどの通信販売で入手できます。現状では、最初に購入するRaspberry PiはこのRaspberry Pi 3 model Bを購入するのが最良と思います。

 Windows 10 IoTを動かすためにはこれ以外の選択肢はありませんが、ほかの製品に比べ高性能ですので、Linuxで動かすときも後悔しないと思います。こちらが一段落したらもう1台用意し、Pythonでプログラムを作ってみたいと思っています。

(2) 電源
 電源用にはマイクロUSBのコネクタが用意されています。Raspberry Pi 2本体だけで900mAの電流を消費します。Pi 3はクロックの高速化、Wi-Fiなども搭載しているので2.5Aくらいまでの容量の電源が要求されています。
 この電源には、秋月電子通商、スイッチサイエンスに5V 3A、マイクロB端子のAC-DCアダプタが用意されています。

(3) マイクロSDカード
 マイクロSDカードは、Raspberry Piのストレージに使われ、OS入れます。

  • Windowsデベロッパ・センタのページからWindows 10 IoT Coreのインストール・ファイルをWindows 10 PCにダウンロード
  • マイクロSDカードに書き込んでインストール・ディスクを用意
  • Raspberry Pi 3 model BのマイクロSDカード・ドライブにセット
  • 電源を投入
  • Windows10 IoT Coreをインストール

(4) マウス
 このマウスは、Windows10 IoT Coreのインストール後に内容の確認ためのポインティング・デバイスとして利用しました。USBマウスが必要です。無線マウスはドライバが対応しているか確認できませんでしたので、テストしていません。今後のテストの課題とします。

(5) キーボード
 インストール後、ユーザ名、パスワードの変更などで必要です。

(6) HDMIケーブル
 映像出力はHDMI端子からなので、HDMI対応のディスプレイが必要です。メインで利用しているモニタがHDMI対応ですが、これを接続するとPCが困ってしまいます。
 Raspberry Pi 3 model Bのビデオ出力はHDMI出力ですが、HDMI-DVI変換ケーブルを利用すると、DVI入力のモニタも利用できます。

(7) モニタ(HDMI対応)
 少々大きすぎますが、PCの横にある42インチのREGZA(東芝のTV)を出力モニタにすることにしました。インストール時にこのモニタで確認できることは、ネットワーク経由でPCからも確認できます。

(8) LANケーブル
 本体にWi-Fiが搭載されていますが、Wi-Fiの接続設定が必要になります。マウス、キーボード、ディスプレイ・モニタを用意することでWi-Fiの設定ができます。しかし、RJ45端子のLANケーブルを用意すると、PC側から有線LAN経由でWi-Fiの設定ができます。
 Raspberry PiがLAN接続されていると、PCのIoT Dashboardでネットワーク上のRaspberry Piを検索し次に示すように表示し、これらのネットワーク上のRaspberry Piに対しWi-Fiの設定などいろいろな処理を施すことができます。

(9) Windows 10 PC
 今回の作業のためには、PCを最新のWindows10であるWindows10 creators にアップグレードしました。

 バージョン1703ビルド15063.296と2017年5月現在の最新の条件を満たしています。

●Raspberry Pi 3 model Bへの接続
 Raspberry Pi 2とRaspberry Pi 3が搭載されているチップには違いがありますが、ボードの物理的な形状、コネクタ、ピンヘッダなどは同じものです。豊富なコネクタ類が用意されているので、いろいろなデバイスを容易に接続できます。オーディオ、カメラ、GPIOなどはインストール時には接続しません。

 これで、基本的なハードウェアの準備はできます。この後は次に示すデベロッパ ・センタのページからWindows 10 IoT Coreのインストール・ファイルをダウンロード、インストール、Visual Studio 2017をダウンロードして開発環境を設定、IoTの開発の準備を完了します。

 次は、Windows 10 Iot Coreのダウンロード、インストールから始めます。

(2016/1/6 V1.0)

(2017/5/23 V2.0)マイコン・ボードをRaspberry Pi 2 から3へ変更、Visual Studio 2015を2017への変更にともなって図、文章を修正。

<神崎康宏>

バックグラウンド

イギリスラズベリーパイ財団 (Raspberry Pi Foundation) によって開発されています。

クアッド・コア;CPUの核部分を四つ搭載しています。一つのアプリケーションは、複数のスレッドという単位で独立して動くように作られています。スレッドを別々のコアに割り当てて同時に実行させることができるので、シングル・コアより処理が高速です。

IoT;Internet of Things。何か、例えば温度センサがインターネットに直接つながる様子を表現しています。「何か」は、人によって定義が大きく異なります。「インターネット」は、クラウドもしくはサーバを指します。

 マイコン・ボードとして、インターネットにつながる=TCP/IPを話せるというところから、Raspberry Piは実験用プラットホームとして最適と考えられます。もちろん、Arduinoやmbedでもイーサネットのインターフェースがあれば、同様なことが実現できます。

LAN;Local Area Network。家庭内ネットワーク、企業内ネットワークを指します。一般には、マイクロソフトのNetBEUI (NetBIOS Extended User Interface)プロトコルと、インターネットで使われるTCP/IPの両方が混在しています。

 有線LANの場合、スピードによって10Base-T、100Base-T、1000Base-Tが混在して使われています。Raspberry Piでは100Base-Tが使われるが、パソコンが1000Base-Tであっても通信できます。

Visual Studio 2017;Windowsとそれ以外のプラットホーム用のアプリケーションを開発できるツールです。C++、C#、Visual Basicなどのプログラミング言語が利用できます。Visual Studio Communityのバージョンは無料で使える開発者向け統合開発環境です。

連載メニュー IoTへの挑戦 Raspberry PiでWindows 10 IoT Coreを動かす

(1) 5千円台のマイコン・ボードRaspberry PiでWindows10が動く

(2) Windows 10 IoT Coreのダウンロードとインストール

(3) Windows 10 IoT Core Dashboardが開発基地

(4) 無償で使える開発ツールVisual Studio2017のインストール

(5) Visual StudioでLEDを点灯するサンプル・プログラムを動かす

(6) VisualStudio 2015のデバッガの機能を利用してBlinkyの動きを見る

(7) Blinkyプロジェクトの中身を見る

(8) 押しボタン・スイッチの検出を行うプログラムをテスト

(9) デバッガを使ってPushButtonの処理内容を確認

(10) UIをもたないでバックグラウンドで実行されるプログラム

(11) ボタンとLED点滅の新規プロジェクトの作成