Android+Bluetoothを使ってPC側からテキストの入力を行う
んまぁAndroidのKeyboard APIを使って独自のキーボードを作って、それをBluetoothのRFCOMMを介してPCからAndroidスマートフォン側に入力をさせるというしょうもない事をやってみてる。まぁ実際やったのはかなーり前の話なんですが今更ながらネタにしてみようかと
まぁ入力方式のダイアログを出すとBluetoothKeyboardっていうのが出るようになる
でこれを選択するとAndroidスマートフォン側でRFCOMMポートを開放してくれるので、そこにデータを送ったりしてキーボードに入力させるという仕様方式になっている。なのでPCからはPythonを使ってデータを送る(python-bluezが別途で必要)
接続出来るとこんな感じでメッセージが出る。んでデータ入力なカーソルが保持されるので
んまぁ適当にニャル子さんの言葉でも送っとく。で書いたらEnter。するとスマートフォン側では
んな感じでPCから送信したデータをキーボードでフォーカスがあるテキストボックスとかに送信データがぶちこまれるという感じ
とりあえず今回は(ソース)コードは無しで(あまりにも恐ろしいコードな為に自重)
追記
(適当な)Pythonなクライアントだけとりあえずソースをうp
from bluetooth import find_service, RFCOMM, BluetoothSocket, BluetoothError
host = None
port = 0
for service in find_service():
if service["protocol"] == "RFCOMM" and service["name"] == "RFCOMM Service":
host = service["host"]
port = service["port"]
if host is not None:
sock = BluetoothSocket(RFCOMM)
sock.connect((host, port))
print "Connected: %s:%d" % (host, port)
while True:
data = raw_input("message: ")
if data is not None and len(data) > 0:
try:
sock.send("%sn" % data)
except BluetoothError, e:
break
sock.close()