私はいくつかの楽しいホームホビープロジェクトのためにNetDuinoを買うことを検討しています。
使用したことがありますか?
代わりにArduinoまたはFreeDuinoの範囲(またはまったく異なるもの)を見る必要がありますか?
私はC#の知識のためにNetDuinoに固執することにしましたが、それは要件ではありません。
ありがとう
PS。これがコミュニティWikiに属しているかどうかはわかりません(ガイダンスを歓迎します)。
私はいくつかの楽しいホームホビープロジェクトのためにNetDuinoを買うことを検討しています。
使用したことがありますか?
代わりにArduinoまたはFreeDuinoの範囲(またはまったく異なるもの)を見る必要がありますか?
私はC#の知識のためにNetDuinoに固執することにしましたが、それは要件ではありません。
ありがとう
PS。これがコミュニティWikiに属しているかどうかはわかりません(ガイダンスを歓迎します)。
回答:
私はC#が大好きであり、Visual Studioを使用してC#で開発することの生産性の利点は、Netduinoを支持する非常に強力な要因であると感じています。ここで他の答えが示すように、「C#はマイクロコントローラー/組み込み環境用ではない」ため、Netduinoをプープーしません。
Arduinoと同じようにNetduinoを使用するか、「ベアメタル」に移行し、AVR、PIC、または他のマイクロコントローラーの直接MCU管理を行うことで、非常に楽しいプロジェクトを作成し、さまざまな物理入出力デバイスの接続について多くを学ぶことができます。
それで、私は次の理由でArduinoに固執しています:
したがって、Cのスキルがほこりっぽい、または存在しない場合、C#とVisual Studioが好きで、コストがより大きな問題になる場所にスケールアウトする必要のないいくつかの趣味のプロジェクトに手を加えたいだけなら、Netduinoに行きます。
Cに慣れている場合、またはコードサンプルとコミュニティの助けを借りてCに慣れている場合、そして金属に近づき、最終的にNetduinoとArduinoの「プロトタイプ」アプローチから脱却したい場合は、go Arduinoを開始します。
とにかく、組み込みプラットフォームではC#の知識はほとんど役に立たないので、それを重視しすぎないでください。
.Netが悪魔だからではなく、Arduinoやクローンのいずれかを使用しますが、それは他の誰もが使用しているためです。
一度足を濡らしたら、必ず分岐して別のものを試してください。
現在、Arduino、mbed、そして最後にNetduinoを開発/愛好家向けに使用しています。Arduinoでの作業が好きではなかったのは、おそらくエディターがあまり良くないからであり、私はC#開発者として間違いなく甘やかされています。mbedを受け取ったとき、その開発はずっと良かったのですが、何が起こっているのかを把握するためにprintステートメントを使用する必要があるため、デバッグは依然として苦痛です。
製品を開発しているとき、または単にめちゃくちゃにしているとき、最初はほとんどの時間をデバッグに費やしています...そしてデバッグしているときは、ブレークポイントが必要です。ブレークポイントを一切提供しない組み込みハードウェアに戻るのは非常に困難です。
私はまだJTAGの経験がありませんが、これまで見たすべてのマイクロ(RabbitCoreモジュールを除く)では、ブレークポイントを介したデバッグを許可する必要があります。今日、Netduinoを接続し、VS2010でコードを1ステップ実行できたときの驚きを想像してください!私はこれに非常に満足していました。
個人的には、フットプリントのサイズ、.NETやMicrosoftの悪さなどについては心配しません。デバッグを迅速かつ効率的に行えるようにしたいだけなので、作業を完了できます。
個人的に、私はC#や.NETのファンではありません。私はCルーディットです。そのため、プラットフォームの選択は、必要なハードウェア機能(フラッシュ、RAM、クロック速度、ADCの数、タイマーの数など)を持っていることになります。
そうは言っても、C#/。NETはラピッドプロトタイピングに役立つと想像できます。
もちろん、これにはすべてコストがかかります。
そして何よりも、組み込みプラットフォームでC#のスキルを使用することにより、組み込みデバイスについて何も学習していません。
はい、それは仕事を終わらせます-しかし、その中でどこが楽しいですか?
私はmbedを見つけましたはArduinoのすばらしい代替品であることが。
ソフトウェアライブラリは、より多くのC ++指向であり、代入演算子のオーバーロードのすべての構文糖衣を備えています。さらに、ユーザーがコードライブラリを公開およびドキュメント化できるようにシステムが設定されているため、簡単に検索してプロジェクトにインポートできます。
もう1つの優れた機能は、デバイスをUSBスティックとして扱い、.bin
ファイルをドライブに直接配置する機能です。
残念ながら、IDEはarduinoのIDEに匹敵します。また、オンラインです。これは非常に優れており(どのPCでも使用でき、インストールは不要)、非常に悪い(インターネットに接続せずに簡単に再プログラムすることはできません)。
委員会の費用は60ドルですが、スポンサーシップスキームがあり、進行状況が文書化され、ソースコードが公開されていれば、興味深いプロジェクトに委員会を寄付します。
私は主にC#開発者です。ソースコードが入手できるため、NetduinoではなくArduinoを購入しました。NetduinoをArduino電子ブリックと統合するのは簡単ではありません。サンプルの一部をゼロから書き直す必要があるからです。
「C#は組み込みプラットフォームに適していない」と読んだ場合、特定の年齢以上の人は生涯で少なくとも一度は「C」について、そして再びC ++について言ったことを聞いたことを思い出してください...
もちろん、プロセッサの基本的な機能は途方もなく「無駄」ですが、アイドルループを必要な速度よりも10倍速くするのではなく、必要な速度よりも1000倍速く実行できる機能は、決して豊かになりません。
ベアメタルを感じて、たとえばビデオ信号を直接生成またはキャプチャできるようにしたい場合は、すべてのサイクルが重要であり、AVR / Arduinoがそれを可能にします。高レベルの抽象化、高レベルのプログラミングとデバッグの快適さ、ガベージコレクターが必要な場合、Windowsのようにすべてを制御するわけではないという事実に耐えることができる場合は、NetDuinoまたはFEZ Dominoを選択します。どちらもARMを使用しているため、必要に応じて、ボード上の.NET MFを削除し、小さなJTAGデバッガーの助けを借りてIDEのようなEclipseからベアメタルARM GCCコードを直接フラッシュできると思います。少し調べてください。問題は、JTAGヘッダーが欠落している場合、はんだ付けを行う必要があることです。
エレクトロニクスとプログラミングから非常に長い休みを経て、息子の一人が大学で行っているプロジェクトのために、私はそれに戻ってきました。チューブが標準であり、トグルスイッチ(アドレスの設定、データの設定、ロード、ストア、バイナリ)およびパンチカードを使用したプログラミングのときに電子工学を学びました。長年にわたり、私はそれぞれの電子言語とプログラミング言語の進歩を学び、使用してきましたが、これには多大な労力と時間がかかりました。その結果、マイクロコントローラーの進歩と、Arduino、Netduinoなどの開発ボードを含め、どれほど信じられないほど安価であるかに感謝しています。コマンドライン対GUIとして。結果に適切である限り、どのプラットフォーム、プログラミング言語などが使用されるかは関係ありません。