2009-07-09 3 views
7

私はしばらくの間、デスクトッププログラミングを行ってきましたが、ハードウェアとのインタフェースから始めたいと思っています。具体的には、シリアルポートを使用して外部イベントを取得し、アプリケーションに警告する方法を学びたいと思います(たとえば、外部センサーによって動きが検出されたときにカメラをオンにすることができます)。 開始方法、センサーの種類、利用可能な書籍(またはオンラインリソース)を教えてください。私はBingとGoogleを試しましたが、私はより多くの指針が必要です。ハードウェアインターフェイスプログラミングを始めるには?

答えて

0

オンラインの古いモデムやcraigslistが適切な場合は、こちらをご覧ください。これらのシリアル通信仕様は、かなりよく文書化されています。

その後、私はあなたが興味を持っていることを調査し始めます。あなたのプロジェクトへの関心は、IMOよりも学習と進歩を促進します。

私はこのサイトがしようとするためにいくつかの楽しいことがあると思います

http://blogs.msdn.com/coding4fun/

0

私はまだハードウェア・インタフェースをプログラムしていませんが、私はこの本を考えるブックにLinux Device Drivers 3rd Edition

をあなたをお勧めしますハッキングを開始する準備が整います。

1

本当にフリーサイズ、このためのヒントがたくさんありません。あなたのデバイスのドキュメントを見る必要があるでしょう、それはシリアルポート経由で送信するもののプロトコルとあなたが返すことができるコマンドを指定する必要があります。

ASCIIまたはUTF8のようなテキストエンコーディングを持つことの意味を理解していることを確認してください。ほとんどの場合、テキストを送信するデバイスはASCIIエンコーディングを使用します。

使用しているOSや言語はわかりませんが、生のバイナリデータをシリアルポート経由で送信していることに注意してください。たとえば、C#を使用している場合はシリアルStreamWriterまたはStreamReaderを使用して、適切なテキストエンコーディングでポートデータストリームを作成します。

0

シリアルポートを使用する方法を学びたい場合は、ハイパーターミナル(Windowsでは無料)を備えた別のPCを入手し、シリアルポート経由で開発マシンからデータを送受信するために使用します。これにより、開発ボックスに送信される内容を非常に手動で制御できるため、読んでいるものと書き込んでいるものが正しいことを確信できます。シリアルI/Oの基本を理解したら、カメラ/モーションセンサー/などに進むことができます。

使用しているOSや開発環境については言及していませんが、VS 2005/.NET 2.0では実際にはSerialPortクラスがあります。未処理のWindows APIを使用している場合は、MSDNには基本が記載されたhttp://msdn.microsoft.com/en-us/library/ms810467.aspxという記事があります。あなたが別のOSを使用しているなら、私はあまり知られていません(私は知っている、私の上にうそをつく)。

最も重要なことは、接続の両側で通信パラメータを同じに設定することだけです。ボーレート、バイト当たりのビット数(通常8)、パリティビット(偶数パリティ、奇数パリティ、なし、または常に1または0)、ストップビットの4つのパラメータが相互に理解できるかどうかを制御します。ハイパーターミナルには「フロー制御」オプションも表示されますので、快適になるまで「なし」に設定することをお勧めします。 Xon/Xoffフロー制御は、バッファリングされたデータを処理している間、もう一方の側を一時停止させるためのかなり一般的な方法です。

0

マイクロコントローラを購入して、シンプルなロボット、cncミルなどを構築します。 Atmel AVRおよび/またはPICは、私が理解していることから最も一般的です。

はまた、エレクトロニクス多くの経験を与える

2

シリアル・インターフェースを作成すると処理がかなり簡単です。しかし、相手側には何らかのデコーダが必要です(UARTなど)。もう1つのオプションはparellel portです。パラレルポートを使用する利点は、I/Oピンから脱出することです。典型的には、8つのデバイスを非常にシンプルなインターフェースで制御することができます。

ほとんどのプラットフォームは、あまりにも多くの労力をかけずにLPTポートにアクセスする簡単な方法を提供しましたが、やはり簡単にインターフェイスできます。チュートリアル用

クイック結果...

LPTポート情報...

+0

コンピュータは、最近のパラレルポートを持っていません。彼らは? – atiyar

+0

ほとんどの人はこの投稿を7歳で使っていますが、あなたは 'USB to LPT'デバイスでこれらのパターンを引き続き使用できます。今のところ、LPTなしでこれを行うための何百ものオプションがあります。 https://www.amazon.com/s/?field-keywords=usb+gpio+module –