はじめに
8ビットCPUやマイクロコントローラで動作するUNIX風OSにFuzixがあります。
イベント展示でFuzixの動作するRaspberry pi picoにUSB-TTLシリアル変換アダプターモジュール経由でノートパソコンに接続した場合、ノートパソコンが目立ち、肝心のFuzixの動作するマシンに目がいきません。Raspberry pi picoにも目に行くように、同程度の大きさのシリアル端末を用意しました。
本稿の内容は、2024年1月27日に開催された「OSC2024大阪」の展示内容を含んでいます。
以下の様な展示を、共同展示の「受光犬&浜ふぁぐ」ブースで行いました。
小さなVT100シリアル端末
LCDとマイクロコントローラでVT100を実現するプロジェクトを調べてみると以下のものが、ありました。
・VT100 Terminal for HC2018
ESP8266とILI9488のLCDとから作製。
・VT100 Terminal Emulator for Arduino STM32
Arduino STM32 用の VT100 エミュレータ。ILI9341のLCDに表示。
・VT100 Emulator
ATMegaのMCUと ili9340のLCDとから作製。
・Cheap Serial Terminal
ESP8266とILI9340のLCDとから作製。
・FabGL/examples/ILI9341_TFT/240x320/
ESP32とILI9341とから作製
・Simple terminal out
ArduinoとILI9341のLCDとから作製
・mkschreder/avr-vt100
ATMegaAVRとili9340のLCDから作製
・VT100 Terminal Emulator for Wio Terminal
Wio Terminalから作製
手元にWioterminalがあったことと、LCDとマイクロコントローラが一体形になるので、「VT100 Terminal Emulator for Wio Terminal」を利用することとしました。
環境構築
Fuzixの環境として、Ethernet接続可能な「W5500-EVB-Pico」を使用しました。このボードには、Raspberry pi picoのMCUのRP2040とTCP/IPコントローラのW5500が搭載されています。
Ethernetへの接続に対応したRaspberry pi pico上のFuzixは、小江戸らぐさんのLinuxUser2023冬号「FuzixでEthernet」にまとめましたので、詳細は参考にしてください。
LinuxUserは、各地で開催されるオープンソースカンファレンスやコミケの「小江戸らぐ」ブースで入手可能です。
Raspberry pi pico用のFuzixでは、以下のFuzixのリポジトリをgitcloneします。
コマンドプロンプトで「make TARGET=rpipico」とすると、開発環境のダウンロードからビルドまで進みます。生成した「fuzix.uf2」と「filesystem.uf2」をRaspberry pi picoに書き込むと、Fuzixが起動します。
Wio terminalの方の準備は、以下の様に行います。
のリポジトリをgitcloneあるいはダウンロードします。
「vt100_wt」をArduino IDEが参照するホルダーにコピーしてから、Arduino IDEでコンパイルと書き込みを行います。
最後に、配線です。
「W5500-EVB-Pico」と「Wio terminal」で使用するピンを表に示します。
W5500-EVB-Pico | Wio Terminal |
---|---|
GP0(UART0 TX) | RXD0 |
GP1(UART0 RX) | TXD0 |
GND | GND |
「W5500-EVB-Pico」の「GP0」と「Wio terminal」の「RXD0」、「W5500-EVB-Pico」の「GP1」と「Wio terminal」の「TXD0」、GND同士を接続します。
USBキーボードをUSB-OTGケーブルを介してWio TerminalのUSB-C端子に接続すると完成です。
以下に、完成後の写真を示します。Wio terminalのGrove端子からの配線が、PICOの電源、GND、RX、DXに接続されています。
おわりに
省スペースのFuzixの動態展示が可能となりました。問題点は、老眼の方にはフォントが小さすぎることです。
Wio terminalのLCD スクリーンは2.4インチなので、5インチや7インチのLCDとMCUが一体になったボードで、シリアルターミナルを用意できればと考えています。