読者です 読者をやめる 読者になる 読者になる

Mathematica Programming on RaspberryPi Zero

RaspberryPi Zeroが出た。Mathematicaを動かす。勉強会も開こう。

RaspberryPi Zeroの並列化

HAT (Hardware Attached on Top) というメーカーが、RaspberryPi-Zeroを4枚並べることのできる、ボードを提供していて、恰好が良いので購入してみた。恰好は良かったのだが、実際のところどうなのかが分からなかったということもあって、人柱となってみたのだった。型名は8086-001 Cluster HATである。

 

到着したので眺めてみると、ボード単独では使えないようで、コネクタによってベースとなるRaspberryPiが別途必要となるらしいことが分かって、改めてRaspberryPi Zeroとコネクタのハンマリングツールを発注した。ハンマリングツールというのは、コネクタを圧入する代わりに、ハンマーで叩き込むための治具である。

f:id:sanpodo:20170304184217j:plain

 で、Zeroにコネクタを取付けて、Cluster HATと接続したのだが、うまくコントロールできない。ベースのRaspberryPiのGPIOを制御することで、Zeroの電源をコントロールするようなのだが、反応しないのだ。

 

散々やってみて、結局Cluster HATのホームにある接続図や説明が、手持ちのボードと全く異なることが判明したのだ。ボードを虫眼鏡で見て、配線の具合を調べて、確定したのが、以下の通りだ。

 

alert -> GPIO 5

p1 -> GPIO 6

p2 -> GPIO 13

p3 -> GPIO 19

p4 -> GPIO 26

GPIOはbashからもコントロールできて、pin 19をHighにするには、

echo "19" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio19/direction
echo "1" > /sys/class/gpio/gpio19/value

これをLowにするには
echo "0" > /sys/class/gpio/gpio19/value

pin19から読み込むためには、
echo "in" > /sys/class/gpio/gpio19/direction
cat /sys/class/gpio/gpio19/value

とすればよいのだ。 

結局のところ、ボード上に搭載するZeroのパワーは、ベースのRaspberryから供給するようになっているようで、これでは、ベースにZeroを用いたのでは容量不足になるのは明らかだ。となれば、素直にZeroをUSBハブに複数繋げればよいことになる。ただそれだと不格好になってしまうな。