さて、温度の取得とスロークッカーの制御ができるようになったら、あとは所定の温度にキープするだけである。まずは最低限、所定の温度を下回っていたらOn, 上回っていたらOffという適当なコードを書いてみる。

https://gist.github.com/naotaco/f8b0a05b673d0e431da1

 

さすがにどうかと思いつつ、サンプルほぼそのまま、温度が低ければスイッチをいれるというコードだけ書いた。その他、ログをテキストに吐き出すコードを追加。

さっそく鶏胸肉で試してみる。室温付近の20℃から何も入れず加熱、セットポイントの64℃を超えたあたり(矢印)で肉を投入。オレンジがスロークッカーの電源状態、グレーがセットポイント(64℃)、青が実際の温度。欠測値が多いが、例のエラーによるもので理由は不明のまま……

鶏胸肉を調理した際の温度変化
鶏胸肉を調理した際の温度変化
鶏肉投入後を拡大
鶏肉投入後を拡大

61.5℃くらいまで低下するが徐々に復帰、あとは64±1℃に収まる範囲でしっかり制御できている。あれ、もしかして完璧なのでは……。せっかくフィードバック制御入門を読んで、PID制御を投入するつもりでいたのに、まったく必要なさそうで拍子抜けである。微分して応答性上げれば振れ幅を半分くらいにできるかもしれないが、そこまでやるなら鍋の温度ムラとか測定精度とかそういうところまで踏み込まなきゃ意味ないし、まあいいだろこんなもんで。。。

今回作ったのは鶏胸肉のコンフィをベースに俺好みにしたようなもの。

  • 胸肉1枚
  • 適当にクレイジーソルトと胡椒をふって馴染ませる
  • 厚いところは切って、均一な2cmくらいの厚さにする
  • ジップロックに放り込む
  • オリーブオイルをほどよくいれる
  • 空気を抜いて口を閉じる

あとはこれを何度で何分加熱するかという話なのだが、ここでCooking for Geeksを参照すると、厚さ30mmの鶏肉を63℃でパスチャライゼーションする場合は61分以上加熱することと書いてある。まずはおとなしく従って1時間調理することにした。ちなみに水温が64℃に保たれているわけで、長く調理しすぎる分にはまったく構わないということになる。

ざっくり言うと60度以下だと衛生上のリスクがあり、66℃以上になるとアクチンが変性を始めてしまう。この間をキープすることが望ましいとのこと。生物の授業を思い出しますね。

鶏胸肉のコンフィ
鶏胸肉のコンフィ

できあがったものがこちら。火も完璧に中まで通っており、味もやわらかさも完璧である。すごい。いままで炊飯器でやっていたのだが、とにかく成功率が低くてイマイチだった。これなら失敗はないだろう。サラダチキンよりはるかにおいしいし、革命という感じがするな……。

こんどはCooking for Geeksでもおすすめされてたビーフステーキでも作ってみるか。安い肉を放り込んで65℃にして、フライパンで焼き目を付ける的な。

ちなみにここまでのコードはすべてRPi上でemacsをつかって書いていてたいへん不便である。実行もsshで入ってコマンド打たなきゃいけないし。ということでWebアプリにでもしてスマホから操作したいのだが、どうしよう、Python書けないんだよなあ。かといってGoとかRubyがちゃんと使えるわけでもないし、おとなしくPython勉強してDjangoでも使って作るか……

 

[amazon template=wishlist&asin=4873116848]

[amazon template=wishlist&asin=4873115094]