スイッチサイエンスさんで話題の
netduinoの取り扱いが始まりました。
スイッチサイエンスさんはArduinoやSparkFun製品の通販をしている会社で、秋葉原で無料の「
はんだづけカフェ」をされていることでも有名です(
はんだづけカフェのTwitter)。はんだづけカフェについては中の人が書かれている
ブログが詳しいです。
発売記念ということで、数名のモニターを募集していました。当選したのでブログでレポートします。
netduinoの特徴
- Arduinoとピン配置が同じ。全てではありませんが転用できるArduino用シールドもあります。出力は3.3Vで入力は5Vトレラントです。
- Microsoftの.Net Micro Framework環境が実装されているのでC#を使った開発が可能。
- 開発環境は全て無料。特にnetduinoではファームウェアもオープンソースとして公開しています(
ダウンロードページ)。
- 本体価格が安い。3495円と、Arduino Duemilanoveとほとんど同じ値段です。
同じ特徴をもつ製品としては
FEZ Dominoがあります。こちらも同じスイッチサイエンスさんで取り扱っています(
商品ページ)。
パッケージは黒です。USBケーブルが付属しています。
パッケージを開けました。中にはゴム足と謎の紙が同梱されています。
Arduinoそっくりですね。
というわけで並べてみました。
左から、
Arduino Duemilanove、
Japanino、
netduino、
FEZ Dominoです。
開発環境のインストール
CDはないので、開発ソフトやドライバーは全てネット経由でnetduinoのホームページ(
netduino.com)
からダウンロードします。
netduinoをPCにつなぐ前にソフトウェアのインストールを完了しておかないといけません。インストールするものは3つで、インストールする順番も決まっています。間違えないようにしないといけません。
(1)
Microsoft Visual C# Express 2010
(2)
.NET Micro Framework SDK v4.1
(3) Netduino SDK v4.1.0 (
32bit版、
64bit版)
簡単に言うとnetduinoの
ダウンロードページを上から順にインストールします。ちなみにOSはwindows XP, Windows Vista, Windows 7の32bit/64bit環境です。
マイクロUSB
netduinoのUSBケーブルはマイクロUSBです。
海外では携帯用によくあるらしいのですが、日本ではあまり見かけません。マイクロUSBのケーブルは秋月で入手可能です(通販コード
C-02429)。マイクロUSBについてはhamayanさんと熾火研究所さんにtwitterで教えていただきました。ありがとうございます。
MFDeproy.exe
.NET Micro Framework SDKをインストールするとMFDeproy.exeというツールがPCにインストールされます。Pingという接続テストをしたり、ターゲットの情報を取得したりできます。ファームウェアの消去みたいな怖いコマンドもあるので使うときには注意が必要です。
MFDeproyを起動したところです。
DeviceをUSBにして、Targetメニュー→Device Capabilitiesを実行した画面です。ファームウェアのバージョンが確認できます。SolutionReleaseInfo.solutionVendorInfoを見ると4.1.0.1になっています(写真はスクロールして見えなくなっています)。netduinoの最新のファームウェアは4.1.0.2なので一つ古いファームウェアです。
最新のファームウェアはnetduino.comのCommunityの
こちらの記事からダウンロードできます(ダウンロードにはCommunityへの参加が必要です)。
FEZ Dominoとの共存
せっかく両方とも持っているので、試してみました。電源付きのハブで2つも問題なく動いています。
ソフト開発も、新しいプロジェクトの作成時に「FEZ Domino Application」と「Netduino Application」を選択するだけです。Microsoftが作った部分は共通ですが、ボードメーカーが拡張した部分のクラスライブラリは勝手に作っているので微妙に仕様が違ったりします。
情報源
開発環境のインストールや初めてのプログラム作成(Lチカ)を解説した、ネットからダウンロードできる資料が既にいくつかあります。まだ日本に上陸してから数日なのに日本語情報も色々出始めています。
- 本家netduinoの「
getting start guide」(pdf) 英語です。
- Microsoftの
.NET Micro Frameworkのページ。.NET Micro Frameworkの
APIリファレンス。日本語の
開発者向け情報
- FEZ Dominoの開発元の
TINYCLRのチュートリアルも役に立ちます(
ダウンロードページ)。You Tubeのビデオもあります(ただし英語)。特に
Beginners E-Book(pdf)にはC#の解説があります(英語)。
- TINYCLRの輸入販売代理店
株式会社デバイスドライバーズにはFEZ Dominoの日本語情報ページ
TINYCLR.jpがあります。
-
NETMFProjects。色々なサンプルがいっぱいあります。
-
.NET Micro Framework Wiki。色々なサンプルがいっぱいあります。
-
MAKE:Japanの記事「
Maker Shedの新製品 Netduino - .NETベースのオープンソースエレクトロニクスプラットフォーム」
-
PS3とLinux、電子工作もさんのブログ、「
Netduino Get」、他にもFEZ Domino関連の有用な情報があります。
-
CuBeatSystemsさんのブログ「
Netduinoを始めよう(環境構築編)」「
Netduinoを始めよう(プログラミング初めの一歩編)」
-
Lynx-EyEDの電音鍵盤さんのブログ「
netduinoでOLED制御してみた」。最近各所で人気の
aitendoの
OLEDをさっそく使っています。
- 同じくモニターに当たった「
冬斗のつぶやき」さんも日記風にnetduino情報を公開されています。
-
Java Enthusiastさん「
Netduinoを触ってみる (1)」
- 同じくモニターに当たった
ひとりぶろぐさん、「
Netduino始めました」「
NetduinoをMacで使いたい!」
- いつもお世話になっている、
いしかわきょ-すけさんや
森秀樹さんもさっそく試されたようです。
-
やまねこのマイコン実験室さんの
wiki。とても丁寧な解説があります。
-
EDK。他の.NET Micro Framework対応マイコンボード。これも$50と安い。ただしArduino互換ではありません。
-
Interface 2009年12月号の記事「.NET Micro Frameworkによるネットワーク端末の製作」
- Twitter 中の人
@netduino タグ
#netduino
-
C# によるプログラミング入門
-
改訂版 C#入門
雑感
なんといってもC#を使えるのがいいです。マルチスレッドとかstringクラスとか使えちゃいます。なんとカベージコレクタまでいます。もっともガベージコレクタが動くとやたら時間がかかります。netduinoにも含まれているかどうか分かりませんが、.NET Micro Framework自体はグラフィックスやTCP/IPのプロトコルスタックもサポートしているらしいです。
.NET Frameworkは、色々な言語を中間言語(IL)にコンパイルして、ILを実行します。ILを直接動かせるCPUはないのでJITでネイティブコードに落として実行したり、インタプリタで実行したりします。PCの場合はJITなので速度的に不利な点はあまりないのですが、.NET Micro Frameworkだとインタプリタ方式なので、かなり遅くなります。
また、.NET Micro Frameworkでは開発言語としてC#のみをサポートしているようです(要確認)。VBとかC++とかでも開発できるようになってほしいところです。後はネイティブコンパイラかな。
Arduinoと較べると、デバッグができるのが一番うれしいです。エミュレータもあります。複雑なロジックなんかはPC上でC#で作っちゃうなんてこともできます。
プロトタイピングということだと、netduinoで試作品を作ったものを他の環境(製品とか)に持っていこうとすると、.NET Micro Frameworkそのものの移植も作業に含まれるので結構たいへんそうです。Arduinoの場合だと、スケッチを書き込んだATMega328を抜いて他の環境に挿してしまえば、それで終わりです。もっともこれだけ安いと他の環境にもっていかずにそのまま組み込んで使ってもいいくらいです。
Arduinoと違う点で注意しないといけないのは、I/Oの電圧と最大流せる電流です。netduinoはかなり少ないみたいです(後で調べる、netduino固有な点)。
.NET Micro Framework自体の移植もporting kitを使うことで行えます。STBeeだとぎりぎり載せれます。
スイッチサイエンスさんで、発売記念価格で限定40セット売り出したところ、次の日には売り切れてました。ちょこっと試してみるにはお手ごろな感じです。
とにかく、これからが楽しみなデバイスです。
特に1社ではなく複数の会社からボードが出てきているあたりは期待が持てます。
モニターということで、このような楽しいデバイスで遊ぶ機会をくださったスイッチサイエンスさんに感謝いたします。
8/25 追記 NETMFProjectsと.NET Micro Framework Wikiを追加。C#入門関連を追加。
8/28 追記 ひとりぶろぐさんを追加