この記事は書き換え中です。
このプロジェクトは組み込み初心者のうp主が中二病をこじらせて作り始めたデバイスにIntel Galileoをぶつける平凡な日常を淡々と描くものです。過度な期待はしないでください。
あと、Galileoの電源を入れるときは必ずUSBケーブルよりコンセントを先に接続しやがってください。
Intel Galileoだと!?
組み込み界隈では有名なArduino、簡単なプログラムでマイコン工作ができるスグレモノで、幅広い層のマイコン工作好きが触ったことでしょう。10周年らしい。
積んでいるプロセッサはAtmega328P(Arduino UNO)で、演算性能はイマイチですがチョット使えておまけに安いこともあって大変好評です。
が、サラッと流せないのが演算性能の低さです。クロック16MHz、メモリは2KBと大変しょっぱいスペックです。もっとも、これで十分な場合も多いですが。
そこに現れたのがCPUやSSDでお馴染みのIntel。スペックの高いCPUやらメモリを積んだArduino互換機としてGalileoを打ち出しました。
ググってみるとこんなのが→http://arduino.cc/en/ArduinoCertified/IntelGalileo
ほうほう、どうやら「小さいPC」+「Arduino、はじめました」な感じのようです。
未来ガジェット?
今回のレビューでは「電子鍵(適当に名前を付けた)」の親機を制作し、その過程で得た情報や実験データ、ノウハウや愚痴をまとめたいと思います。
子機ですか?あっちは青mbedに働いてもらいます。
この電子鍵ですが、簡単に言うと車の鍵に付いているリモコンのゴツい仕様版です。
公開鍵暗号だのSHAだのOTPだのといったセキュリティ重視の鍵を実現するシステムを組みます。
今回、Galileoでは錠の側を作りたいと思います。
Galileoで、何する?
Galileoって本当に色々ついていますねぇ。UNOと比べるとめちゃめちゃ豪華です。
今回は以下の点に着目しました。
- CPU周りが高速に動く
- LANポート付き
- MicroSD(HC?)カードが使える
- 何よりLinux!
IO周りについては今回はガシガシ使うことはありません(あまり良くないウワサがあったので)。これはこれでIO周りの実験としてデータを載せたいと思いますが、主役はソフト面です。
先ほど公開鍵暗号という単語が出ました。ちょっと特殊な暗号で、暗号化する時と復号化(元の情報に戻す)する時で必要な鍵の情報が異なります。
この2つの鍵は比較的重い計算の後に出来るのですが、Galileoには性能の良いCPUが載っていましたよね?このCPUに頑張ってもらいます。
ちょっと実験
実は既に製作中だったので子機側はある程度形になりつつあります。
なのですが、一応念の為最初はPCとシリアルで接続して動作の確認を行い、次に有線で子機と通信、最後に赤外線に切り替えてテストといった流れで行きます。
さて、まず事前に調べておいた情報からACアダプタでの接続を先に行う必要があることがわかっていたのでAC100V−DC5V(2A)電源を投入します。
お、起動しました。「ON」LED点灯後、しばらく置いて「USB」LEDが点灯します。
無事起動が確認できたのでPCに接続します。USBケーブルで繋げば良いようなので、MicroUSBで接続します。
ちなみにUbuntu環境なのでドライバのインストールは必要ありません。
IntelからArduinoIDEをダウンロードしてきて起動します。
あとは書き込みですね。右向き矢印のアイコンでコンパイルから書き込みまでやってくれます。
お、動い・・・た?変化がない。
よくソースを見てみれば何もしていない様子。Lチカサンプルを読み込んで再度書き込み動作が確認できました。
うっわ地味・・・
さて、ではお待ちかねのLinuxたんのインストールです。もっとも、実は最初からインストールはされているんです。ただ、あくまで最小構成+Arduinoエミュレータ的な何かという構成なので正直面白くありません。
Linux召喚!
いよいよ差をつけるポイントであるLinuxの力を試します。やることは簡単で、SDカードにファイルを入れて挿すだけ。
LinuxのファイルもIntelからダウンロードします。
.zip形式なので、さくっとunzipしてファイルをコピペします。
さて、電源再投入。よくわからないのでSSHで接続してみます。
「Connection refused」・・・ん?
ちょっと端折りますが、結論から言うと動かず。いや、動いたのかも知れないんですが、残念ながらSSHで繋がらなかったので今一つよくわからない状態になってしまいました。
次回更新でSSH接続からのLinuxでの開発作業に入ります(入れる!というか入れ!)。
気になる点
Intel Galileo、まだどんな良いところがあるのか今ひとつピンときませんが、どうしても気になったのが以下の点。
- CPUが熱すぎないだろうか
どうもクロックが高い分発熱も派手なようで、指で触ったら軽くやけどしかけました。試しに手持ちの温度計で測ってみると50℃を超えている模様。なるほど、通りで専用電源が必要なわけだと納得しました。ちょっとエネルギー効率が悪いようです。(具体的電流などの計測は次回以降)
ちなみにArduinoや青mbedでも試しましたが、ある程度負荷をかけてもちょっと温かい程度。
となると、本当に低消費電力には向かないようです。
- 電源投入がやっぱり面倒
ACアダプタめんどくさいっ!!!
失礼、取り乱しました。やはりUSBバスパワー駆動というのは良いものだったんですね。
電源を投入する一連の流れが複雑です。あらかじめ何らかのケースか何かでボードを固定したり、電源ケーブルにスイッチを付けない限りなかなか慣れません。いっそ電源接続シーケンスをArduinoで代替させようかという案も浮かびました。(もちろん没)
- 謎の端子
さっきから気になって仕方ないのですが、Galileoのロゴの真上にある白い7ピンコネクタは何でしょうか。調べてもなかなか情報がないのですが気になります。
蒼-aoi-さん
2014/04/15
お互いに頑張っていきましょう!(すでに半分廃人状態です:汗)
謎の端子ですが、今、基板のシルクが確認できないので間違っているかもしれませんが、回路図を見たところ、ブートROMの書き換え用だと思います。
CPU側からの信号と、このコネクタからの信号が、ブート用FLASHにつながっているようですね。
基板の電源を入れずに、ROMを書き換える時に使うと思われます...というか、そんなことが「GALILEO FAQ」で検索した時だったか、出てきたような?出てこなかったような?
ペンギン使いの魔法少女さん
2014/04/15
ROMに書き込める端子があるということは弄れそうですね(悪い顔)。
今のところ(主に心の)壁によく当たりますが頑張っていきましょう。
はにゃさん
2014/04/15
確かに、Arduino Unoと比べて Arduinoとしては仕事量に対してエネルギー効率が悪いとはいえますが、x86 Linuxマシンとしてみるとそうでもないです。
適切な放熱器を付けてあげれば気にならないレベルですね。
ペンギン使いの魔法少女さん
2014/04/15
つい先程GalileoのVer2が発表されたことを知りましたがもうちょっとどうにかなるといいですね。
もっとも、そもそも使い道がArduinoとは違うのだと思うのでこれはこれでいいと思うのですが、そうなるとGalileoの立ち位置がイマイチぴんと来ませんね。うーん。ま、気にせず行ってみます。