黙々とC#

"In a mad world of VBA, only the mad are sane" 『VBAという名の狂った世界で狂っているというのなら私の気は確かだ』

RaspberryPi との邂逅

f:id:d_ymkw:20171129144644j:plain

機材を整理していたら、シングルボードコンピュータのRasberry Pi(以下、ラズパイ)が出てきたので、久しぶりに遊ぶことにした。

以下、OS(Raspian)のインストールから実際に遊んでみるまでの作業記録

目次

ラズパイのファミリー

掘り起こしてきたのは、現行機種のRaspberry Pi3ではなく、初代Raspberry Pi。Pi2だと思いこんでいたのだけど、ブート画面にラズベリーが1コしか表示されないのを見て、初代だと気づいた。

なんだか知らない間に色々増えていたので簡単にまとめると

商品名 位置づけ 概要 CPU 無線LAN,BLE
Raspberry Pi 2 入門機 兄(Pi3)と値段差がないので存在感薄い弟。 ○ 今時っぽい4コア ない
Raspberry Pi 3 上位機 いちばんつよい。 ◎ Pi2よりC速い。 標準搭載
Raspberry Pi Zero IoT向け? 激安。超小さい。 △ 初代Piと同等の1コア ない
Raspberry Pi Zero W IoT向け? 無線付きのZero。 △ 同上 標準搭載

みたいな感じっぽい。細かなVer違いとか詳細なスペックはWikipediaにまとまっている。

なお、初代はディスコンぽい。

今となっては、最廉価機種(1000円くらい)のRaspberry Pi Zero (W)が同性能というあたり、年月の流れが感じられる。

初代でなにか面白いことができそうならZero W追加で買いたいし、Pi3 はふつうに欲しい感ある。(初代の処理速度、ふつうに遅いので)

いつ手に入れたのか分からない4GBのSDカード

このラズパイ、いつセットアップしたのか分からない4GBのSDカードとともに出てきたのだけど、そのままの状態では電源を入れても起動しなかった。

Windows機に、SDアソシエーション公式のSDカードフォーマッタをインストールして、綺麗にフォーマット。

(Raspbian(Linux)のファイルシステム(Ext4?)をWindowsが未サポートのためだと思うのだけど、当初、大着をしてWindowsの標準機能でフォーマットしたところ、容量が数十KBと認識されてしまった。)

で、SDカードにNOOBSを導入。といっても大したことはなく、ダウンロードしたファイルを解凍して、FAT32の領域にまるっとコピーするだけ。

NOOBSの面白いところは、FAT32領域に自身は配置されるにも関わらず、インストール作業の途中で、パーティションを切り直して適宜Raspianで使えるようにフォーマットし直してくれる。実にアクロバティック。

ラズパイをTVボードの中に放り込む

リビングのAVボードの中に突っ込んだ。ちょうど、コンセントとディスプレイ(TV)があるので。

f:id:d_ymkw:20171129144752j:plain

もともと無線ルータを置いていた空間に一緒に配置。

で、ものは試しにルータのUSBポートに接続したところ、電源ランプが点灯したので、HDMI出力をTVに繋いだところ、無事起動した。

※ その後、4GBのSDカードはやめて、32GBのSDカードに変えたところ起動しなくなった。供給電力的にギリギリだった模様。

インストールできないRaspbian

インストーラの画面が表示されて、Raspbianにチェックを入れたのだけど、そこから先に進む方法がわからず。

しばらく途方に暮れたのだけど、よくよく画面を見ると、

(4GBのSDカードでは)容量不足でインストール不可だった。

購入当時は4GBでインストールできていたので、かなり進化したのだなぁ、と変なトコロに感心した。

※ 公式サイトを確認すると、現在は8GB overが推奨されている。

仕方ないので、XWindowシステム(GUI)が除かれた Raspbian LITEを選択。

純然たるコンソールだけのOSって、昔々にOS上で何が起きているのか(どんなプロセスがどんな風に走っているのか)いまいちわからなくてお手上げだった過去があり、苦手意識があるのだけど、あれから随分歳もくったし久しぶりに試してみるかと。

