Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

VisualStudioでマイコンボードを制御する

2,570 views

Published on

サトヤ勉強会#1で使用した資料に、Galileoボードのデモ手順を追記したものです。事前準備も含まれています。


参考にさせていただいたサイト
http://kei-sakaki.jp/2014/08/21/intel-galileo-development-board-windows-internet-of-things-1/
http://kei-sakaki.jp/2014/08/22/intel-galileo-development-board-windows-internet-of-things-2/

Published in: Technology
  • Be the first to comment

VisualStudioでマイコンボードを制御する

  1. 1. VisualStudioで マイコンボードを制御する JAZUG仙台/東北デベロッパーズコミュニティ 木村忠宏(@kimura016)
  2. 2. 今日の内容 ・IoTについて ・Intel製マイコンボード「Galileo Gen2開発ボード」を使ってみる ・VisualStudioから「Galileo Gen2開発ボード」を使ってみる
  3. 3. IoTについて IoTとはInternet of Things(モノのインターネット) ・・・一意に識別可能な「もの」がインターネット/クラウドに接続され、情報 交換することにより相互に制御する仕組みである(wikipediaより) 例えば時計や、家電製品、車などがインターネットにつながり、情報を取得、 提供しあうこと
  4. 4. IoYTについて Internet of Your Things(あなたのモノのインターネット) ・・・あなたの既存のものをまずはクラウドにつなげてしまおう。 引用:http://news.mynavi.jp/column/compass/021/ →IoT前IoYTといわれているが、IoTの先にもIoYTがあるのでは?
  5. 5. スマートフォン登場前のインターネットへのアクセス ・PCを使って、ブラウザ(IEなど)を立ち上げ、検索する。 ・アクションは私たちから。
  6. 6. スマートフォン登場後のインターネットへのアクセス ・インターネットへの常時接続が当たり前。 ・アクションは私たちが検索したいときだけでなく、タイミングを選ばず、アプリ経 由で情報の通知、提供を行う。
  7. 7. ・私と思われる情報をもとに情報が提供される 例)Amazonのレコメンド機能など 私と 思わ れる 情報 購買履歴や閲覧履歴をもとにおすすめ商品が表示される
  8. 8. モノのインターネットへのアクセス
  9. 9. モノのインターネットへのアクセス 私の 情報
  10. 10. Internet of Your Things 例)Microsoft Band 歩数計、消費カロリー計、睡眠トラッカー、24時間の心拍数モニタ、GPSなど パーソナルな情報を取得します。 自分で情報を取得しに行くという行動から、 自動的に情報が取得、提供されるという行動にかわる。
  11. 11. マイコンボードについて ここ数年のMakerブームを受け、電子工作やマイコンボードでのモノづくりが一般的に なってきている印象。 例)Raspberry Pi (ラズベリーパイ) Arduino(アルドゥイーノ)
  12. 12. メリット ・アイディアをすぐにプロトタイピング ・自分で作り上げるため、気に入らなかったり、機能が不足することがない。 パーツを買って組み合わせるだけ。 ・ボードで実現可能なら、安価に始められる。 ・ハードの知識がつく。
  13. 13. デメリット ・一度準備するまでに手間がかかる。 ・不具合にはまると原因を特定するのが大変。 →この辺は勉強のコストとして考える
  14. 14. ここからの内容 ・Intel製マイコンボード「Galileo Gen2開発ボード」を使ってみる ・VisualStudioから「Galileo Gen2開発ボード」を使ってみる
  15. 15. Intel Galileo Gen 2 開発ボード Galileo開発ボードは、Aruduino互換であり、 Aruduinoの豊富なサンプルやライブラリ、拡張シール ド、開発のワークフローなどを利用可能。 ※Aruduino(アルデュイーノ)とは 初心者でも簡単に扱えるハードウェア開発ボード。 AVRマイコン、入出力ポートを備えた基盤、 C++風のAruduino言語とそれの統合開発環境から 構成されるシステム。 ボード仕様に関しては、IntelのWebサイトや販売店の情 報を確認ください。 Intel:http://www.intel.co.jp/content/www/jp/ja/do-it-yourself/ galileo-maker-quark-board.html 秋月電子通商:http://akizukidenshi.com/catalog/g/gM- 08284/ Switch Science:https://www.switch-science. com/catalog/1841/ フラッシュメモリ プロセッサRAM Ethernetポート microSDカード スロット 電源端子 USBクライアント ポート USBホスト ポート A r u d u i n o 拡 張 ピ ン
  16. 16. 1.Arduiono IDEから「Hello World」 ハードウェアでのHello Worldは「Lチカ(LEDチカチカ)」。 手順 (1) Arduino IDE(Galileo版)のダウンロードとインストール (2) Galileo開発ボードの配線 (3) Arduino IDEの起動 (4) ファームウェアのアップデート (5) サンプルプログラム「LEDチカチカ」の実行
  17. 17. 1. (1) Arduino IDEのダウンロードとインストール ・Intel公式のGalileo Software Downloadsのページ →Windows用のArduino IDEをダウンロード。 注意)このページ以外からでも、ArduinoIDEを取得で きるようですが、私の環境ではここからダウンロードしたもの のみ正常に動作しました。開発ボードのバージョンと、IDE のバージョン違い等で正常に動作しないことがあるようです。
  18. 18. ・ダウンロードしたファイルを、C:、またはC:のご く短いフォルダ名のフォルダに解凍。 ・解凍したフォルダ直下にある「arduino.exe」を ダブルクリックして起動を確認。
  19. 19. 1.(2) Galileo開発ボードの接続 ・デバイスドライバのインストール 初めてGalileoボードをPCに接続する場合は、 デバイスドライバのインストールが必要。 [コントロールパネル]-[デバイスマネージャ]を開き、「Gadget Serial V2.4」として登録されているデバイスを選択。[ドライバーソフトウェアの 更新]から、以下ディレクトリを参照してOKをクリックする。 例)C:arduino-1.5.3- Intel.1.0.4hardwarearduinox86tools 注意)GalileoボードとPCを接続する際は、初めにGalileo ボードが電源から給電されていることを確認する。 電源から給電された状態で、GalileoボードとPCをUSBケーブ ルで接続する。
  20. 20. 1.(3) Arduino IDEの起動 ・Galileoボードが認識されていることを確認する。・COMポートが認識されていることを確認する。
  21. 21. 1.(4) ファームウェアのアップデート ・最新のファームウェアが更新されていないか確認する。 →更新の必要があれば、更新を実行。 所要時間は5分程度。
  22. 22. 1.(5) サンプルプログラム「LEDチカチカ」の実行 ・以下サンプルプログラムを開く C:arduino-1.5.3-Intel.1.0.4 examples01.BasicsBlinkBlink.ino ・ツールバーにある「upload」ボタンをクリックする。 コンパイルとボードへのアップロードが行われる。 アップロードが完了すると、ボード上の小さなLEDが 点滅する。 別のLEDを接続している場合は、そちらも点滅する。 ※サンプルプログラムは、13番ピンの出力を制御します。 LEDを接続する場合は、 アノード(長い足のほう)を13番ピン、 カノード(短い足の方)をGNDに接続する。
  23. 23. 1.(5) サンプルプログラム「LEDチカチカ」の結果
  24. 24. 2.Visual Studioから「Hello World」 手順 (1) Windows Debeloper Program for IoTプログラムへの参加 (2) WindowsIoTとmicroSD書込スクリプトの取得 (3) WindowsIoTをmicroSDへ書込み (4) WindowsIoT動作確認 (5) Windows Developer Program fro IoTのインストール
  25. 25. 手順つづき (6) VisualStudioの準備 (7) C++ Windows for IoT プロジェクトを作成 (8) WindowsIoT C++ SDKのインストール (9) Main.cppソースコードの確認 (10) リモートWindowsデバッガーの実行 (補足)プログラム配置のためのVSの設定
  26. 26. 2.(1)Windows Debeloper Program for IoTプロ グラムへの参加 Galileoで使用できるWindows(Windows for IoT)および関連ツールは、 Windows Developer Program for IoTに参加しないと入手ができない。 以下より、Windows Developer Program for IoTに参加する。 https://connect.microsoft.com/windowsembeddedIoT ※同プログラムの参加にはMicrosoftアカウントへの登録が必須です。Microsoftアカウントを取得していな い方は、こちらから登録してください。 http://www.microsoft.com/ja-jp/msaccount/default.aspx
  27. 27. 2.(2)WindowsIoTとmicroSD書込スクリプトの取得 ・Windows Developer Program for IoT(Windows Image(WIM))の取得 →Galileo Gen 2用(※Galileo Gen 1用は別に準備されているので注意すること) https://connect.microsoft.com/windowsembeddedIoT/Downloads/Do wnloadDetails.aspx?DownloadID=55587 ・Windows IoTをmicroSDメモリーカードへ書込むためのスクリプトapply-bootmedia. cmdを取得 http://connect.microsoft.com/windowsembeddedIoT/Downloads/Do wnloadDetails.aspx?DownloadID=54158
  28. 28. 2.(3)WindowsIoTをmicroSDへ書込み ・microSDメモリーカードを初期化状態に戻します。 ・コマンドプロンプトを管理者権限で実行します。 ・WindowsIoTとmicroSD書込み用スクリプトをダウンロードしたフォルダに移動する。仮にCドライブ直下 の「WindowIoT」フォルダにダウンロードしたとすると、「cd c:WindowsIoT」と入力します。 ・microSDカードにWindowIoTを書き込むためのコマンドを実行します。例として、microSDカードをEド ライブとして認識している場合のコマンドを記します。「apply-bootmedia.cmd –destination e: - image 9600.16384.x86fre.winblue_rtm_iotbuild.140925-1000_galileo_v2.wim – hostname mygalileo –password admin」 ※ホスト名とパスワードは、接続確認、VisualStudioからの接続にも使用するので、まず初めはこのまま「mygalileo」「admin」で 実行することをお勧めします。
  29. 29. (microSD書込みは、進行状況が表示されながら進み、完了時には「**** Done.」と表示されます。かなり時間がかかりますが、 気長に待ちます。私の環境では約20分程度でした) 以下、実行時のコマンドプロンプトの表示の初めと終わり(中略しています) C:WinIoT>apply-BootMedia.cmd -destination E: -image 9600 .16384.x86fre.winblue_rtm_iotbuild.140925-1000_galileo_v2.wim -hostname mygalile o -password admin C:WinIoT>rem ******************************************** ****************************** C:WinIoT>rem ** Copyright (c) Microsoft Open Technologies , Inc. All rights reserved.
  30. 30. **** Successfully applied C:WinIoT9600.16384.x86fre.winblue_rtm_iotbuild.140925- 1000_galileo_v2.wim **** to E: **** **** hostname: mygalileo **** timezone: Pacific Standard Time **** Username: Administrator **** Password: admin **** **** Done.
  31. 31. 2.(4) WindowsIoT動作確認 ・microSDカード(WindowsIoTインストール済)をGalileo開発ボードへ差し込みます ・Galileo 開発ボードにEthernetケーブルを挿入(PC側にはUSB接続のEthernetアダプター) →ストレートケーブルを使用する。(勉強会時はクロスケーブルを使用していましたm(_ _)m) ・Galileo開発ボードに電源を接続。Windows IoTの起動が完了するまで1~2分程度待ちます。 microSDメモリーカードへのアクセス状況を示すLEDを目視確認する。 ・USB接続のEthernetアダプターをパソコンのUSBポートに接続 ・コマンドプロンプトを開いて(管理者権限の必要なし)、「ping -4 mygalileo」とコマンドを実行。 →WindowsIoTが正常に動作していれば、pingコマンドに対する応答が返ります。
  32. 32. 2.(5) Windows Developer Program fro IoTの インストール ・以下より「Windows Developer Program for IoT – Microsoft Installer(msi)」をダウンロードする http://connect.microsoft.com/windowsembeddedIoT/Downloads/Do wnloadDetails.aspx?DownloadID=54279 ・ダウンロードした「Windows Developer Program for IoT – Microsoft Installer(msi)」をダブルクリックしてインストールする。(インストールウィザードに従いま す)→本ツールインストール時に、対象PCに接続されているGalileoを確認できるツー ル「Galileo Watcher」もインストール可能です(任意)
  33. 33. 2.(6) VisualStudioの準備 前提:Visual Studio Express 2013 for Windows Desktopがインストール済 ・VisualStudioを起動してメニューから「ツール」-「NuGetパッケージマネージャ」 があることを確認 →無い場合はメニューから 「ツール」-「機能拡張と更新プログラム…」をクリックし、 「NuGet Package Manager for Visual Studio 2013」をインストールする
  34. 34. 2.(7) C++ Windows for IoT プロジェクトを作成 VisualStudioを起動したら、新しいプロジェクトを作成する。 メニューの「ファイル」-「新しいプロジェクト」を開いて、「インストール済み」-「テンプレート」-「Visual C++」- 「Windows for IoT」を選択し、 「Galileo Wiring App」を選択する。 プロジェクトの名前は任意で変更する。 例として「GalileoFirstApp」として進める。
  35. 35. プロジェクトの作成が進みますが、進行途中で 「Galileo V1」か「Galileo V2」かを確認するダイアログが表示されます。 →今回は「Galileo V2」を選択する必要があるので、 「いいえ」を選択して進めます。
  36. 36. 2.(8) WindowsIoT C++ SDKのインストール プロジェクトの作成が終わると、「ソリューションエクスプローラー」にプロジェクトの内容が表示される。 ここでメニューから「ツール」-「NuGetパッケージマネージャ」-「ソリューションのNuGetパッケージの管理…」を クリックする。 ・NuGetパッケージの管理にて、検索欄に「Galileo」 と入力し検索 →Microsoft IoT C++ SDKをインストールする。 ※リリース前のパッケージを含めるにして検索する。 Galileo Gen 1の場合はGalileo C++ SDKを選択のこと。
  37. 37. 2.(9) Main.cppソースコードの確認 ・Microsoft IoT C++ SDKをインストール後、エラーを示す赤い波線が消えていることを確認する。 ・Main.cppのソースコードを確認する。 Aruduino IDEでLEDチカチカを確認したとき同様、 setup()にて13番ピンを出力に設定。 loop()にて、13番ピンに対してHigh-Lowを繰り返し 設定していることがわかる。 →「Lチカ」のサンプルプログラム
  38. 38. 2.(10)リモートWindowsデバッガーの実行 ・Galileo開発ボードの準備(microSD挿入、LED接続、Etherケーブル接続、電源ON) ・WindowsIoTの起動を確認し、 VisualStudioからリモートWindowsデバッガーの 実行 →ウィンドウ上部にある「リモートWindowsデバッガー をクリックする。
  39. 39. 途中、ビルドの確認や ユーザー/パスワードの入力が求められる。 →ダイアログの指示に従って操作を進める。 サトヤ勉強会当日は、VisualStudioからの LEDチカチカまでできませんでしたが、 無事動作を確認できています。
  40. 40. まとめ ・Intel Galileo Gen 2 開発ボードでWindows IoTを起動 ・VisualStudioでリモートデバッグできる→VisualStudioでの開発が可能 →今までの技術資産でマイコンのプログラミングができる 注)ボードと、対応するファームウェアやライブラリのバージョンが違うと、うまくいっているよう で動かない。目に見えない部分があるので、うまくいかない場合は手順を確認して間違い ないよう検証して実施することが大事。
  41. 41. おわり ありがとうございました

×