みなさん、こんにちは。
2026年1月となりましたが、MSX Devcon 14の情報通りなら、そろそろMSX0 Tab5のクラウドファンディングが始まるはずですね。
新しい機種の発表は心躍るものですが、まだまだMSX0 Stackでやり残したことがあるのも事実。もう少し何かトライしてみたい。
MSX0 Stackにはディスプレイとキーボードが付いていますが、正直なところ「これでガッツリ開発するのは指と目が……」となってしまいますよね。
「PCからサクッと開発したい。でも自分はLinuxがメイン環境なんだよな」という私と同じような悩みを持つ方のために、今回はUbuntu 22.04からMSX0に接続し、M5Stack用のホールセンサーを動かすまでのプロセスを解説します!
「ホールセンサーって何?何に使うの?」という疑問をお持ちの方は、先に以下の記事を読んでから続きを読むと理解が深まりますよ。
開発環境の準備 – msxtermの導入
WindowsやAndroidには公式の「リモートコントロールパネル」がありますが、残念ながらLinux版はありません。そこで、GitHubで公開されている専用ターミナルソフト「msxterm」を利用します。
msxtermは、Wi-Fi(TCP/IP)やUSB(シリアル)経由でMSX0を操作できる非常に便利なツールです。
Rust環境の構築
Linux版はバイナリが配布されていないため、自分でビルドする必要があります。Rustがインストールされていない場合は、以下のコマンドで導入しましょう。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
※途中でインストール方法を聞かれますが、デフォルトのまま進めてOKです。
インストール後、バージョンが表示されれば準備完了です。
cargo --version
rustc --version
msxtermのインストール
次に、ソースコードを取得してインストールを行います。
git clone https://github.com/akio-se/msxterm.git
cd msxterm
cargo install --path ./
これで、ターミナルから msxterm コマンドが使えるようになります!
MSX0に接続してみる
MSX0をWi-Fiに接続した状態で、IPアドレスを確認してください。準備ができたら、Linuxのターミナルから接続します(ポートはデフォルトで2223です)。
msxterm {MSX0のIPアドレス}:2223
connected. と表示されれば成功です! 一旦動作確認ができたら、以下のコマンドで抜けることができます。
#quit
IoTプログラム(BASIC)を作成する
今回は、M5Stack用のホールセンサーユニットをPort Bに接続し、磁気を検知するプログラムを作ります。
「今さらBASIC?」と思うかもしれませんが、MSX0のIoT拡張コマンドを使えば、センサー値の取得も驚くほど簡単です。以下の内容を、ローカルPC上で HALL_SENSOR.BAS という名前で保存しましょう。
10 SCREEN 0
20 CLS
30 LOCATE 10, 12
40 _IOTGET("device/analog/in", A)
50 B$="hall:"
60 IF A=0 THEN PRINT B$ + STR$(A) ELSE PRINT B$ + " 1"
70 GOTO 30
プログラムのポイント:
_IOTGET("device/analog/in", A)これがMSX0の真骨頂!アナログポートの値を一発で変数 A に代入します。- ホールセンサーは磁気を感知すると 0、それ以外は 4095 を返します。今回は分かりやすく、磁気がないときは 1 と表示するようにしました。
プログラムの転送と実行
ここからが msxterm の本領発揮です。ローカルで作ったファイルをMSX0に転送して実行しましょう。
転送と実行の手順
msxtermで接続した状態で、以下のコマンドを打ちます。
#load ./HALL_SENSOR.BAS
run
※
#loadはmsxterm独自のファイル転送コマンドで、手元のファイルをMSX0のメモリへ流し込めます。./HALL_SENSOR.BASの部分はファイルを保存したパスにあわせて調整してください。
実行すると、MSX0の画面に hall status: 1 と表示されます。磁石をセンサーに近づけてみてください。表示が 0 に変われば成功です! (中断は Ctrl + C )

ファイルの管理(SDカードへの保存など)
MSX0側のSDカードに保存したり、逆にローカルに書き戻したりするコマンドも覚えておくと便利です。
MSX0のSDカードに保存する:
SAVE "HALL_SENSOR.BAS"
SDカード内のファイル一覧を見る:
FILES
MSX0からローカルPCに転送する:
一度 LOAD してから
#save ./HALL_SENSOR.BAS
AI時代のBASICを使ったIoT開発
「BASICなんて書いたことないよ!」という方もご安心を。今の時代、ChatGPTなどの生成AIに「MSX BASICで〜なプログラムを書いて」と頼めば、かなりの精度でコードを出してくれます。
_IOTGET などのMSX0専用コマンドはAIが知らないこともあるので、そこだけ今回のように少し手直ししてあげれば、開発効率は劇的に上がります。
Linuxという使い慣れた環境から、MSX0というレトロモダンなデバイスを操る。この少し不思議で楽しいIoT開発体験を、ぜひみなさんも味わってみてください!
本日も最後までお読みいただきありがとうございました。
それでは、よいIoTライフを!




ピンバック: MSXで空気質を可視化!SGP30ガスセンサーをMSX0で使う方法 - ビューローみかみ