こんにちは、今回は シリアル通信でやくだつ cu コマンドについて紹介したいと思います。
端末間の通信にはいろいろな方式がありますが、その中にはシリアル通信と呼ばれるものがあります。シリアル通信ではケーブルや Bluetooth などを用いて少量のデータを送ります。
※シリアル通信を実現する方法をここでは解説しません。Bluetooth を用いた方法をいかにリンクしておきます。
シリアル通信が確立した際は、以下のように、/dev 配下に port と呼ばれるファイルのようなものが生成されます。このport を通じて通信結果を受け取ることができます。
この情報を受け取る方法はいろいろありますが、その中でも簡単にshell 上で行うことができるのが、cu コマンドです。
cuコマンドの例をいかに示します。
sudo cu -s 115200 -l /dev/tty.ESP32_chip-ESP32_SPP_SE
- "-s" は 転送速度を表しており、例は115200 bps です。
- "-l" は接続先のport を表しています。
出力としては、シリアル通信で受け取った文字列が列挙されます。
おすすめの使い方。
シリアル通信の結果何かアクションをしたい場合があったとします。(例えば、bluetooth で通知を受け取ってアプリを起動したいなど)このような場合、シリアル通信で受け取った結果を容易に使えるようにする必要があります。
このために、様々な言語で色々な仕組みが存在しますが、汎用的に使える方法として、一度ファイルに保存してから、その他の言語で利用するというものをおすすめします。
以下のように、適当なファイルに出力して、そのファイルをそれ以外のアプリケーションから参照するというものです。
sudo cu -s 115200 -l /dev/tty.ESP32_chip-ESP32_SPP_SE > output
このメリットは、インターフェースが単純になるということです。最終的にファイルとなるため、それ以外のアプリケーションでも、ファイルさえ読み込むことができれば、シリアル通信を擬似的に行うことができるということです。