スカートをめくるのに適した計算機(1)

スカートをめくるのに適した計算機(1)

私の技術は紙くずのよう。
なければ困ることも多いが、不要な人にはゴミである。
私の技術は紙くずのよう。
持ってるのを偉そうに見せるとバカにされる。
私の技術は紙くずのよう。
くずかごに投げて暇を潰すのに向いている。

よし、お前のアダ名は今日からマイコンだ!

前回書いたとおり、私達にマイコン的な何かが必要なのことには議論の余地がない。
マイコン、というかコンピューターというのが何かということをおさらいしておくと、プログラムという言葉にしたがって入力を受け取り、出力を返すものです。パソコンはその中でもより消費者向けに高度に発達したものなので、入力も出力も規格化されており、便利で問題のおきないように作られている。そのため液晶画面に図形や動画を表示したり、マウスやキーボードの入力を処理するような高度なことは簡単にできる反面、「電気」とかそういう低レベルの状態で入出力を扱うのはやや面倒である。
なぜなら我らはボンクラであり、問題というのは我々みたいなボンクラが起こすものであり、ボンクラにパソコンから直接つながる電気を触らせたりすると容易に問題が発生するためです。

前回も書いたように元からあるUSB機器を改造したりしても良いけど、そんなことをすると元のパソコンが壊れる可能性がある。しかもこれは「パソコン壊れた」と頼ってくる親戚のおっちゃんの言う壊れたではなく、もっと(文字通り)ハードで致命的なものであり、高いパソコンは二度と使えなくなる。

マイコンや最近はやりのシングルボードコンピューターは、パソコンに比べてより単純であったり、もともとホビー用途にGPIOを利用できるようになっているので、私達のようなボンクラでも安心して使うことができる。値段も¥100~¥6,000くらいなので壊れても半泣きになるだけで済みます。

そんなわけで、私の使ったことのあるマイコンやシングルボードコンピューターを値段や注意事項とともに紹介していく。

シングルボードコンピューター

前回、必要なのはパソコンではないとか書いたが、これらはいわゆるパソコンです。
シングルボードコンピューターというのは基板ひとつで動いているパソコンのことで、一般的なLinuxディストリビューションが稼働し、使う時もおおよそ普通のLinuxが入っているパソコンのように使える。
これらの利点は、USB機器がだいたい使えることと、処理速度が早く容量も大きいこと。
プログラムも一般的な言語ならだいたい利用可能でライブラリも利用できる。

値段は高めとはいえ、後述のArduinoとの差はせいぜい¥1,000~¥2,000程度。
値段は大差ないのにパワーは核兵器vs竹やり(Arduinoが竹やりです)、愚地克己vs烈海王です(Arduinoが克己です)。

じゃあもうこれで決まりじゃね? というと案外そうでもない。

たしかにそれは間違っていないのだけど、完全におすすめできるかというと難しい。
たとえば貴方がすでにプログラマで、Linuxでの環境構築やシステム開発が特に問題なく出来るとか、
あまり得意ではなくとも海外のフォーラムの書き込みを読んで手順を追っかけるくらいは出来るというなら、ほぼ間違いなくこっちを買うべきでしょう。

逆に貴方がプログラムを書いたことがないとか、プログラミングはなんとなく分かるがLinuxは触ったことがないとか、友達にはスーパーハッカーと呼ばれているが実際エロゲーに詳しいだけの場合、これらを使うのはちょっとハードルが高いかもしれない。

なぜなら後述のArduinoなどに比べて、これらは何でもできる分、環境構築やそのなんでも出来る機能を使うのにより多くの知識や学習が必要になるからです。竹槍ならとりあえず人に突き刺してみることはできるけど、核兵器を使うには正しい知識かその知識を探す方法や知識を学ぶための技術が必要です。

まとめると、そもそもLinuxでのプログラム開発が可能な人、あるいはLinuxでのプログラム開発もついでに勉強したい人、高度なことをやるつもりの人、以上の人々にはおすすめです。
特に最後の高度なことをやる場合、たとえば無線LANに接続して、センサー値をDBに入れて集計して、それをブラウザから閲覧可能にして変化があったら音と光で通知みたいなことをやるなら、これを使うのが一番簡単で安上がりです。

以下に二種紹介しますが、共通する利点欠点は上で述べたので、以下は互いの比較で記します。

Beagle Bone Black

Raspberry Piのほうが先行した分流行っている感がありますが私はこいつのほうが好き。
おすすめだけど手に入らない。そこが最大の難点。

