組み込みLinuxコンピュータを入手したが、Wifi機能が無かった。
我が家のネットワークは無線化されているので、有線LANは無い。
どのようにすれば、開発環境であるホストコンピュータとターゲット機との間でファイルの送受信を行えるか?
環境
ホスト
- MacBook Air (M1, 2020)
- macOS Big Sur 11.3.1
- zsh
- シリアルターミナルソフト: screen
ターゲット
- Armadillo-IoT ゲートウェイ A6 C1モデル(AG6110-C01D0)
- Debian GNU/Linux 10 (buster)
方針
シリアルで使用できるファイル転送プロトコルであるZmodemを使用し、シリアルコンソールを経由してファイル転送する
準備
ホストとターゲットの双方にlrzszをインストールする
ホスト(Mac)側
% brew install lrzsz
ターゲット(Armadillo)側1
$ sudo apt-get install lrzsz
ホストからターゲットへの接続
ホスト(Mac)のターミナルで
zmodemで送信する際のモードを指定しておく
% echo 'zmodem catch' >> ~/.screenrc
screenでターゲットのシリアルコンソールに入る
% screen /dev/tty.[シリアルポート名] 115200
ホストからターゲットにファイルを送る
screen内で Ctrl-aを押した後、: を押して、コマンド実行モードに入る
:exec !! sz [送信したいファイル名]
ターゲットからホストにファイルを送る
screen内(ターゲットのコンソール)で
$ sz [送信したいファイル名]
ホスト側でrzが実行され、ファイルが転送される
$ sz [送信したいファイル名]
rz
:!!! rz -vv -b -E
参考にしたサイト
感想
ターゲット側にrzコマンドが必要なことに気づくのに時間がかかった。
-
apt-getでインストールするのに、ネットワークに繋ぐ必要がある。どうしてもネットワークが用意できない場合は、SDカード経由でlrzszのバイナリをコピーするしかない。。 ↩