// SSH接続 自律化
有線Ethernetで、ロボットとの距離が縮まった
USB-C Ethernetケーブル1本で、SSH接続が完全に自動化された。再起動後もモニターもキーボードも不要になった。下のパネルを選んで詳細を確認する。
// 接続構成(LOG131確定)
MacBook Pro
192.168.2.2 (en8)
有線 Ethernet
Raspberry Pi
192.168.2.1 (eth0)
シリアル通信
mechArm 270
/dev/ttyAMA0
01
接続設定
IPアドレスと
永続化の詳細
→
02
Before / After
何が変わったか
→
03
自動ループ
paramiko実行の流れ
→
↑
パネルを選択してください
接続設定の詳細
IP / 永続化
Mac側
192.168.2.2
en8(USB-C Ethernetアダプタ)
networksetupで永続設定
Pi側
192.168.2.1
eth0
netplan + rc.localで永続化
wlan0(10.42.0.1)も継続
解決した問題
rc.local -e オプション
can0がない行でエラー → eth0 upに届かず。#!/bin/sh -e を #!/bin/sh に変更で解決
SSHコマンド
有線接続
ssh ubuntu@192.168.2.1
-i ~/.ssh/id_rsa_pi
再起動後も自動で接続可能
何が変わったか
Before / After
Before(LOG130まで)
WiFi接続(ElephantRobotics_AP)必須
切断時にモニターが必要
有線キーボードが必要
マウスが必要
手動でスクリプトを実行
After(LOG131〜)
Ethernetケーブル1本
再起動後も自動接続
モニター不要
キーボード不要
SSH自動実行(paramiko)
自動ループの流れ
paramiko実装
01
SFTPで
pick_and_place_fixed.py
をPiの
~/
に転送
02
python3 ~/pick_and_place_fixed.py
をSSH経由で実行
03
終了コードを取得 →
0 = success
/ 非0 = fail として判定
04
10秒待機後、iPhoneカメラのROI輝度でブロック配置を判定
05
結果を
r2r2r_log.csv
に記録 → 最大3回リトライ