フィリピンの卵は新鮮でなく、生卵を食べるには覚悟がいる。 先日買った、GENSANブランドの卵は賞味期限まで2週間もあるのにすでに腐っていた(白身と黄身が混じっていて、端っこが真っ黒)。
で、生卵同様、大好きな温泉卵を完璧に作るべく、ラズベリーパイで温泉卵製造機を作成しました。
使ったもの
- Raspberry pi B (余っていた古いもの)
- 4GBのSDカード、電源、LANケーブル類(余っていたもの)
- 温度センサ(CircuitRocksで購入)
- リレーモジュール(CircuitRocksで購入)
- ジャンパー線10本(CircuitRocksで購入)
- その他部品類(余っていた古いもの、詳細は画像ご参照ください)
要となる温度センサ(DS18B20)は、よく見かける防水タイプで長いケーブルつきのもので185ペソ、リレーモジュールは1チャンネルで250V10Aのもので147ペソ。 PayPalで支払いが出来、送料はメトロマニラは150ペソで、注文の翌日にLBCで配達されました。(フィリピンでは注文の翌日配達は驚異的に素晴らしいです!)
https://circuit.rocks/ 素晴らしい。
こちらが届いた部品の写真です。


センサとリレーは先例にならい、以下のように配線しました。

GPIOのピン番号
1 センサー電源3.3V(赤)
2 リレー電源 5V(オレンジ)
3 リレー信号線(黄色)
6 センサーGND(黒)
7 センサー信号線(青)
14 リレーGND(緑)
センサーの電源(赤)と、センサー信号線(青)の間には4.7kΩのプルアップ抵抗をつけています。(ビニールテープでまいてあるところに内蔵)
プログラム作りですが、いつものようにIPアドレスを音声で読み上げる機能をまずインストールします。
続いて、センサの動作を確認するため、以下のことを行いました。
apt-get update
apt-get upgrade
そしてapacheとPHPのインストール。
apt-get install apache2 php5
nano /boot/config.txt でconfig.txtファイルを開き、一番下に
dtoverlay=w1-gpio
を追加して保存。
nano /etc/modules を開き、一番下に
w1-gpio
w1-therm
を追加して保存。
一度再起動してから、
nano /var/www/temp.php でファイルを作成し、以下の内容を貼り付けて保存。(こちらを参考にさせていただきました)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php $handle = fopen("/sys/bus/w1/devices/w1_bus_master1/w1_master_slaves", "r"); if ($handle) { while (($sensors = fgets($handle)) !== false) { $sensor = "/sys/bus/w1/devices/".trim($sensors)."/w1_slave"; $sensorhandle = fopen($sensor, "r"); if ($sensorhandle) { $thermometerReading = fread($sensorhandle, filesize($sensor)); fclose($sensorhandle); // We want the value after the t= on the 2nd line preg_match("/t=(.+)/", preg_split("/\n/", $thermometerReading)[1], $matches); $celsius = round($matches[1] / 1000); //round the results $fahrenheit = round($celsius*9/5+32); print "Sensor ID#: $sensors = $celsius °C / $fahrenheit °F<br>"; $sensors++; } else { print "No temperature read!"; } } fclose($handle); } else { print "No sensors found!"; } ?> |
その後、LAN内のPCやスマホで http://ラズベリーパイのIPアドレス/temp.php を開いて温度が表示されれば温度センサーはOKです。
続いてリレーの動作について、
WiringPiのインストール
git clone git://git.drogon.net/wiringPi
cd wiringPi
git pull origin
./build
リレーをテストするスクリプトを作成
nano /etc/RelayTest.sh でファイルを作成し
1 2 3 4 5 6 7 8 |
gpio mode 8 out while : do gpio write 8 1 sleep 0.1 gpio write 8 0 sleep 0.2 done |
と書いて保存したあと、
chmod 755 /etc/RelayTest.sh
で実行権限を与えます。 そのあと、
/etc/RelayTest.sh を実行するとリレーがカチカチ言いながらオンとオフを繰り返せばリレーOKです。
ここまで確認できたので、ケースを買いに行きました。 AC220Vがリレーモジュールの裏側に出ているので、バラバラでは危ないのでケースに入れる必要があります。 ケースはAlexanにあった一番大きいプラスチックケースで45ペソでした。 行ったのはTimog Avenue branchですが、道路沿いの駐車スペースにホームレス家族が座っていて車を止めにくかったので、お店の前の駐車場に入ったんですが、入り口のスロープが急な上に途中で角度が変わっていて、車の底をジョリっと言わしてしまいましたので、お出かけの方はご注意ください。(googleストリートビューから拝借した画像ですが、奥の小さな建物がお店で店員さんが二人いますが暇そうです。 画像のガードマンさんが招き入れてくれるまま駐車場に入ろうとすると、ジョリっと言わしてしまいますので注意。)
で、ケースに収めたのが以下の画像です。


デジタルアンプとスピーカーは引き出しの中に眠っていた部品ですが、”調理をスタートしました”、”30℃です”、”31℃です”...”設定温度に達しました”、”調理を終了しました”という音声、およびLANケーブルを接続して起動したときには自分のIPアドレスを話すようにするためです。
実際に作成したプログラムの中身は需要がないと思いますので割愛しますが、もし知りたい方がいらっしゃいましたらメールでご相談ください。
※12月28日追記:イメージファイルをダウンロードできるようにしました。 8GBのSDカードに書き込んでください。 Raspberry Pi B, B+, Pi 2で起動できます。 SSH接続はユーザー名 root, パスワード raspberry です。 起動時に音声でIPアドレスが流れますのでイヤフォンを挿し込んで起動してください。
音声で読み上げられるIPアドレスをブラウザで開くと設定画面が表示されます。
設定内容は、最高温度(この温度に達すると電源オフ)、最高温度からx℃下がったら再度オン、最高温度に達したあとx分経過で終了(オフ)、の3つです。
そして、最後に実際に使ってみた結果です。

設定は最高温度69℃、-0.5℃で再度スイッチオン、30分調理にしました。
結果ですが...卵の画像を撮るまえに、パンツの後ろポケットに卵を入れたのを忘れて座ってしまい、ポケットの中で卵がぐちゃぐちゃになったので画像なしですが、黄身が硬めで白身はゆるい感じだったようです。
問題は、炊飯器のヒーターはアルミダイキャストの大きな土台の下に入っているのですが、69℃で電源が切れたあとも高温に熱せられた土台の余熱で5分位は水温が上がり続け、最高75℃になってしまったことです。 余熱を持たないシンプルな電気ポットのようなものを使うと改善されるものと思います。
うまく調理できるようになれば、フィリピンでも温泉卵が食べ放題、その他お酒の燗をつけるのもの上燗、熱燗自由自在です。
12月25日追記
炊飯器以外に、家には電熱器(1200wと600wの切り替えスイッチつき)があったので、電熱器に小さな鍋を乗せ、蓋をせずに再度チャレンジしてみました。
設定は最高温度66.5℃、-0.5℃で再度スイッチオン、30分で調理終了にしました。 途中経過は、水温31℃からスタートで10分後に設定温度に達してスイッチ・オフ、その後5分ほど温度がゆっくり上がり続けて最高で69℃、その後5分で66℃まで下がってスイッチが入り、以降は約30秒スイッチオン、約1分40秒スイッチオフを繰り返しながら30分の調理時間が経過して終了しました。
早速水で冷まして割ってみたのがこれです。
白身は柔らかく、黄身はトロッとしていて完璧です。 お正月用に卵をたくさん買ってくることにします。