■はじめに
Edison キット for Arduinoと電気グリル鍋を使った汎用調理器を試作します。30~100℃くらいの範囲で温度を測定しグリル鍋をコントロールします。40℃前後のヨーグルトや納豆などでの使用のほか、60~80℃の油で肉を煮るコンフィや65~68℃で作る温泉卵などを作れるようにしようと思います。
こういう測定ものはArduinoが得意としているところだと思いますが互換機としての特性を持つインテル(R) Edison キット for Arduinoで作る場合はどうなのか確認を取りながら制作していきたいと思います。
■ファーストインプレッション
まずは開封します。
本体が小さいです。
3.55×2.5cm 500円玉とほぼ同じ大きさです。
Arduino互換ドーターボードにこのEdison本体を取り付けるわけですが
このドーターボードは大きいです。
大きさは約12cm x 8cmです。
比較するとわかりますがArduinoの2.5倍くらいあります。
実はEdisonには無線LANとBluetoothの機能がついています。
機能満載なのでちょっと大きいですが我慢して使いたいと思います。
Edison Breakout Board Kitという小さめのキットも出ているので小さいのが好きな方はそちらを手に入れるのも良いかもしれません。
■組立
組立は簡単です。
まずドーターボードに本体をパチッとはめます。
裏に足をつけて完成です。
簡単ですね。
それではこれから動作確認のLチカをしてみたいと思います。
■Lチカ
Lチカは「LEDをチカチカさせる」の略です。Hello worldみたいなものです。
インテルのGetting Start guideに沿ってやっていきたいと思いますがその前にファームウェアのアップデートをしたいと思います。古いバージョンだと不具合がありますからね。
Edisonは実は小型のLinuxマシンなのでファームウェアのアップデートはインストールしてあるLinuxのアップデートということになります。
まずインテルのEdisonのサイト
https://communities.intel.com/docs/DOC-23242
からドライバ(Windows Driver setup 1.0.0)をダウンロードしてWindowsにインストールします。
FTDI社のusbシリアル変換チップのドライバも必要なのですがwindows8には標準で入っているようで入ってますよと言われてしまいました。入ってなさそうな人はこちらからダウンロードしてインストールしてください。
http://www.ftdichip.com/Drivers/VCP.htm
インテルのEdisonのサイトからは
Edison Yocto complete image(Linuxイメージ)と
Arduino Software(Edison Aruduino IDE)も
一緒にダウンロードしておくと行ったり来たりしなくていいので良いかもしれません。
次にmicroUSBケーブルでPCとEdisonキット for Arduinoを繋ぎます。二本使います。
J3はUSB-シリアル変換チップを介したコネクタでシリアル通信に利用されます。
J16はEdisonと繋がれたUSBで、5Vの電力供給にも利用できるようになっています。
ケーブルを繋ぐとデバイスマネージャーのポート(COMとLPT)にEdisonのポートが見えるようになります。
Edison のフラッシュの一部がドライブとして PC にマウントされるのでここにLinuxイメージを入れてあげます。
puttyやTera Tarmなどのターミナルソフトで
USB Serial Portに115200のスピードで接続します。
Poky (Yocto Project Reference Distro) 1.6 edison ttyMFD2
edison login:
と表示されるのでrootで入ります。パスワードは設定されていないのでそのままenterです。
バージョンの確認をします。
root@edison:~# cat /etc/version
edison-weekly_build_56_2014-08-20_15-54-05
rm -rf /var/log/journal/*でjournalより下のファイルの消去を行います。
journalがいっぱいだとスケッチが書き込めないなどの不具合が出るようです。
root@edison:~# rm -rf /var/log/journal/*
reboot otaでリブートしてファームウェアのアップデートをします。
root@edison:~# reboot ota
再起動するとアップデートは完了です。
再びバージョンを確認します。
root@edison:~# cat /etc/version
edison-rel1-maint-weekly_build_16_2014-10-14_14-56-19
無事バージョンは上がったようです。
Python使いの人はPythonを使うと幸せになれるかもしれません。
root@edison:~# python -V
Python 2.7.3
Python 2.7.3が入っていました。
C/C++,node.jsなども使えるようです。
■Arduino IDEでBlinkのスケッチ(プログラム)を転送
ダウンロードしたEdison Arduino IDEを立ち上げます。
このArduino IDEでスケッチ(プログラム)を組んでEdisonを動かします。
サンプルスケッチがあるのでその中にあるBlinkというスケッチを使ってLチカを行います。
ファイル>スケッチの例>01.BasicsからBlinkのスケッチを選びます。
ツール>マイコンボードからEdisonを選びます。
デバイスマネージャーのIntel Edison Virtual Com Portを確認して
ツール>シリアルポート
に設定します。
「マイコンボードに書き込む」のボタンをクリックしてEdisonにスケッチをアップロードします。
Transfer completeと出ていれば転送成功です。
転送が完了するとedison本体横のLEDが点滅しているはずです。
これでLチカは終了です。
Wi-Fiの設定は後回しにしますがコンソールから
configure_edison --setup
というコマンドを打つことでセットアップが可能です。
■システム
それでは、これから電気グリル鍋とEdisonを使った汎用加熱調理器の試作を行っていきたいと思います。
まずどのようなシステムにするかですが
温度を測り電気グリル鍋の電源をON、OFFすることで温度の調整を行うのが一番簡単そうです。
あまり温度が上がるのは危ないので電気グリル鍋には水を張り水を加熱することにします。
Edison本体の他にセンサーとリレースイッチの組み合わせでなんとかなりそうです。温度表示のためのLCDと熱くなりすぎてしまった時の警報としてブザーもつけることにしましょう。
本当は半田付けができるリフロー炉と兼用できるように作る予定でしたが危険度を考えて高い温度での使用はしないことにしました。
食べ物と半田を一緒にするのもなんですしね。
■制作
水の温度を測りたいのでセンサーはサーミスタ(103AT-11)と抵抗を組み合わせたものにしようと思います。サーミスタは温度によって抵抗値が変化するセンサーです。
表示器にはLCDシールドキット(緑)を選びました。
さっそく繋げて文字を表示させてみます。
可愛い感じです。
サーミスタと抵抗で分圧回路を作ってEdisonに接続します。
ブレッドボードに部品を刺して配線していきます。
スケッチを書いて動かしたら
さくっと温度計になりました。現在24.29℃です。
温度を求める計算式はちょっとめんどくさい感じでしたがなかなか素敵な温度計です。
楽しくなってきたのでさらにリレーとブザーを取り付けます。
リレースイッチは設定温度より低い温度ならON、高い温度ならOFFになるように設定します。ブザーは温度が上がりすぎた場合に鳴るようにします。
sを設定温度、tを現在の温度とし,
リレースイッチがONの時はONと表示,OFFのの時はOFFと表示されるように
LCDの設定を変えました。
半田付けが無いとサクサク進みます。ブレッドボード万歳です。
さらにタクトスイッチを取り付けて設定温度を手動で変えられるようにします。
リレースイッチにコンセントを半田付けして完成かなと思いましたが
ここで落とし穴がありました。
リレースイッチが動いていません。LCDのON,OFFの表示に騙されてました。
はずして確認を取りましたがリレースイッチの不具合ではないようです。Aruduino UNOでは動いています。
どうやらリレースイッチにVIN端子からの電源が供給されていないようです。
どうしようかなと思いましたがパーツボックスに以前買った20A対応のソリッドステートリレーが入っているのを発見しました。これなら大丈夫そうです。
発熱がちょっと心配ですがこれを使用することにします。小さい放熱器を後で取り付けることにします。
取り付けてテストしてみましたがほぼ思った通りに動くようです。
あとはコンセントを半田付けして試作機は完成です。
むき出しではなくケースに入れたほうが良いかなとも思いましたが試作なのでこのままいきます。
■やっぱり元に戻す方向へ
いろいろ考えた末に別系統の電源を入れて元のリレースイッチを使うことにしました。
ソリッドステートリレーだともたない気がします。
完成したのがこれです。
コンセントもつけました。
リレースイッチは触ると感電するかもしれないのでカバーを付けました。
使ったのは机の上にあったガムの容器です。
さっそくグリル鍋とつなげてみます。サーミスタを水の中に入れて様子見です。
結構グリル鍋の火力が強いようです。弱とか保温で使うと良さそうです。
■卵IN!
様子見のつもりでしたが辛抱できなくなり思わず卵を入れてしまいました。
64℃の設定で30分入れてみました。
なぜ64℃かというとグリル鍋の温まり方にラグがあったからです。
どうしてもちょっと温度が上がってしまうので64℃で設定して
66℃近辺を狙ってみました。
出来たのがこちらです。
美味しそうですがちょっと黄身が緩い感じです。
65℃か66℃の設定で作るともっといいものができるのではないかと思います。
これは小ネギを散らして、だし醤油で食べたいと思います。
■納豆
40℃で20時間発酵させると出来上がりです。
今回はキューピーサラダクラブといなばミックスビーンズを使います。
粉末納豆菌がAmazonなどで売っているのですが今回はパックの納豆を種菌として混ぜ込むことにします。粉末納豆菌の方が勢いよく発酵するようです。
ミックスビーンズは大豆ではなくひよこ豆、えんどう豆、レッドキドニーですので変わり納豆という奴ですね。
グリル鍋に入れて20時間、設定温度39℃で発酵させます。
出来たのがこちらです。
普通に納豆してます。一日くらい冷蔵して落ち着かせるとより美味しくしくなるそうです。
ちょっと食べてみましたがひよこ豆の納豆が予想外に美味しかったです。
また作りたいと思います。
枝豆や黒豆、落花生などでも作れるそうです。
■ヨーグルト
ヨーグルトは納豆とほぼ同じ温度帯なので失敗はしないと思います。
40℃で12時間ほど発酵させます。
例によって種菌は市販のヨーグルトから取ることにします。
ナチュレ恵を使ってガゼイ菌とビフィズス菌で発酵させます。
ビフィズス菌は偏性嫌気性菌で酸素を嫌います。
ガゼイ菌の方が活発に活動するのではと思います。
6:1くらいが良いと言われていますので目分量で入れます。
グリル鍋に入れて12時間、設定温度39℃で発酵させます。
完成。
雪印のナチュレ恵とほとんど変わらない味です。ビフィズス菌も頑張ったようです。
ココットに入れたままラップをして冷蔵庫で冷やせば美味しく食べられますね。
■鶏モモ肉のコンフィ
コンフィは油で肉を60℃~80℃に保って煮る調理法です。肉がパサパサにならずしっとり仕上がります。火加減が大変ですが今回の試作機で簡単に調理することが可能になりました。
肉に塩、胡椒などで下味をつけ、一晩おきます。
油に漬け込み60℃~80℃に保って煮込みます。
本来はラードなどを使いますが今回はサラダ油を使ってみました。
さらっとした仕上がりになります。
ジップロックに詰めると取り扱いが楽です。
最後に小麦粉をまぶしてフライパンなどで皮をパリッと焼き上げて完成です。
肉がしっとりしていて美味しく出来上がりました。
クリスマスには骨付き肉で作りたいところです。
砂肝で作ったコンフィなどはお酒のつまみとしてとてもおいしいと思います。
炊飯器調理でも作れますが炊飯器を占有してしまってご飯が炊けないなど不便なこともあると思います。そういう時に汎用加熱調理器は威力を発揮します。
こういうアイテムがあると料理が捗りますね。
■まとめ
これで試作機の制作は終了です。
さらに温度センサーを追加して温度制御の精度を高めるなどの改造をしようかなと思っています。タクトスイッチでの温度設定をボリューム抵抗での温度設定に変更するとより簡単に温度設定できるようになるかもしれません。
照度センサーや距離センサー、電流センサー、アルコールセンサーなどいろいろなセンサーがあるので用途に応じて作り替えるのもありだと思います。
いろいろできるので作りこんでケースに入れるのがもったいなくなるのが欠点といえば欠点です。
今回はArduino互換機として使ってみましたがEdisonはLinuxマシンでもあるので
後でそちらの方向でもいじりたいと思います。
お気軽電子工作ができて、Linuxマシンとしても遊べるEdison キット for Arduinoは一粒で二度美味しいマシンと言えると思います。
興味のある方は購入を検討してみてはどうでしょうか?
■【追加】IoT Analyticsを使ってみよう
Arduinoっぽい使い方だけではなくEdisonっぽい使い方もしてみようという事で
Wi-FiでインテルのサービスであるIoT Analyticsに接続してみたいと思います。
Edisonからデータを送り、IoT Analyticsでグラフをプロットします。
「モノのインターネット(Internet of Things)」という感じです。
Edisonユーザー、Galileoユーザーが無料で使えるのもいいですね。
まずEdisonのWi-Fiをセットアップします。
コンソールで
root@edison:~# configure_edison --setup
と入力します。
Configure Edison: Device Name:好きな名前を入力します。
Configure Edison: Device Password:パスワードを入力します。
Do you want to set up wifi?:Y[Enter]でwifiの設定をします。
SSIDがスキャンされるので、自分の無線LANのSSIDを選びパスワードを入力します。
GitHubからIoTキットArduinoライブラリをダウンロードしてArduino IDEにインストールします。
https://github.com/enableiot/iotkit-samples/blob/master/arduino/IoTkit.zip
スケッチのサンプルも入っています。
IoT Analyticsのサイトに行きサインアップを行います。
https://dashboard.us.enableiot.com/
サインアップが終わったらサインインして
IoT Analyticsアカウントを作ります。
これはプロジェクトのようなものでたくさん作れるようです。
iotkit-agentを有効にして起動させます。
コンソールから
root@edison1:~# systemctl enable iotkit-agent
root@edison1:~# iotkit-admin test
2014-12-22T03:55:38.463Z - info: Trying to connect to host ...
2014-12-22T03:55:39.604Z - info: Connected to dashboard.us.enableiot.com
2014-12-22T03:55:39.608Z - info: Environment: prod
2014-12-22T03:55:39.610Z - info: Build: 0.11.3
デバイスIDを確認しておきます。
root@edison1:~# iotkit-admin device-id
2014-12-22T03:56:46.915Z - info: Device ID: [xx-xx-xx-xx-xx-xx]
これはEdisonのMACアドレスのようです。
EdisonをIoT Analyticsにライセンス認証(アクティベーション)させます。
まずIoT AnalyticsのMy AccountからActivation Codeを確認します。
コンソールから
root@edison1:~# iotkit-admin activate [activation Code]
と打ってアクティベーションを行います。
[activation Code]の所に確認したコードを入れてください。
2014-12-22T03:58:34.033Z - info: Activating ...
2014-12-22T03:58:35.650Z - info: Saving device token...
2014-12-22T03:58:35.666Z - info: Sending attributes...
と表示されればOKです。
これでIoT AnalyticsにEdisonが登録されます。
IoT AnalyticsのMy AccountのCatalogタブを見ると
Humidity,Powerswitch,Temperature
と三つのカタログがあることがわかります。
このカタログがグラフの縦軸としてプロットされます。横軸は時間です。
Add a New Catalog Itemで新しくCatalog Itemを作ることもできますが
今回は標準で入っているtemperature.v1.0を使いたいと思います。
このtemperature.v1.0をEdisonからレジスト(登録)すると使えるようになります。
再びActivation Codeを確認し、IoTキットArduinoライブラリのサンプルの
IoTkitRegisterExampleでレジストします。一緒にhumidity.v1.0もレジストされるので気になる人はtemperature.v1.0だけレジストしましょう。
後はiotkit.sendでIoT Analyticsにデータを転送すればグラフがプロットされます。
データはCSVでエクスポートすることもできます。
これで調理時の温度の変化が詳細にわかるようになりました。
まだ少ししかいじってませんが
データを簡単にネットに送信して確認できるので
なんだか素敵な感じです。
IoT Analyticsはベータバージョンですが
これからいろいろ整備されていくのではないでしょうか?
アラートメールを飛ばしたりもできそうです。
インテルさんに期待ですね。
jakeさん
2015/01/16
node.jsでサーバープログラムを作らないといけないかと困ってたんですが、
こっちのがシンプルにやれそうな気がします。
タカキさん
2015/01/16
クラウド万歳です。
いぐなっちさん
2015/03/18
ネタは同じ発酵、仕組みは全く別物で、おもしろく拝見させていただきました。
ちゃんと通信機能も活用されていてすばらしいです。
タカキさん
2015/03/19
どうなるかと思いましたがお互いちょっと違うものになりましたね。
現在はケーシングしようかなと思っているところです。