.NET Micro Frameworkが動いていて、Windows上でC#を使ってプログラムが書けるマイコンボード、netduinoシリーズに新しくnetduino 3 wi-fiが加わりました。今回はnetduino3 wi-fiでLEDを光らせてみましょう。Windows 7の64bit版がインストールされているPCで試しました。
netduino 3 wi-fiはすでに販売中です。
開発環境のインストール
まずやらなければいけないのは、.NET Micro Frameworkの開発環境のインストールです。netduinoのtools and documentationページにもある通り、
- Microsoft Visual Studio Express 2013
- .NET Micro Framework SDK v4.3
- .NET MF plug-in for VS2013
- Netduino SDK v4.3.2.1
をインストールする必要があります。
Visual Studio Express 2013は、Visual Studio Express 2013 with Update 4 for Windows Desktopのページにある「今すぐインストール」のほうをダウンロードしました。「今すぐインストール」を実行するとインターネットからダウンロードしながらインストールを行います。もう一つの「DVD9 ISO イメージ」のほうは約6.5GBのDVD ISOイメージがダウンロードされるので、ISOイメージをマウントできるソフトウェアを持っていてHDDに余裕がある人はこちらを選ぶのがよいでしょう。また、他の三つのソフトウェアもダウンロードしておきます。
Visual Studio Express 2013のインストールには、インストーラー本体をダウンロードしていることもあってか結構時間がかかりました。また、インストールの最後に「起動する」というボタンが出てくるのですが、これを押してしまうとそこからまた時間がかかってしまうので、いったんやめておいて他のインストールを進めた方がいいと思います。
Netduino SDKまでインストールしたら、一度Windows Updateを実行してVisual Studioや.NETのアップデートを行って再起動しておきます。
ファームウェアのアップデート
ファームウェアのアップデートも必要です。2015/06/03の時点ではnetduinoのフォーラムにNetduino 3 Wi-Fi Firmware v4.3.2 (update 2)という記事があるので、ここを参考にアップデートします。まずはNetduinoUpdate_4.3.2.2.zip(Netduino v4.3.2.2 firmware)とdfusedemo_3.0.3.zip(STDFU drivers + tools v3.0.3)をダウンロードして、それぞれのzipファイルを展開しておきます。
次にdfusedemo_3.0.3.zipを展開したフォルダを開いて、DfuSe_Demo_V3.0.3_Setup.exe(32bit)かDfuSe_Demo_V3.0.3_Setup_amd64.exe(64bit)をインストールします。
そして、netduino 3 wi-fi上にあるタクトスイッチ(押しボタン)を押しながらUSBでPCに接続します。「STM Device in DFU Mode」というUSBデバイスが認識され、ドライバが自動でインストールされるはずです。ドライバが見つからない場合はNetduino SDKをインストールしたか確認してください。
netduino 3 wi-fiをつないだ状態でNetduinoUpdate.exeを実行すると、以下のスクリーンショットのようにnetduino 3 wi-fiが表示されるので、左端のチェックボックスをチェックして、Upgradeボタンを押します。
ファームウェアのアップデートに成功すると、netduino 3 wi-fiが一覧に出なくなるので、NetduinoUpdate.exeを終了してnetduino 3 wi-fiをPCから外します。
ファームウェアのアップデートが終わったら、いよいよC#のプログラムを書きます。
LEDを光らせる
tools and documentationページのdocumentationのコーナーにgetting started guideというpdfファイルがあるので、この内容を参考にプログラムを入力してボード上にあるLEDを点滅させてみましょう。
まずVisual Studio Expressを起動します。起動したらスタートページの「開始」の下にある「新しいプロジェクト...」か、ファイルメニューの「新しいプロジェクト(P)...」を選択します。
すると何のプロジェクトを作るか選ぶダイアログが開くので、「Netduino Application (Univarsal)」を選び、下の方にある「名前(N)」でプロジェクトの名前を決めます。
やっとプロジェクトができました。右側のあるソリューションエクスプローラーの中にあるProgram.csをダブルクリックすると、左側にエディタが現れます。
この「// write your code here」の下に自分のプログラムを入力していきます。
ボード上のLEDを点滅させるのはこんなプログラムです。
using System; using System.Net; using System.Net.Sockets; using System.Threading; using Microsoft.SPOT; using Microsoft.SPOT.Hardware; using SecretLabs.NETMF.Hardware; using SecretLabs.NETMF.Hardware.Netduino; namespace NetduinoApplication4 { public class Program { public static void Main() { // write your code here OutputPort led = new OutputPort(Pins.ONBOARD_LED, false); while (true) { led.Write(true); Thread.Sleep(250); led.Write(false); Thread.Sleep(250); } } } }
さて、プログラムが完成したのでnetduino 3 wi-fiに転送して実行しましょう。実行ファイルをどこに転送するかなどはプロジェクトのプロパティで設定します。
設定できたら、メニューバー真ん中へんにある開始ボタンでプログラムをコンパイルしてボードに転送します。開始ボタンの隣に「Debug」「Release」「構成マネージャー...」を選べるドロップダウンリストがありますが、今回はデバッガを使わないので「Release」を選びました。
なお、プログラムを修正してまた転送したいときには、開始ボタンの列にある赤い四角のアイコンを押して動作を停止します。
コンパイルや転送中はVisual Studio Expressの最下行に赤い背景で現在やっていることが次々に表示され、最後に「準備完了」と表示されてボード上のLEDが点滅しました。
試しに点灯、消灯後の待ち時間を長くしたり短くしたりして、本当に自分のプログラムがボード上で動いているか確認するのもいいでしょう。
netduino 3 wi-fiのWiFiアンテナについて
話はちょっと変わりますが、問い合わせがあったので書いておきます。
netduino 3 wi-fiに使われているWiFiモジュールはTexas InstrumentsのCC3100MODというモジュールと、太陽誘電のAH316M245001-Tというアンテナが使われており、この組み合わせで工事設計認証(いわゆる技適認証)を取得してるため、日本国内での使用は問題ないことを確認しています。
ずいぶん長くなりましたが、netduino 3 wi-fi現在発売中です。普段Visual Studioを使い慣れているけど、電子工作もやってみたい方にはちょうどいいボードだと思いますので、候補の一つに入れてもらえるといいかなと思います。