カテゴリー
IchigoJam

IchigoJamをSORACOMに接続する前に:Raspberry Piを起動する

IchigoJam TからRaspberry Piを起動するのは、意外と難しいのです。まずは、製作の背景から説明します。
IchigoJam T」を略すと、「I****o *** T」。。。「IoT」です。新たにCN5に設けられたI2C通信機能は、センサや液晶といったデバイスを接続し、IoT機器として拡張するために利用できるでしょう。
IchigoJam TをLTEや3Gのような携帯電話網に接続するには、それを手助けしてくれる機器が必要です。Raspberry Pi ZEROであれば、IchigoJam Tとモデムの中継アダプタとして使用するのにぴったり。Raspberry Pi側にはUSBで、ABiT社のスティック型USB 3Gモデムを接続すれば、簡単に携帯電話網に接続することが出来ます(トラ技2016年9月号を参照ください)。
ところが、こういった機器を遠隔地に設置して使用しようとすると、Raspberry Piの電力が大きいため、電源の確保が課題になります。そこで、IchigoJam TからRaspberry Piの電源のON/OFF制御する必要が出てきます。
さて、Raspberry Piの電源をOFFするのは簡単です。起動中のRaspberry Piにshutdown命令を送れば良いのです。

一方、電源をONするのは意外と難しいです。

Raspberry Piの基板上には、「RUN」パッドが設けられています。これのパッドをショートすれば、Raspberry Piが起動します。なので、IchigoJamのGPIOやデジタル出力のセンサをRUNパッドに接続すれば、自動的にRaspberry Piを起動することが出来ます。
えっ、簡単じゃないですか。。。
実は、大きな課題があります。起動中に再びRUNパッドを操作すると、Raspberry Piにリセットがかかってしまいます。そう、これはRUN端子とは名ばかりの、RESET端子なのです。

IchigoJam BASICで管理する

簡単なのは、IchigoJam T側でRaspberry Piの状態を確認してから、RUNパッドを制御する方法です。きっと、王道でしょう。シリアル応答が無ければRUNパッドを制御すれば良いのです。
ただし、Raspberry Piの起動中やシャットダウン中を検出した方が良いでしょう。動作中に、強制RESETしてしまうと、システムファイルが壊れてしまう恐れがあるからです。
起動中やシャットダウン中を検出しようとすると、IchigoJam Tが寝ないか、適当な時間を監視して判断する必要が出てきます。少し、プログラムが長くなりそうです。

電源をONするためのハードウェアを製作する

マイコンで管理するのではなく、ハードウェアで管理する方法もあります。下図は、IchigoJamのLED端子からRaspberry Piを起動する実験の様子です。

左側のRaspberry Pi ZEROの電源をIchigoJamから起動する。右下のブレッドボードが、今回、試作した電源管理ボード。管理といっても、AND回路と状態をホールドする回路の組み合わせ。ブレッドボード上のタクトスイッチを押す、またはIchigoJam TのLEDを、ONしてからOFFすると、Raspberry Piが起動する。もちろん、Raspberry Piが動作中に、IchigoJam TのLEDを制御しても、Raspberry PiがRESETされることはない。

これで、IchigoJam T⇒Raspberry Piの連携準備が出来ました。あとは、シリアルを相互に接続すれば、IchigoJamがRaspberry Piのリソースを乗っ取っり、自由に利用することが出来ます。
ざっと、8千円台で手に入る遠隔監視IoT端末(IchigoJam 2千円、Raspberry Pi ZERO 1千円、SORACOM 3Gモデム等 5千円、周辺回路 数100円)。
夏休みの工作にいかがでしょうか?
by ボクにもわかるIchigoJam用マイコンボード
 - 
Chinese (Simplified)
 - 
zh-CN
Chinese (Traditional)
 - 
zh-TW
English
 - 
en
French
 - 
fr
German
 - 
de
Italian
 - 
it
Japanese
 - 
ja
Korean
 - 
ko
Russian
 - 
ru
Spanish
 - 
es