ホーム -> Python -> Python APIの解説 ->探す
ホーム -> Python -> Python APIの解説 ->探す
1. TrainScanner(スマートトレインを探す)
このクラスは、 Bluetoothでスマートトレインを見つけて接続するためのものです。
【インポートのしかた】
from intelino.trainlib import TrainScanner
これをコードの最初に書くことで、TrainScanner を使えるようになります。
【クラスの初期設定(作成)】
TrainScanner(device_identifier=None, timeout=5.0)
この部分は「どういう条件でスマートトレインを探すか」を指定します。
・device_identifier: 接続したいスマートトレインの Bluetooth MACアドレス または UUID。
省略すると、最初に見つかったスマートトレインと接続されます。
・timeout: スマートレインを探す時間(秒)。見つからなければタイムアウトします(初期値は5秒)。
【スマートトレイン1台と接続する基本的な使い方】
with TrainScanner() as train:
train.drive_at_speed(40)
・with を使うと、自動で接続 → 終わったら自動で切断。初心者でも安全に使える書き方です。
【複数のスマートトレインと接続したい場合】
trains = TrainScanner(timeout=3.0).get_trains(count=2)
for train in trains:
train.drive_at_speed(40)
複数台のスマートトレインを同時に探して接続します。get_trains(2) のように「何台つなぐか」を指定できます。
【その他の機能(メソッド)】
get_train()
train = TrainScanner().get_train()
1台のスマートトレインに接続します。
with を使わない書き方。切断処理は自分で行う必要があります。
接続できなかった場合は TrainNotFoundError が発生します。
get_trains()
trains = TrainScanner().get_trains(count=2)
複数台をまとめて接続する方法です。
count=2 → 必ず2台見つけて接続する
at_most=2 → 最大2台まで接続できればOK(1台でもよい)
【よくある使い分け】
とりあえず1台つなぎたい:with TrainScanner()
自分で切断も管理したい:get_train()
複数台つなぎたい:get_trains()
【例】
# すべてのスマートトレインに接続(5秒間スキャンを続ける)
trains = TrainScanner(timeout=5.0).get_trains()
# ちょうど2台のスマートトレインに接続(最大3秒まで待つ)
trains = TrainScanner(timeout=3.0).get_trains(count=2)
# 最大4台までのスマートトレインに接続(10秒間スキャンする)
trains = TrainScanner(timeout=10.0).get_trains(at_most=4)