PR

ubuntuの組み込み開発でつまずいたこと、気づいたことをまとめて紹介

組み込み機器
立プロ

新卒でメーカーに入り、10年間組み込みの現場で設計を行う。
今は個人事業主として自作の組み込み機器開発や、エージェント様に紹介いただき業務委託を行っています。
C,C#,JavaScript, Vue, PHP, VBA, GAS, Kotlinなど、扱う言語が増えゆく日々。

立プロをフォローする

linuxのシリアルポートはCOMxで表さない

マイコンとやり取りする際にシリアル通信を行うことは多いかと思います。

windowsでシリアル通信する際は、COM1のようにCOMポートを指定して通信していました。

一方のlinuxはCOMポートで表現せず、/dev/tty○○のように表現します。

シリアルポートの調べ方

シリアルポートを知るには下記コマンドを入力します。

$ ls -l /dev/serial/by-id/

すると、../../ttyACM0のように返ってきます、このttyACM0がポート名になります。

シリアル通信の実行

シリアル通信を行うにはcu(call up)コマンドを使います。

まずは、インストール

$ sudo apt install cu

そして、実行。

$ cu -l /dev/ttyACM0 -s 115200

ttyACM0部分に通信したいポート名を指定、最後はボーレート(通信速度)を指定します。

この例だと、ttyACM0に115200bpsで接続する、ということになりますね。

接続できると、Connected.と表示されて通信できるようになります。

止める場合は

$ ~.

を入力すればよいです。

-lとか-sのオプション

-lはロケーション指定、-sは通信速度指定に使うオプション。

オプションの次に記載の内容が、その中身となる。

起動時にGUIでなくCUIで立ち上がる

python3.10 -> 3.8にダウングレードしようと、下記コマンドを入力しました。

$ sudo apt-get remove python3.10

処理が進んでいる中しばらくすると、突然画面が真っ暗になり、左上でアンダーバーが点滅。

しばらく放置してもそのまま変わらないので再起動すると、CUIで起動しました。

ctrl+alt+F1でCUI/GUI切り替わります、とかネットで見たが何も起こらない。

よくわからないが、python3.10のアンインストール中にディスプレイマネージャのlightdmが無くなったようだ(そんなことある?。

はじめての状況にパニック。とりあえずユーザー名とパスワードを入力するとコマンド受け付けられる状態になった。

$ startx

これでデスクトップは表示された。

しかし日本語が入力できない、ターミナルが無いなど通常と異なる状態で使い物にならなかった。

どうもデスクトップ環境を再インストールすれば万事解決するらしい。

$ sudo apt install ubuntu-desktop

数MBのインストールになるとのことで、やっぱりファイルが消失しているっぽい。

インストール後、ディスプレイマネージャをdgmかlightdmか選択するよう言われ、lightdmにした。ubuntuはlightdmを採用しているらしい。

しばらくするとカーソルが出て、そのまま動かなかったので再起動。

すると今まで通りGUIで起動し、解決した。removeコマンドがトラウマになりそうだ。

日本語入力できない

上記のGUIログインできなくなった問題の続きでubuntu-desktopをインストールしたら日本語入力できなくなっていた。

いや、画面右上の「A」を「あ」にするだけっしょ、と思うでしょ。そもそもそれが表示されないんですよ。

で、どうしたかというと、設定 -> 地域と言語 ->インストールされている言語の管理をクリックすると、言語パッケージのインストールが始まった。

その後は何も変わらなかったものの、再起動したら言語選択が表示されるようになった。

コメント

タイトルとURLをコピーしました