R2P2 (PicoRuby) のインストール&動作確認

6 minute read

今日は RubyKaigi 2024 follow up に参加。PicoRuby のセッション にインスパイアーされて Raspberry Pi Pico に R2P2 をインストールしました。

GitHub の R2P2 のリリースから *.uf2.zip をダウンロード。

今日時点の最新の https://github.com/picoruby/R2P2/releases/download/0.2.1/R2P2-FLASH_MSC-0.2.1-20240209-5145384.uf2.zip をダウンロード。

Raspberry Pi Pico をマシンに接続。

ファイルを開くと展開されるので、ダウンロードフォルダにある R2P2-FLASH_MSC-0.2.1-20240209-5145384.uf2 を Raspberry Pi Pico にドラッグ&ドロップするとインストール完了。

これが本当に楽。すごすぎる。micro:bitやMicroPythonがこの仕組みなのですが、本当に楽。uf2のドキュメントとかとても少ないのに実装してくださって、感謝。本当に楽。

あとはRaspberry Pi Picoとシリアル通信できればOKなのですが、最近はscreenではなくtmuxを使っているため、macOSでシリアル通信をする方法を調査。picocomが良さそうなのでインストール。

brew install picocom

私の環境では /dev/tty.usbmodem1234567890121 がシリアル通信のデバイスだったので以下で接続。オプションなしで接続できるのはありがたい。

picocom /dev/tty.usbmodem1234567890121
# (以下、実行結果)
# picocom v3.1
#
# port is        : /dev/tty.usbmodem1234567890121
# flowcontrol    : none
# baudrate is    : 9600
# parity is      : none
# databits are   : 8
# stopbits are   : 1
# escape is      : C-a
# local echo is  : no
# noinit is      : no
# noreset is     : no
# hangup is      : no
# nolock is      : no
# send_cmd is    : sz -vv
# receive_cmd is : rz -vv -E
# imap is        :
# omap is        :
# emap is        : crcrlf,delbs,
# logfile is     : none
# initstring     : none
# exit_after is  : not set
# exit is        : no
#
# Type [C-a] [C-h] to see available commands
# Terminal ready
# Starting shell...
#
#
#                    ____  _           ____        _
#                   |  _ \(_) ___ ___ |  _ \ _   _| |,_  _   _
#                   | |_) | |/ __/ _ \| |_) | | | | '_ \| | | |
#                   |  __/| | (_| (_) |  _ <| |_| | |_) | |_| |
#                   |_|   |_|\___\___/|_| \_\\__,_|_.__/ \__, |
#                                  by hasumikin          |___/
#
# $>

動作確認はこんな感じ。irbが動くのは本当にすごい。入力、解析、実行のループをRaspberry Pi Pico上で行っているのですよね。本当にすごい。

$> irb
irb> puts "hello, world"
hello, world
=> nil
irb> exit
$> exit
bye (RuntimeError)
Rebooting

FATAL: read from port failed: Device not configured
term_exitfunc: reset failed for dev UNKNOWN: No such file or directory

以上、R2P2のインストール&動作確認でした。

余談

R2P2 インストール済みの Raspberry Pi Pico を持ち歩きたいので、いい感じのケースがないか物色中。

Raspberry Pi Pico Dule-SidedProtection用の防塵クリアアクリル保護ケース これが良いのですが、値段が高い。100円ショップでそれっぽいケースを探す予定。

あと、 はんだ付けなしでピンソケットをRaspberry pi picoにたてる というのも試したい。このあとセリアでテグスを探そう。

協力者の募集

スモウルビー (GitHub) の開発にご協力いただける方を常に募集しています。

ご協力いただける方は、 contact@smalruby.jp までご連絡いただいてもいいですし、連絡なしで「xxx のブロックに対応しました」というPRを作成してもらってもかまいません。むしろその方が好都合です。

また、 拙著:小学生から楽しむ きらきらRubyプログラミング をご購入いただけるとありがたいです。スモウルビーの使い方と教え方を学ぶことができる書籍です。特に小・中学校の先生に読んでいただきたいです。
小学生から楽しむ きらきらRubyプログラミング

日本中の小・中学生が学校の授業や地域のプログラミング教室でスモウルビーを使っています。みなさんのご協力で、たくさんの子どもたちがハッピーになります。ご協力、よろしくお願いします。