[利点]
・USBケーブルだけあればすぐ開発を始められる
・フラッシュメモリ搭載でメモリーカードなしでも動作する
・GPIOが多い
・GPIOがメスなのでピンを刺しやすい
[欠点]
・手に入らない
(やっと海外で買えるようになってきたので待ってれば買える?)
・Raspberry Piに比べると国内での情報は少ない
(あっても古い情報が多い)
・Beagle Bone Black側で利用できるUSBが1つ
(ハブを増やせば増える。ミニBの方はPCと接続するのに使う)
・node.js用にArduinoに似せたGPIO等制御用のライブラリが提供されてる

最大の利点としては、とにかくPC側にドライバを入れてUSB接続したら、そのまま開発が始められるということに尽きる。Raspberry PiはOSのインストールが必要で、それにはHDMI接続のディスプレイとかキーボード・マウスなんかが必要になるのだけど、こっちはUSBケーブルだけあればすぐに取り掛かれる。
Raspberry Piはもともと教育用途なので自分でOSの設定から始めさせるのかもしれないけど、ディスプレイ等インターフェース類が余ってたり切替器を持っててザクッと差し替えられるのでもない限り割と面倒くさい。初学者が自分ひとりでやる場合、そこでつまづかないか結構気になる。
なので、私はBeagle Bone Blackの方をおすすめします。

で、買う方法としてはつい最近Adafruitに在庫が出たのでそれを個人輸入する。
Amazonのはバカみたいなプレミアがついてるので買わないほうが良い。

ELEMENT 14 BEAGLEBONE BLACK REV C - 4GB - PRE-INSTALLED DEBIAN

これは最初からDebianが入っているバージョンらしい。
ただデフォルトのあまり情報のないAngstorm LinuxよりDebianで使うほうがよりオススメなので、私の言うことを信じるなら買うといいでしょう。

バージョンがいくつかあって内蔵ストレージの容量が4GBになってる奴が新しいやつです。
私のブログで導入部分に関する記事とかを書いてるので良ければどうぞ。

Raspberry Pi

シングルボードコンピューターのジャンルで(たぶん)一番最初に¥5,000円付近の値段で発売されて一気に人気者になったラズベリーパイさん。最初に出たものなので不満点も多いけど、いくつかは最新のB+モデルでは解消されている(¥1,000値上がりしてるけど)。需給も安定。

[利点]
・普及してるので情報が多い
・専用の周辺機器がある(カメラモジュールとか接続できる)
・USBポートが多い(B+では更に2つ増えてる)
・音声出力がステレオミニプラグから直接出せる
(BBBはHDMIかUSBスピーカーを使う必要がある)
・Amazonでも買える
[欠点]
・作品に組み込むことを想定してないようなイカすソケット配置

上みたいにUSBとLANポートが変な段をつけて配置されてるし、電源は逆サイドにあるし、音声は横にあるしで作品化して箱に入れようとするとすごい苦労する。BBBは電源とLANが面一で並んでるので楽。
ただこれに関してはB+モデルでは改善されてるっぽい。
あと欠点としては、

・SDカードがないと動かない
・SDカードがすごいはみ出る(B+では改善してるらしい)
・最初にOSのインストールが必要
(ビルトインでOSが入ってないので自分で選んでインストールしなければならない)
・OSのインストールにHDMIかRCA対応のモニターとキーボード・マウスが必要

というわけで私がBBBの方が好きな理由は欠点の後ろ2つのためで、OS入れるのがすごいめんどいから。逆に言えば、インストールさえ終わってしまえばそんなに悪いとも思ってないし、使い慣れれば可愛く思えてくるところもある。
HDMIでつなげる持ち運べるモニターとか、ディスプレイ・キーボード・モニター切替器とかあればいいのかもしれない。もっともこれのためだけに買う気はしないけど。

で、結論は?

定価で買えるならBBBおすすめ。
新しいモデルのDebian入ってる版とかなら本当に楽でいいと思う。

でも、この記事自体の主旨で言うと、Arduinoを買った方が良いですよというところに行こうと思っているのでまだ続く。あなたがプログラマでLinux環境に懸念がなく、高度なことを想定しているならここでお別れです。おつかれさまでした。

次回はマイコンのことと、長くなりすぎなければArduinoの話まで書きます。

最後に作例でお別れです

https://www.youtube.com/watch?v=9-dwP43CYoI

Raspberry Piを使って、コイン投入器からの信号を受け取って、USBスピーカーから音楽を鳴らし、複数のサーボモーターをJSONで書かれた設定ファイルに従って動かしています。全体はnode.jsで書かれているので、多少書き換えればBBBでも動作可能。

参考にしてくれた記事

記事が登録されていません。
この記事を参考にして、新しく記事を投稿しよう!

違反について