Bluetoothシリアルポートがあり、それに接続しようとしています。そうです:
sudo rfcomm bind 13 00:0A:3A:26:4A:86
そしてそれは成功するようです。私はそれにアクセスしようとします:
>>> f=file('/dev/rfcomm13','rw')
>>> f.close()
>>> f=file('/dev/rfcomm13','rw')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 16] Device or resource busy: '/dev/rfcomm13'
これは一貫しているようです-一度開くことができますが、その後はバインドを解除して再バインドするまで「ビジー」です。Python でこれを行うと、エラーが最も明確に表示されますが、どこでも発生するようです。
close syscall がいくつかの重要なリソースをクリーンアップしていないようです。ドライバのソースをざっと見てみると、おそらく dlci チャネルかそれに似たものですが、それらが何であるかについてはかなりあいまいです。
バインドごとに複数回接続を開く方法はありますか?
ありがとう