投稿

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

Mac のアプリ

以下のアプリの最新版が(やっと?)出たらしい。 Isabelle/HOL 2014 Haskell 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が動いてるわけじゃない