Raspbian LITEでコンソールと戯れる

とりあえず

sudo apt-get update
sudo apt-get upgrade

で各種パッケージを最新版に。

なんやかんやポチポチコマンドを打ってみたりしたものの、AVボード前にあぐらをかいて、至近距離でTVを見上げることにあきたので

raspi-config

でラズパイの設定画面を開いて、SSHを有効化。

※ なんか去年あたりからSSHはデフォルトで無効になったらしい。ちなみに、NOOBSでインストールの際、SDカードのルートディレクトリに"SSH"というファイル名の空ファイルを作って起動すれば有効になる。

SSHクライアント Rlogin の使いやすさに感動する

あとはふだん使っているデスクトップやノートPCから接続できるように、てきとうなWindows用SSHクライアントを探したところ、どうも時代はRLoginなようなので、RLoginを使ってSSH接続。

f:id:d_ymkw:20171129213208p:plain

SSHってややこしいイメージがあったけど、分かりやすい設定画面に、とても使いやすいUIでビックリ。

おまけに、WinSCPみたいなファイル転送画面を内蔵しているのには感動した。

便利な時代になったものだなぁ。

※ TeraTermやPoderosaの影に隠れていたのか全然知らなかったのだけど、昔からあったらしい

※ 今だとbash on Windows上でOpenSSHとか使っても良い気がする。

OS(Raspbian)の名称の変遷に関するメモ

Raspbianは、RaspberryPi用にカスタマイズされたDebian ってことっぽい。基本Debian。

現在デスクトップ環境(ウィンドウマネージャ)にはLXDE が使われているのだけど、この環境を2016年当初はPIXEL、現在は単にDESKTOP と呼ばれている。PIXELと呼ばれなくなった経緯が不明なのだけど、商標絡みの問題でもあったのだろうか。

LITEは、デスクトップ環境のない最小構成版。デスクトップ環境だけに留まらず、かなりプログラムが削ぎ落とされている。サーバ利用ならこっちが良い感じ。

名称 概要
RASPBIAN STRETCH WITH DESKTOP Debian 9(STRETCH)に対応する版。デスクトップ環境あり
RASPBIAN STRETCH LITE Debian 9(STRETCH)に対応する版。最小構成。
Raspbian Jessie with PIXEL Debian 8(Jessie)に対応する版。デスクトップ環境あり
Raspbian Jessie LITE Debian 8(Jessie)に対応する版。最小構成。

この辺の名前はググってると今でもわりとでてくるので押さえておくと記事を読むのがちょっと楽になる。

ちなみにさらに古いバージョンは、Debian 7 (wheezy)。

32GBのSDカードとRaspbian

Raspbian LITEに、普段使わない色々な言語の開発環境を入れては細々とプログラミングしてみたりして、数日遊んでいたのだけど、

4GBのSDカードでは容量不足で動かなくなってしまったので、SDカードを新調。

一番安い(?) 32GBのmicro SDカードを購入した。micro SDなら将来的にラズパイ3を買ったときに転用できるかなと(冷静に考えれば、ふつうにもう一枚買えばいいだけな気はする)。

今度は有り余る容量を活かして、NOOBSでRaspbianをインストール。

憧れのRaspbian、正直必要なかった

f:id:d_ymkw:20171129225839p:plain

起動すると、洗練されたGUI が表示され、こんなにもスマートになったのかぁと一人感慨にふけったのだけど、

初代ラズパイには荷が重いのか、動きが緩慢だし、特にGUIを使ってやりたいこともないしで、早々にコンソール画面に戻った。

下記記事を参考に、

 killall -u pi

でGUIとはGoodbyeした。

qiita.com

ラズパイで1000本ノックに目覚める

Qiitaの記事を参考に、コンソールで色々コマンド叩いたり、プログラムを作ってるうちに楽しくなってきたので、

片っ端からできることを試してみることにした。

とりあえず、2500本ほどの全記事に目を通して、面白そう(できそう)なものをピックアップ・試してみたので、次からはその話を少し真面目に書いてみる。