はじめに
8ビットCPUやマイクロコントローラで動作するUNIX風OSにFuzixがあります。
マイクロコントローラの例では、Raspberry pi picoでの動作で有名ですが、ESP8266でも動作することが知られています。ESP8266での動作では、ルートファイルシステムをSDカード上に保存するので、ESP8266とSPI接続可能なSDカードスロットが必要となります。
実験用だと、ブレッドボード上での配線や空中配線で対応可能ですが、展示の場合、ESP8266とSPI接続可能なSDカードスロットが搭載されている基板があれば、便利です。
Arduino用のシールドのうち、ESP-WROOM-R2を搭載したシールドとSDカードスロットを搭載したシールドを積み重ねることを思いつきましたが、大げさなシステムになりそうです。
色々調べていると、2016年にWA-MIKANとよばれる、ESP-WROOM-R2とSPI接続可能なSDカードスロットが搭載されている基板を見つけました。
WA-MIKANを使ってESP8266用Fuzixの動作環境を構築します。
本稿の内容は、2024年1月27日に開催された「OSC2024大阪」の「受光犬&浜ふぁぐ」共同展示ブースでの展示内容を含んでいます。
環境設定
WA-MIKANはGR-CITRUSの通信用ボードとして開発され、GR-CITRUSの取得したデータをSDカードに保存することが可能です。
ESP-WROOM-R2のSPIとSDカードスロットとの間が接続されていないので、WA-MIKANのマニュアルに従って、ジャンパを接続します。
次に、Fuzixのソースファイルの修正を行います。1点目は、SDカードスロットの設定です。
WA-MIKANでは、以下の様にESP8266とSDカードスロットが接続されています。
MSIOがESP8266のIO12
MISOがESP8266のIO13
CLKがESP8266のIO14
CTSがESP8266のIO3
Fuzixのソースでは、以下の様な接続を想定しています。
NodeMCU pin GPIO pin SD card pin
-----------------------------------------
D5 14 SCK
D6 12 MISO
D7 13 MOSI
D2 4 CS
ソースファイルの該当箇所を修正します。
2点目は、SDカードに保存したルートファイルシステムを使用するように、ソースファイルの該当箇所を修正します。
これらの、修正の詳細は、小江戸らぐさんのLinuxUser2023冬号「FuzixでEthernet」にまとめましたので、詳細は参考にしてください。LinuxUserは、各地で開催されるオープンソースカンファレンスやコミケの「小江戸らぐ」ブースで入手可能です。
Wio terminalの設定は、「PICO-EVA-5500とWio terminalでモバイルFuzixマシン」を参照してください。
以下の配線済み写真では、SDカードを挿入していないので、カーネルパニックの表示が出ています。Wio terminalのGrove端子から、電源、GND、RX、DXが接続されています。
薄茶色の基板がWA-MIKANで、裏側にSDカードスロットがあります。
おわりに
マイクロコントローラで動作するFuzixの動態展示として、ESP-WROOM-R2(ESP8266)とSPI接続のSDカードスロットを用いたモバイルFuzixマシンを紹介しました。
電子工作を趣味にされている方は、ESP-WROOM-R2を複数個所有されているかとおもいます。ぜひ、試してみてください。