Chrombookでシリアル通信
25年度より,データ通信テーマの端末PCとしてChromebook + Linux + Minicom を用いる.
◆緒言
これまでWindows PC + Teartermでシリアル通信接続してきたが,WindowsPCからChromebookに変更する.
※WinPCをやめる理由
1. PCが2016年製で,古くなってきた
2. ブートがそこそこ遅い
3. Windows10のサポート期限がまもなく切れる
4. 実験の途中でUpdateが始まると進行に支障がある.かといってUpdateしないのは不安が残る
※Chromebookにする理由
1. シリアル通信端末にするだけなのでなるべく小さい筐体,軽いOSがよい
2. Chromebookは起動が早い.実験に素早く投入可能
3. Chromebookは定期的にupdateがあるが急にリブートしない
4. Chromebookのサポートは10年間保証
5. ChromebookはLinuxを稼働可能で,CLIの通信コマンド minicom が使える
6. 従来利用のUSB--シリアルケーブルを Linux から利用可能:確認済
◆Chromebook端末のシリアル通信接続手順
1. Chromebookを開く → 自動Power ON
※ロゴが出るまで数秒かかる.慌てずに待つべし
2. アカウント画面:ryu.ele.tusin のPIN → "555555" を入力 → デスクトップが開く
3. 'Terminal'( ツールバー左端 )https://gyazo.com/01deba74cf4ce16b239aed3aa67e40f8を起動 → "penguin" を選択
4. USBリアルケーブルをUSBコネクタに接続:左右どちらでもよい
5. プロンプトで $ minicom と入力 → 通信がはじまる
※minicomが起動しても,通信条件が合っているかは不明.以下で設定が必要.
◆Minicomの設定変更
minicomの内部コマンドは "Ctrl+A → 1文字" でメニューが起動する
Ctrl+A, Z → 全体メニュ-
Ctrl+A, P → シリアル設定メニュー
Ctrl+A, X → 終了メニュー
上の3つを覚えれば十分
シリアル設定メニューでの操作 → いろいろやってみるべし
設定が必要なのは Speed, Parity, Data
Speed: A~E:Aでスピードアップ,Bでダウン
Parity:L~P
Data:S~V
その他:Q → 8N1を一括で,R → 7E1を一括設定
https://gyazo.com/01bbb958a598b205372f0916c52d2238
変更したらEnter → ログイン画面がでれば正解!
★シリアルケーブルを繋ぎ変える時:logout すれば,サーバもminicomのそのままでOK
終了時: サーバで sudo shutdown -h now → Minicom を終了:Ctrl+A, X
◆Linuxの終了とChromebookの終了
Linuxの終了:$ exit コマンドでOK → ターミナルウィンドウが残るので右上✕アイコンで閉じる
Chromebookの終了:本体側面の電源ボタン長押し → 画面が消えるまで
※以下は参考資料
◆予備実験から初期設定まで
以下は,Chrombookでの接続ができるまでの記録および各種設定のメモ.
◎アカウント
Chromebookの初期設定にはGoogleアカウントが必要
通信実験用アカウントを作成:ID= ryu.ele.tusin@gmail.com PASS= jikken100%
Cbのローカルパス:jikkentusin
CbのPIN:555555
※一度設定すると他のCbでも同じアカウントで勝手にある程度設定してくれる
◎ログイン後にまずやること
WiFiに接続 → 最後にOFF
BT OFF,音 OFF,通知全部 OFF
壁紙 → 単色に:ひとつずつ変更する
OS Update最新版に → その後Linuxインストール
ツールバーには "Terminal"と"Chrome"だけ
◎Linux on ChromOS
ID: tusin ← 各PCで変えたいがいい名前が思い浮かばん
PASS: なしで自動ログイン
★ツール類:インストールはminicomのみ
$ sudo apt update ; sudo apt upgrade -y ; sudo apt install minicom -y
★minicomの設定
$ sudo minicom -s
で設定画面に.
Serial設定 → デバイス: /dev/ttyUSB0
→ 通信条件:300 6N1
表示設定 → 行のラッピング(R):ON
→ "dfl"(defaultのことでしょ)で保存
★シリアルケーブルをLinuxに認識させる
USBシリアルケーブルを2種類とも順に挿入
「つなぐか?」ダイアログがでるので「Linuxに接続」を選択
※もう一つの選択肢 Android ← これを選ばないこと
もしダイアログがひっこんでしまったら →
設定 > ChromeOS > Linux環境 > USBデバイス
これを表示させておいて挿入 → 認識したらON
★ロケール
※ログイン後のサーバ言語が ja_JP.UTF-8 なので,一応合わせる.
$ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
$ source /etc/default/locale
↑↑ はログイン時に自動よみこみされない様子 → ~/.bashrcの末行に追加しておく
やってみたが,さほど大きな意味はないような……はて,8bitの通信ではどうなるか……
端末から日本語を入力する際に必要か?とおもいきや,en_US.UTF-8 でも日本語入力はできたのだ……よくわからん.
★ホスト名(Linux上の):terminal00~terminal05
ホスト名はやはり別にする方がよいだろうと思い,変更.
$ sudo hostnamectl set-hostname terminalXX
$ sudo vi /etc/hosts → 127.0.1.1 にterminalXX を追加
※これで一応PCを識別できる……かな~
意外とやることあるじゃん.アプリは放置.
◎最後に
WiFi を OFFする.
以上.
2024/12/10 ryueletusin1!