Arduino対Netduino

どのマイクロコントローラプラットフォームが上に出るのですか?

Arduinoは人気の爆発を経験し、そのニッチな始まりから予期せぬ主流の視聴者に達しました。 Arduinoは、ハードウェアの実験がこれまで以上にアクセスしやすい時代である、多くの人々が「ハードウェアルネサンス」と呼んでいる最前線の技術です。 ハードウェアは次の革新の波に大きな役割を果たします。 Arduinoはオープンソースのフォームファクタを採用し、機能を拡張した多くのプロジェクトを生み出したほど人気が​​あります。 そのようなプロジェクトの1つは、多くのArduinoシールドとピン互換のマイクロコントローラプラットフォームであるNetduinoですが、.NET Microソフトウェアフレームワークに基づいています。 これらのプラットフォームのどれがハードウェアプロトタイピングの標準となるでしょうか?

C#でのNetduinoでのコーディング

Netduinoプラットフォームの主要なセールスポイントの1つは、Netduinoが採用している堅牢なソフトウェアフレームワークです。 ArduinoはWiring言語を使用し、Arduino IDEはマイクロコントローラの「ベアメタル」に対する高度な制御と可視性を可能にします。 一方、Netduinoは使い慣れた.NETフレームワークを使用しており、プログラマーはMicrosoft Visual Studioを使用してC#で作業することができます。

ArduinoとNetduinoは、マイクロコントローラ開発の世界をプログラマの一般の方々にもっと近づけるように設計されているので、多くのプログラマにはすでによく知られているソフトウェアツールセットの使用が大きなプラスです。 Netduinoのプログラミングは、Arduinoよりも高いレベルの抽象度で動作し、ソフトウェアの世界から移行する人にとって使い慣れた快適なソフトウェア開発機能を提供します。

Netduinoはより強力ですが高価です

一般に、Netduinoの範囲の計算能力はArduinoの計算能力よりも高い。 最大120MHzで動作する32ビットプロセッサを搭載したいくつかのNetduinoモデルと、豊富なRAMとフラッシュメモリを備えているため、NetduinoはArduinoの多くの製品よりもかなり高速です。 単位あたりのNetduinoコストは法外に高価ではありませんが、この追加の電力には大きな値札が付いています。 ただし、Netduinoユニットが必要な場合は、これらのコストがかかります。

Arduinoには多くのサポートライブラリがあります

Arduinoの大きな強みは、大きく活気に満ちた地域社会にあります。 オープンソースプロジェクトには、Arduinoがさまざまなハードウェアやソフトウェアとのインターフェースをとることができるように、大量の有用なコードライブラリを提供している多数の共同作業者が集まっています。 Netduinoを取り巻くコミュニティは成長していますが、サポートが必要な場合はカスタムライブラリを作成する必要があるほど早い段階です。 Arduinoのコードサンプル、チュートリアル、および専門知識も同様に、対応するコードサンプル、チュートリアル、専門知識よりもはるかに進化しています。

プロトタイピング環境としての適合性

プラットフォームを決定する際の非常に重要な考慮事項の1つは、スケーリングされる将来のハードウェア製品のプロトタイプとしてプロジェクトが機能するかどうかです。 Arduinoはこの役割に非常に適しており、少量の作業でArduinoをAtmelのAVRマイクロコントローラーで置き換えて、プロダクションで使用できるプロジェクトを一緒にハンダ付けすることができます。 ハードウェアコストは増分であり、本番稼働のハードウェアのスケーリングに適しています。 同様の手順をNetduinoで行うこともできますが、そのプロセスはあまり簡単ではなく、まったく新しいNetduinoを使用する必要があります。Netduinoは製品のコスト構造を大きく変えます。 ガベージコレクションのようなソフトウェアの実装面積、ハードウェア要件、およびソフトウェア実装の詳細はすべて、Netduinoプラットフォームをハードウェア製品として使用する際に複雑になります。

NetduinoとArduinoはどちらも、ソフトウェアプログラミングから移行したいと思っている人のために、マイクロコントローラ開発の素晴らしい導入を提供しています。 高いレベルで、Netduinoは、特にソフトウェア、C#、.NET、またはVisual Studioのバックグラウンドを持っている場合には、カジュアルな実験のためのより親しみやすいプラットフォームになることができます。 Arduinoは、IDEで少し険しい学習曲線を提供しますが、サポートのためのコミュニティが大きくなり、プロトタイプをプロダクションに取り入れるほうが柔軟性が増します。