投稿

8月, 2014の投稿を表示しています

Mac のアプリ

以下のアプリの最新版が(やっと?)出たらしい。 Isabelle/HOL 2014Haskell Platform 2014

Single-board computer: which, why and what for

きっかけ 最近そこそこ資金的余裕が出てきたので、ArduinoやRapberry Pi、mbed...らを買おうかと思い立った。
これらは『開発ボード』だとか『シングルボードコンピュータ』だとか呼ばれているのだけれど、
既に挙げたもの以外にもこの英語版Wikipediaのページにあるように、似たようなものがある。 そこで、どのようなものがあるか、どう違うのか、そもそも開発ボードではどんなことをするものなのか、
できるのか、やりたいのか、を調べたり考えたりしたので、まとめる。

はじめに: マイコン vs フルスペックコンピュータ 調べ始めて知ったのだけれど、世にたくさんある、そして似たようにみえる開発ボードは、大きく分けて2つにわかれる。 マイコンフルスペックコンピュータ 前者はArduinoなんかが有名で、後者はRaspberry Piが有名だ。
でも、こいつらはどう違うんだろう?

後者のほうが簡単だ: Linux。それだけ。
Rapberry Pi は、性能は低いがれっきとした「コンピュータ」だ。
こいつはそこそこリッチなCPUとそこそこリッチなメモリを積み、その上にLinux が動いている。

Linuxが動いてるから、「なんでも」できる。もちろんなんでもといっても性能上の制約はあるけど、ふつうのソフトウェア(たとえばC, C++ はもちろん、Python, Ruby, PHP, ...)がなんでも動く。
SSHでログインすることもできるし、ふつうのデバイスをつかうことだってできる。例えば、USB無線LANアダプタなど。

いっぽう、前者はちょっと厄介だ。
マイコンは、マイクロコントローラの略で、こいつみたいな感じの小さな制御用のチップだ。
単なる制御用コントローラでしかないから、いわゆる「ふつうのコンピュータ」に求めることができるわけじゃない。

Arduinoは、Atmel AVRのマイコンをのせている。
自分のコンピュータのうえで、付属の開発環境(Arduino SDK)でC"っぽい"言語でプログラムを書き、コンピュータからUSBを通じてArduinoにプログラムを書き込むと、そいつが動く。

確かに、色々なことができる。でも、OSが動いてるわけじゃないから、同時にひとつのプログラムしか動かせない。
それにもちろん、SSHで外からシェルを開け…