6

少し前に、Debianを実行する新しいシングルボードコンピュータを手に入れました。これは、最終的には学校でのプロジェクトの「心臓部」になります。

現在、有線ネットワークとsshを使用してオンボードディストリビューションにアクセスしています。これは、デスクトップ上にある限りは問題ありませんが、ロボットに組み込まれている場合は問題ありません。安価なUSB-BTアダプターを使用してBluetooth接続を確立することができましたが、今ではrfcommデバイスで立ち往生しており、続行する方法がわかりません。

私が最も望んでいるのは、Bluetooth接続によって提供される仮想シリアルポートを実際のシリアルポートと同じように動作させることです。minicom(または同様のもの)を使用してログインし、ボード上のすべてに完全にアクセスできるようにします。

Webを検索したときに見つけたのは、携帯電話や同様のトピックを使用してダイヤルアップネットワークを設定する方法についてのガイドだけでしたが、Bluetoothコンソールについては何も見つかりませんでした。たぶん私は間違ったキーワードを試しただけです。

これを行う方法についてのヒントをいただければ幸いです。

ありがとう、フィリップ

4

2 に答える 2

9

実行可能な解決策を見つけたと思います。欠落しているキーワードは、「getty」と、シェル スクリプトのいくつかのグルー ロジックでした。

#!/bin/sh

# Make sure to have rfcomm loaded
modprobe rfcomm

# Turn on and reset bluetooth dongle
hciconfig hci0 up
hciconfig hci0 reset

# Accept incoming connections (in background)
rfcomm watch 0 1 &

# Loop forever
while true
do
  # Wait for our socket to pop in
  while [ ! -c /dev/rfcomm0 ]
  do
    sleep 5
  done

  # Present a login shell
  getty -n -l /bin/bash 115200 /dev/rfcomm0 vt102
done

あまり安定していないように見えるので(起動後に接続できないこともあります...)、あまり自信がありませんが、高速に動作し、比較的簡単です。だから私はそれに満足しています:)

よろしく、フィリップ

于 2012-04-04T23:05:12.660 に答える
2

PC とロボット (ビーグルボーン ブラック) の間に Bluetooth シリアル リンクがあります。リモート端末を取得するために、ロボット側に安価な Bluetooth USB ドングルしか必要ないので、非常に満足しています。私のPCにもBluetoothがあります。

以下の手順は私にとってはうまくいきました:

まず、デバイスをペアリングする必要があります。ペアリングは比較的簡単です。クライアント(話し始める人 - ロボット)とサーバー(返信する人)を呼び出します

前にサーバーをセットアップする必要があります: サーバー側 (ルートとして):

sdptool add --channel=3 SP
mknod -m 666 /dev/rfcomm0 c 216 0
rfcomm watch /dev/rfcomm0 3 /sbin/agetty rfcomm0 115200 linux

クライアント側 (ルートとして):

sdptool add --channel=3 SP
rfcomm connect /dev/rfcomm0 [SERVER_ADDR] 3

クライアントでシリアル端末を開くには、次のようにします。

screen /dev/rfcomm0 115200

コメント:

クライアントで最後のコマンド rfcomm connect... を呼び出すと、デバイス /dev/rfcomm0 が作成され、サーバー /dev/recomm0 に関連付けられます。これは、両方の間のシリアル リンクを表します。

最後のサーバー コマンド: rfcomm watch.... は、着信接続を「リッスン」します。接続が失われると、コマンドは新しい「リッスン」状態を再開します。

于 2014-09-03T23:35:12.590 に答える