
ではLinux
使用できますか?地元のシリアルポート?これに似たもの:
ssh user@localhost
これを試しましたが、うまくいきませRaspbian
ん(私のシェルに入れる必要がありますが、うまくいきません)。
microcom -d /dev/ttyAMA0
私も/dev/ttyS0
これを試しましたが、成功しませんでした。
もちろん、Raspberry Pi
シリアルコンソールからアクセスすることもできます。その他マシン。
この質問に対する具体的なユースケースはありません。シリアルが実際にどのように機能するのか理解できません。 localhostに接続できる場合、ssh
シリアルポートも利用可能である必要はありませんか?
答え1
マイクロコントローラが互いに通信するために一般的に使用する双方向2線通信プロトコル(通常、2つのデバイス間でテキストを転送するため)を参照しているようです。これはほとんどの人が意味するものserial
ですが、さまざまなシリアルプロトコルがあります。
/dev/ttyAMA0
Raspberry PiのUARTシリアルポートデバイスです。このデバイスファイルは、Raspberry Piヘッダーのrx(10)ピンとtx(8)ピンを制御します。すべてのプログラムはシリアルポートを開いてデータを読み書きできますが、何も追加しないと送信されたすべてのデータが失われ、データは再送信されません。
/dev/ttyACM0
ほとんどのRaspberry Pi Linuxディストリビューションには、ログインプロンプトとシェルを提供するプログラムであるgettyリスナーがあります。開始すると、minicom
gettyは/dev/ttyAMA0
txピンからデータを送信し、rxピンからデータを受け取ります。リンクされたアイテムがある場合、リンクされたすべてのアイテムは難読化されます。
シリアルデバイスが有用なタスクを実行するには、シリアルデバイスと通信する必要があります。次のいずれかを取得すると、コンピュータと通信できます。USB-UARTアダプタrxをtxピンに、txをrxピンに、gndピンをgndに接続し、コンピュータに接続します。接続すると、コンピュータ(ほとんどのLinuxディストリビューション)にシリアルデバイスが作成され、送信されたすべてのデータがpi/dev/ttyUSB0
に表示され、piから送信されたすべてのデータがPCに表示されます。/dev/ttyAMA0
/dev/ttyAMA0
piにすでにgetty listeningがあると仮定すると、コンピュータで実行するか、同様のプログラムを実行するだけでログインプロンプトが表示されminicom
ます(Enterを数回押す必要があるかもしれません)。もちろん、gettyを停止してシリアルラインと通信できる他のプログラムを実行することもできます。
答え2
localhostへのSSH接続を開くと、2つのエンドポイントを持つ接続が作成されます。そのうちの1つはサーバー、1つはクライアントです。一人の人が送ったら、他の人は受け取り、その逆の場合も同じです。 SSHでは、接続はTCPを介して行われ、エンドポイントはIPアドレスとTCPポートによって識別されます。ネットワーク接続はほとんどソフトウェアで実装されているため、単純なので、デフォルトで新しいTCPポートを開く番号を決定するだけです。ハードウェアであるシリアルポートの場合はそうではありません。
シリアルポートを介して有用な双方向通信を得るには、2つのエンドポイント、すなわち2つのシリアルポートが必要である。互いに接続すると、一方の側でサーバー(例:)を実行し、getty
もう一方の側でクライアント(例:)を実行できます。minicom
同じシステムにあるのか、それとも2つの別々のシステムにあるのかは重要ではありません。ただし、ハードウェアなので、実際のワイヤを接続する必要があります。
通常、コンピュータ内でデータを移動するより高速な方法があるため、2つのデバイス間でケーブルを引きます。ただし、1つのシステム上の2つのシリアルポート間のシリアル接続の確立を妨げることはありません。
シリアルポートが1つしかない場合、最善の方法は送信ラインを受信ラインに接続することですが、この場合、ポートを使用するプログラムは独自の出力をポートへの入力として扱います。これは通信にはあまり役に立ちませんが、テストには役立ちます。