Raspberry Pi

You are currently browsing the archive for the Raspberry Pi category.

家庭内のセンサー、環境モニターの測定データ送信先を順次Raspberry pi 3+のUbuntuサーバへ移行していますが、懸案であった「家庭内・消費電力モニター」の改版・移行作業が完了しました。これは2016年に作成したものですが、ラズパイA+を使用してレンタルサーバーにデータ送信し、自前のPHPプログラムでグラフ化していました。

これを宅内LinuxサーバーのGrafanaでグラフ表示させるように改版するわけですが、なにせ7年も前にpython2で作ったシステムなので、この際一気に最新の環境にアップデートしてみました。

IMG_3242 IMG_3243

まずラズパイOSを最新版にしたところ、今まで使っていたUSB/Wifiアダプターが認識されなくなりました。どうもチップが古いようで、ドライバーを探すのも面倒なので手持ちのラズパイZero 2Wに載せ換えました。

python2で書いたプログラムは、移行環境ではそのまま動作しなかったので、こちらも最新のpython3に書き換えました。python3だとThonnyも使えるし。同じpythonという名前ですが、2と3ではかなり変更点が多く、特にライブラリー関係で互換性のないものが多数あるので非常に厄介です。

このシステムでは、電流センサーの出力電圧を読むA/DコンバーターにMCP3002というチップを使っており、ラズパイとはSPIで接続されます。python2のSPIライブラリーは「py-spidev」というものを使用していたのですが、これがなぜかpython3環境だとMCP3002からデータを取ってきません。特にエラーも出ないし、デバックする元気もないので「gpiozero」ライブラリを使用してみました。

https://gpiozero.readthedocs.io/en/latest/api_spi.html

当方はこれを初めて使ったのですが、なんとSPIライブラリでMCP3002を直接指定でき、データの取得も非常に楽です。全く問題なく電圧測定・読み取りできました。

次にサーバーに接続するhttpのライブラリですが、python2では「urllib/urllib2」を使用していました。しかしこちらはpython3ではサポートされないので、使い慣れた「requests」に変更しました。

あとサーバー側ではhttp/POSTで受信したデータをデータベース:mysqlに格納するPHPプログラムを作成し、データベースを設定します。測定データがデータベースに格納されることが確認できれば、後はGrafanaでグラフ表示・可視化を行います。

自宅消費電力w1w2 自宅消費電力w1w2avr

Grafanaではmin/max/aveのほか、積算値(Total)の表示ができるので、任意の期間で総消費電力の表示が可能です。(例えば1日とか1ヶ月など、秒単位で指定可能)

これで電力会社の請求書との比較が簡単に行えます。もっと複雑な計算がしたければSQLでプログラムすることも可能で、Grafanaのフレキシビリティーの高さは圧倒的です。

今回懸案のシステム移行が完了し、色々面倒はありましたがとても気分がスッキリしました。

現在自宅ではRaspberry pi3 B+をSSDでWebサーバー化して、気象ステーション2号機のデータ蓄積サーバーとして稼働させています。
SSDはmac bookより外して余っていた120GBのものをUSBケースに入れてラズパイに接続しています。
OSは使い慣れたUbuntu系で、piのARM系CPUをサポートしている軽量ディストリ・Ubuntu mateをインストール。pi 3のパフォーマンス&メモリ1GだとGUIを動かすのは無謀なところですが、SSDにしたことでオペレーションだけなら普通に使えました。
非常に順調なので宅内に設置しているセンサー類を全てこのpi3にデータ集約することにしました。

IMG_3144

まず、各部屋に設置している環境ロガーと放射能測定器をこのサーバーにデータ送信するようプログラムの書き換えを行い、サーバー側のPHP作成、データベースエントリー、Grafanaの設定を行なっていきます。これらを作ったのは2017年で6年も前なので、今の開発環境でコンパイルするとエラー出まくりでちょっと手間取りましたが無事完了しました。

放射線レベル移動平均

前はグラフ表示をPHPで自前で書いていたのですが、Grafanaのフレキシビリティーの高さに今更ながら圧倒されました。特にSQL文でデータを加工できるので、放射能測定結果に移動平均を計算して表示させることが非常に楽に実現できました。もっと早くSQL+Grafanaに移行すればよかった。いままでSQLをプログラミング言語として認識・作成することはなかったのですが、非常に便利なのでもう少し文法などを学習してみたいと思います。

IMG_3163 IMG_3153

あと、電力消費測定システムと、PM2.5のセンサー、赤外・紫外線測定システムが残っているので順次追加して行こうかと思いますが、電力消費測定システムはpython2.0で書いていて、もう化石のようになっているのでこの際python3かC++に作り替えたほうが良さそうです。

ラジオマニア2022に書いた自作・製作記事の2本目は、「FMトランスミッタとラズパイ・Volumioで作る高音質自宅FM放送局」です。

P3

当方はお風呂に入る時に必ずラジオを聞いているのですが、お風呂場は一般的に電波受信状態が悪く、良い状態でラジオを聞くことは難しくなっています。またお風呂に入る時に聞きたい番組がないことも良くあります。

それで室内にFMトランスミッタを置くことを思いつき、使用したのがAitendoで販売しているデジタル制御型のFMトランスミッタ・モジュールです。このモジュールはUSBオーディオデバイスとしてデジタルでPC等に接続可能で、非常に高音質です。そこでラズパイにこのモジュールをUSB接続し、定評ある音楽再生プラットフォームであるVolumioをラズパイにインストールして、WiFI接続でコントロールできるFM放送局にまとめてみました。

P2

IMG_2415

Volumioは各種のデジタル音源の再生機能の他に、全世界のWebラジオを再生できる機能があります。これを利用して、このFM放送局経由で室内のラジオやFMチューナーでそれらを高音質で楽しむことができます。またApple Airplayでの接続も可能で、ラジコの再生も可能です。

写真5

当方は70〜80年代のFMエアチェック・黄金期に作られたFMチューナーを複数台所有していますが、ワイドFMに対応していないので使用用途が限られていました。本機は任意の周波数で送信できるので、高音質なビンテージFMチューナーがその再生機として蘇りました。

IMG_2437

日本はラジオ局の数が他の国に比べて非常に少なく、海外に行った時には羨ましくてしょうがなかったのですが、本機による「新しい周波数」が増えて一気に世界が広がった感があります。例えばBBCを自宅のラジオで聞いていると、まるで現地でそれを聞いているかのような気分になってきます。

本機の詳しい製作方法は記事をご覧ください。

IMG_2603IMG_2609

P10

Rohm社が運営する「ものづくりを愛するエンジニアやエンジニアを目指す方々に情報をお届けするWebサイト」デバイス・プラスに、「ラズパイを使ったコーヒーメーカー制御装置の製作」という記事の連載を開始いたしました。

P1

4回の連載で、装置概要、ハードウェア作製、Pythonによる制御ソフトウェア、リモート制御についてカバーする予定です。

これは以前作製して、ここに概要だけ上げていたものですが、今回の連載記事では詳細な作製方法を解説しています。
またこの連載用に改版して機能追加も行っています。

第1回:装置の概要とコーヒーの抽出について
https://deviceplus.jp/hobby/coffee-maker-with-raspberry-pi-01/

第2回:ハードウエアの製作
https://deviceplus.jp/hobby/coffee-maker-with-raspberry-pi-02/

第3回:Pythonによる制御ソフトウェア
https://deviceplus.jp/hobby/coffee-maker-with-raspberry-pi-03/

第4回:リモート設定
https://deviceplus.jp/hobby/coffee-maker-with-raspberry-pi-04/

 

 

ESP8266photo

ESP-WROOM-02

5$/600円のZeroや、10$/1200円のWiFi,Blue Tooth付きのZero-Wが日本でも発売され(Wはまだ発表のみですが)、ますます勢いに乗るRaspberry Piですが、コントローラーで使用する時には一つ弱点があります。それは消費電力が大きい事です。

宅内でAC電源を使用して動作させる分には、あまり問題にはならないのですが、AC電源が使えない場所でバッテリー動作が必要な局面では、この消費電力の大きさがネックになります。
Raspberry piは、UNIX系のOSを使用してWiFi等を常時使う構成が基本なので、そのために消費電力が大きくなるのは致し方ないところでしょうか。
UNIXを使用する事で得られる、高機能や・フレキシビリティーとのトレードオフがこの高い消費電力というわけです。

 以前mbedを使用して、温度や湿度、気圧等の環境モニターをするシステムを作成し、これを今回Raspberry piを使用したシステムに移行しようと思い、検討してみたのですが、屋外での気温等のモニターを考えると、バッテリーでの動作が非現実的(消費電力が大きいので動作持続時間が短い)なため、その使用をあきらめたのでした。

 それで色々調べていると、巷ではESP-WROOM-02というコントローラーが密かにブームになっている事がわかりました。これはESP8266というSoC-32bit MCUにWiFiを搭載したモジュールで、なんとAudiunoのIDEを使ってソフトウェア開発ができるのです。言語はAudiunoと同じC言語になります。
私はこのモジュールの事を全然知らなかったのですが、昨年のトランジスタ技術の特集(2016年9月号:Web脳接続!Wi-Fi×3G/LTEでIoT製作)で詳しく解説されていました。この特集が非常に良く書かれていて、ESP-WROOM-02の開発ツールの設定方法から、バッテリーで動作させるためのスリープモードの使い方まで、色々な実例で詳しく説明しています。
自分でも試しに一つ作ってみたのですが、非常に良好で、完全にこれにはまってしまい、以下の4つの環境モニターシステムを一気に作成する事が出来ました。

  1. 室内の温度・湿度・大気圧をモニターするシステム(バッテリー駆動)
  2. 室外の温度・湿度・日光のレベル:光、IR、UV紫外線モニター(太陽電池駆動)
  3. 花粉・PM2.5のモニターシステム
  4. 放射能レベルモニター:市販のガイガーカウンターキット:GC10のデータを収集
IMG_0539j

室内:気温、湿度、気圧モニター
乾電池(単三x3)で動作

IMG_0542j

ESP-WROOM-02にHDC1000温度湿度センサー、SPI気圧センサーを接続

IMG_0534j

屋外環境モニター 太陽電池LEDユニットを電源に利用。気温、湿度の他にUVセンサーを具備

IMG_0531j

防水対策で100円ショップのシール容器に実装

IMG_0537j

花粉・PM2.5モニター

IMG_0538j

微粒子センサーをESPに接続。上部にファンを付けて気流を発生

IMG_0564j

GC10ガイガーカウンター モニターシステム

IMG_0550j

ガイガーカウンターキット:GC10のシリアルポートに接続したESP(デバック中)

このESP-WROOM-02の特徴をサマリーすると以下になります。

  • 低価格:秋月電子で基板化されたものが650円で購入可能
  • WiFi機能内蔵:日本の技適をしっかり取得している
  • 定評あるArduinoのソフトウェア開発環境(Arduino IDE)を使用可能
  • 充実したWiFi関係のライブラリがある(http関係)
  • I2C、SPI、A/D、GPIO等のIOが、しっかりサポートされている。
  • ディープスリープモードによりμAオーダーに消費電力を低減可能。これをプログラム制御できる。

 Raspberry piもZEROが発売されて、低価格になったのですが、ESPはWiFiが内蔵されて650円なので非常に気軽に使う事が出来ます。
ラズパイで出来ないのがディープスリープモードで、これによりバッテリー駆動のシステムが実用的に作成可能になります。
WiFiそのものは、常時動作させると消費電力が大きく、これはどのシステムでも同じなのですが、定期的にデータを取ってサーバーに送信するようなシステムでは、測定しない時にディープスリープモードに移行して消費電力を劇的に抑える事が可能になるわけです。
今回、室内のモニターにはアルカリ乾電池を、室外のものは太陽電池を使用しました。
どのシステムも、定期的にデータを収集して、httpでWebサーバーにデータを送信します。
サーバーサイドとグラフ表示はいつものようにPHPで書いています。

ESPモニター

html、JavaScriptで書いたサマリー

esp-temp-graph (1)

屋外の気温と湿度

esp-UV-graph (1)

太陽光とUVインデックス

esp-dust-graph2ch (1)

花粉とPM2.5

esp-gc10-graph

放射線量 CPM/μCv

以降の記事で、各システムについて個別に説明できればと思います。

Tags: ,

 前投稿で紹介した、ラズパイを使ったホームラジオ・デスクトップオーディオシステムですが、FM電波を受信するラジオ機能の部分で、ラズパイの雑音の影響を受ける事や、外部アンテナの接続が出来ない等の問題がありました。
今回その部分を改善して、ほぼ満足のいく形に仕上げる事が出来ました。

IMG_0377-1

完成したラズパイ・ホームラジオ・デスクトップオーディオシステム

 具体的には使用しているSparkFunのFMラジオボードを、アンテナにヘッドフォンケーブルを使用しないタイプのものに変更しました。このボードのラジオチップは同じSi4703が使用されており、ソフトウェアの変更は全く必要ありませんでした。オーディオ部はヘッドフォンアンプのチップが削除されていますが、出力はラインレベルで出ているので、本機ではこちらの方が使いやすいです。

11083-04

SparkFunのSi4703 FMラジオボード

 それからラズパイのボードから出力される高周波ノイズの影響を出来るだけ小さくするため、このFMラジオボードを背面のラズパイが入っているBOXから、前面パネル側に移動しました。

IMG_0381-1

Si4703ボードを前面パネルに移動。基板を作り替え

 ボードのアンテナ端子には、75Ω同軸を最短で接続し、インピーダンス変換バランを介して300ΩのT型フィーダーアンテナに接続しました。アンテナは室内壁面に適当に配置しましたが、簡易的に付けたホイップアンテナとは比べ物にならないくらい受信レベルが上がり(33→55dBμ FM-Tokyo)ラズパイからのノイズの影響もほとんど気にならなくなりました。やはりインピーダンス整合は重要です。

IMG_0380-1

Si4703ボードのアンテナ端子に75Ω同軸を直結

IMG_0379-1

Tokyo-FM 80MHz受信中。受信レベルは55dBμに向上

 それで、本機はRadikoのインターネットラジオ受信機能も付けたので、同じ放送をFM電波とRadikoで聞き比べてみました。RadikoはHE-AAC(High-Efficiency Advanced Audio Coding)という方法で圧縮され、そのビットレートは48kbpsです。普通MP3とかで音楽的に聞けるのは128kbpsくらいまでなので、このHE-AAC 48kbpsはそれよりもかなり低ビットレートで送信されている訳ですが、意外と帯域は延びている感じがします。このホームラジオではDAコンバーターにハイレゾまで対応できるHiFiスペックのものを使用したので、それも要因としてはあるかと思います。

 FMラジオモジュールとRadikoの音質の比較ですが、受信レベルが十分に高い場合は、はっきりとFM電波の方が高音質で聞きやすいことがわかります。Radikoは一聴してS/Nが良い感じがするのですが、音に深みがなく薄っぺらいのです。これはやはり圧縮率が高いため、データ量が少ないので致し方ないかと思います。むしろこの低ビットレートでかなり良好な結果を出しているなあと思います。FM放送ですが、まあ昔からケンウッドやアキュフェーズの高級FMチューナーから出てくる音は非常に評価が高かったし、特にNHK-FM放送はクラシックのライブ放送などは高音質で定評がありました。
今回使用したSi4703チップは、スペックを見るに高級FMチューナーには及びませんが、最新のDSP技術を使っており、豆粒大のチップなのに中々の実力を持っている事が実感できました。このようなピュアHiFiとは異なるホームラジオでも、FM変調電波の優位性がはっきりしたので、苦労してFMラジオ再生機能をつけたかいがありました。

si4703bd

Si4703 FMラジオチップのブロックダイアグラム
ダイレクトコンバージョン+DSPで構成

IMG_0383-1

かんすぴの背面にマウントしたBOXに、ラズパイ、DAC、電源、オーディオアンプを実装。FMロッドアンテナは結局未使用

ブロックダイヤ

最終的なシステムのブロックダイアグラム

以上でほぼ満足の行くホームラジオ・デスクトップオーディオシステムが完成しました。まったりとしたラジオサウンドは、作業の邪魔をしないので、ながら聞きに最適です。またAirplay経由で再生する、Jazzボーカルやリュートのソロは、中々に魅力的なサウンドを聞かせてくれます。使用したかんすぴ:8cmフルレンジスピーカーの良さも、それに大いに貢献していると思われます。

Tags: , , , , , ,

ラズパイ自作シリーズ第3弾、ホームラジオ&デスクトップオーディオシステムがほぼ完成しました。

IMG_0371

Raspberry piを使用したホームラジオ&デスクトップオーディオシステム

前作ったものは、ラジオというよりはアンプ入りスピーカボックス程度のものだったので、今回Raspberry piを使って本格的な「ホームラジオ&デスクトップミュージックシステム」を作成しました。
以下のような仕様・機能特徴を持っています。

  • Fostexかんすぴを使用して、低音域が充実した理想のホームラジオサウンドを実現
  • Si4703/DSP FMチップをラズパイから制御してFMラジオ放送(ワイドFM対応)受信
  • Rajiko/らじる等のインターネットラジオ再生機能を追加。プリセットされた各局をワンタッチ再生可能
  • Apple Airplay再生機能。iTunesやiphoneから高音質で音楽再生可能
  • DACモード。Raspberry piのlinuxサウンドアプリ(例えばVLC等)から再生可能

以前ホームラジオについてブログに書いたのですが、充実した低音域を再生できる事がホームラジオ的な心地よいサウンドを生み出すために重要である、という点に触れました。
http://lute.penne.jp/thumbunder/?cat=44 (ホームラジオ(1)~(3)参照)

IMG_0357

Fostexかんすぴ前面にパネルを付加。I2C液晶ディスプレー、モード切り換え用ロータリーSW、音量調節VRを設置。パネルは15mmのポストをかんすぴに付けて固定

IMG_0369

ブラウンSK2を意識した外観

以前作ったものと同様に、Fostexのかんすぴを使用してそれを実現しています。1サイズ大きい8cmフルレンジ対応のものを使用しました。
全面パネルには同様にタミヤのユニバーサルプレートを使用して、ブラウンのSK2っぽい外観を目指してみました。つまみは機能選択のロータリースイッチと音量調節用の2つです。赤いタクトスイッチは選局用で、I2C接続された液晶パネルに各種情報を表示します。
パネルとかんすぴの間の隙間には、布製のベルトを巻き付けています。ゴムベルトを入れてテンションを付けフィットさせています。色を変えたベルトで、気分によって簡単に交換できます。

IMG_0356

かんすぴ背面に取り付けられる回路部。左はラズパイでPHAT DACとユニバーサルボードを実装。右の赤い基板がSi4703 FMラジオ基板。その下が1Wアンプと低雑音電源ボード。

コントローラーはもちろんラズパイです。手持ちの都合でラズパイ2を使用していますが、最新の3で動作は問題ありません。
ケースはタカチのLC165H-Nで、かんすぴの背面にぴったりと収まります。

ラズパイのGPIOコネクターに、回路実装用の秋月のユニバーサル基板をのせ、その上にPHAT DACという小型のDACボードを取り付けています。
このボードは24bit/192kまでのハイレゾ再生に対応可能な、中々に高性能なものですが、非常に小型です。(元々はラズパイゼロ用)
こちらはAirplayと汎用デジタルソース(Radikoなど)再生に使用しています。

秋月のラズパイ用ユニバーサル基板は、外部電源の使用が可能でUSB接続が不要になります。早速それを使ってみましたが、5V/3.3V/GNDのパターンが独立して設けられており非常に使い勝手が良いです。値段も150円と非常にリーズナブルです。

かんすぴを駆動するアナログアンプは、以前使用して良かった秋月のHT82V739 DIPサイズアンプ基板を使用しました。小型でも出力は1W程度あり、電源電圧が3.3Vからでも動作できるので非常に使いやすいです。
それでこれを単純に共通電源を使って組んだところ、ラズパイと電源からのデジタル低周波ノイズの回り込みによる影響を受けてしまいました。そのため、絶縁型DCコンバーター(5V入力5V-600mA出力のDC-DCコンバーター)を使って、デジタルとアナログのグランドラインを完全に分離し、さらに低雑音レギュレーター(TPS7A4700使用)を入れて、スイッチングノイズを取り除きました。これで聴感上もノイズを判別不能にするまで追い込む事が出来ました。この絶縁型DC-DCは高周波トランスを使っており、それで入出力のグランドを分離する事が出来ます。

Pasted Graphic

どちらも秋月電子で販売されており、ここはもう本当に自作派の強い味方です。
絶縁型DCコンバーター http://akizukidenshi.com/catalog/g/gM-04261/
低雑音レギュレーター http://akizukidenshi.com/catalog/g/gK-06194/

全体のブロックダイアグラムは以下になります。(手書き!)
これらをコントロールするソフトウェアは、Pythonで記述しています。

radio-schem

ラズパイホームラジオ ブロック図

IMG_0364

FMラジオ・モード 局名と周波数、受信レベル(SG)を表示。赤いボタンでプリセット局選択

FM放送波を受信するラジオ機能には、SparkFunから発売されている、Si4703搭載FMラジオチューナ評価ボードを使用しました。

Si4703は豆粒大のチップにステレオFMチューナーの機能を詰め込んだもので、内部ではDSPが使用されています。インターフェースはI2Cでラズパイからコマンドで制御します。このDSPは非常に高性能で、それによって良好な受信特性を実現しています。ただこのSparkfun製のボードは、FMアンテナ入力がヘッドフォンケーブルを利用することを前提に作られており、そのため本機のような組み込み用途ではケーブル引き回しによって高周波ノイズを拾ってしまいます。DSPフィルターの遮断特性が優れているため、ある程度の電波入力レベルがあればノイズは気にならないのですが、入力が弱い時にはその影響をもろに受けてしまいます。
SparkFunでは、アンテナにヘッドフォンケーブルを利用しないタイプのボードも出しており、そちらを現在発注中で、到着したら今のものから入れ替える予定です。

IMG_0363

Radiko、らじる再生モード。赤いボタンでプリセット局を選択

それで、電波によるラジオ受信に加えて、雑音の影響を全く受けないインターネット・ラジオ(Radiko、らじる他)の再生機能を追加してみました。
この機能はAirplayを利用すればパソコンから利用できるのですが、それ無しに単体で再生できる機能を加えてみました。
linux上で、Radikoやらじるを再生したり、なんと予約録音する機能までも実現するスクリプトを作って公開されている方がいらっしゃいます。本機ではそちらをありがたく利用させていただき、Pythonのプログラム中からそのスクリプトを実行制御しています。
おかげでこの機能を考えてから調査して動作させるまで、実質2~3日で実現できました。
このスクリプトではオープンソース・メディアプレーヤーのmplayerを使用しているのですが、これが非常に強力な機能を持っています。
また、OS自体のマルチタスク管理が非常に優れているので、高機能なプロセスを何の心配も無く起動・制御・終了できます。
先人たちによる、UNIXからの綿綿たる莫大な技術資産を、この数千円のラズパイボードでフルに利用できるわけです(しかも無料)。
これこそがラズパイ・linuxを使う最大のメリットと思います。
Radikoやらじるのインターネットラジオは、ノイズの影響を受けない安定性は非常に良いのですが、圧縮音源のためやや音質に難があります。どちらかというと、FM電波を良好に受診した時の方が、良い音質だと思います。そのためあえてFMラジオモードを設けています。

IMG_0366

AirPlay、DACモード

最後は、Apple AirPlayとDACモードです。
Airplayは、これまた強力なshairport-syncとういうオープンソースのプレーヤーがRasbian/linux上でサポートされています。このプログラムを常駐させればitunes等からAirPlay対応デバイスとして認識されます。
下はitunesで「Raspberrypi2_radio」という名前で認識されているところを示しています。

itunes-raspberry

itunesでAirPlay対応デバイスとして認識されたRaspberry pi

AirPlayでは、16bit 44.1kHzまで対応可能なので、CDと同等の音質で再生することが出来ます。
itunesの他にも、当方が愛用している高音質ソフト、Audirvana PlusでもAirPlay経由で再生可能です。
Macでは、システムサウンドの出力先にAirPlayデバイスを設定可能なので、Mac側からRadikoやらじるの再生も可能です。

IMG_0374

Macのitunesから、AirPlayで再生

IMG_0375

Mac用高音質再生ソフト、Audirvana Plusでも出力先にAirPlayを指定可能

あと、Raspberry pi のlinux OSである、Raspbianも進化が著しく、新しいPIXELではWebブラウザーもChromiumがデフォルトで使えるようになり、Flash playerプラグインを入れれば、そこからRadiko等の再生も出来るようになりました。(ややCPU負荷が高いですが)
また、VLCのようなメディアプレーヤーを使えば、普通にDAC経由で音楽再生が可能です。ハイレゾも問題ないです。
VNCもシステムで標準サポートされるようになり、リモートからのデスクトップオペレーションも非常に快適に行えます。

raspberry-vnc-sc

VNC接続し、リモートデスクトップでVLCメディアプレーヤーを使用して音楽再生

本機の機能としては以上になりますが、ラズパイをコントローラーに使用した事で、単なるラジオにとどまらない柔軟な機能を持ったデスクトップオーディオシステムを短時間で作成する事が出来ました。本気のピュアHiFiオーディオ再生も良いですが、このようなラジオ的音質でまったりと聴くのも良いものです。特に何か作業をしながらのながら聴きには最適です。

外観の処理等は、手作りなのでメーカー製のようにきれいにはいきませんが、それなりに愛着の持てるデザイン・外観になったと思います。机の上においてこれでラジオや音楽を聴いていると、若かりし頃に深夜放送等を聴いて夜更かししていた頃のことが思い出されてきました。

Tags: , , , , , , ,

当方はコーヒーが大好きで、普段は買って来た豆をミルで敷き、ペーパーフィルターのハンドドリップで淹れて飲んでいます。この方法を使えばかなり美味しくコーヒーを淹れる事が出来るのですが、それなりに手間がかかります。
それで簡単にぱっと飲みたい場合は市販の電気コーヒーメーカーを使用します。粉と水をセットして電源スイッチを入れるだけなので手間はかからず、ある程度よい豆を使えばそれなりに美味しく出来るのですが、さすがにハンドドリップで丁寧に淹れた場合に比べると味は劣ると思います。

この味の差を生む要因としては、以下の3つが考えられます。

  1. お湯の温度
  2. 蒸らし時間
  3. お湯の注ぎ方(単位時間あたりのお湯の量や、回しながら等の粉への注ぎ方)

 1、のお湯の温度ですが、ハンドドリップの場合、やかん等で沸騰させたお湯を別のドリップポットに移してから粉に注ぎます。こうする事によってお湯の温度を100度から92〜95度前後に落とす事が出来ます。これは日本茶の場合と同じで、沸騰したてのお湯では温度が高すぎて雑味が出て来てしまうわけです。以下のリンクのページに解説されています。(リンク切れになっていました)
http://www.cupofcoffee.jp/1652/

 2、の蒸らしは非常に重要で、一度粉にお湯をいきわたらせて十分に豆を膨らませます。
こうする事によって豆からのコーヒーエキスが十分に引き出されるようになります。以下のリンクのページに蒸らし時間の重要性がわかりやすく説明されています。https://www.thecoffeeshop.jp/ct_extraction/steaming-time-hand-paper/
https://santos-coffee.net/onayami/coffee-170107.html

 3、の注ぎ方は、どの程度の時間お湯をコーヒーに浸して抽出するかに関係します。一気にどばっと注ぐか、少しずつゆっくり注ぐかによって味が変わってきます。この要素はドリッパーの種類によっても大きく変わってきます。例えば1つ穴のメリタ式は適当にお湯を注いでも、穴が1つでゆっくりお湯が落ちて一定の抽出時間が維持できますが、3つ穴式のカリタや円錐型のコーノやハリオでは、落下速度が速いので、お湯の注ぎ方を自分でコントロールする必要があります。(それだけ自由度があるということになります)
各社ドリッパーの違いをまとめたサイトがあります。
http://seminarbox-note.com/2015/09/13/dripper-hikaku/

 それで、一般的なドリップ式の電気コーヒーメーカーは、スイッチを入れると適当な間隔でお湯がコーヒ粉に注がれるだけなので、上記の1から3のポイントはほとんど何も考慮されていません。以前からこの3つの要素を自由にプログラムできるようなコーヒーメーカーが出来たらいいなと思っていたのですが、同じ事を考える人はいるもので、ハリオ社からすごい製品(Smart7)がリリースされました。
http://smart7.jp/index.html

これは上記3つの要素を自由にプログラムできるという超すぐれもので、やられた!といった感じですが、さすがにお値段もすごく(54,000円!)、簡単に手が出せる代物ではありません。まさにコーヒーメーカーのフェラーリ、ポルシェといったところです。

 そこで市販のコーヒーメーカーに一手間加えて、できるかぎりハンドドリップで淹れた味に近づけるための外部装置をRaspberry piを使って作ってみました。それがこれです。

coffee-t8

左端の青いLEDがUSB Wifiアダプター

この装置は市販の電気コーヒーメーカーのACコンセント部分に取り付けるもので、コーヒーメーカー本体の改造等は一切行いません。コーヒーメーカーの電源のON/OFFだけを時間制御します。
当方はタイガー魔法瓶のACC-A060-Kという製品を組み合わせました。電源をいれるとお湯が注がれるだけの極めてシンプルなもので、お値段も2500円程度と非常にお手頃です。
https://www.tiger.jp/front/productdetail/confirm?productId=ACC-A060

coffee-t6

タイガー魔法瓶のACC-A060に接続

外部装置は写真の黒いボタンで、コーヒーを何カップ淹れるか(2〜6杯)を選択します。液晶にCap数が表示されます。あとは、赤いボタンを押せば通電開始します。
それで、最初に一定量のお湯が注がれると、通電を止めて蒸らしに入ります。蒸らしが終わるとまた通電してお湯が注がれ始めます。

coffee-t2

黒ボタン:Cap数設定、赤ボタン:Start、LEDは赤が動作中点滅、黄色が通電表示

この装置は、以下の3つの時間をカップ数ごとにプログラミング設定できます。

  • 初期お湯投入時間
  • 蒸らし時間
  • 蒸らし後の通電時間

これにより、最初に説明した1〜3の要素のうち、2の蒸らし時間を自由に設定する事が可能になります。

1のお湯の温度の制御は、根本的な機器の作り込みが必要なので、元のコーヒーメーカーのままで何もしていません。このタイガーの製品はシャワー状に注ぐので、熱湯よりは温度が下がっているように思われます。(測っていませんが)

3の抽出時間ですが、このタイガーの製品はメリタと同じ1つ穴タイプのドリッパーを使用しています。そのため落下時間はゆっくりなので、特に制御は行わず、メリタ式と同じ考え方(ある程度適当にお湯を注いでも抽出時間は1つ穴の落下速度で決定される)になります。

coffee-t7

蒸らし中の様子(豆が古くてあんまり膨らんでない。。)

 機器の内部構造は別に詳しく紹介できればと思いますが、Raspberry piはWifiでネットワークに繋がるので、上記の3つの制御時間をPCやスマホ等から変更できます。
これによって好みの味に追い込んだり、豆によって変更したりすることが可能になるわけです。

coffee-t3

Raspberry pi A+を使用し、スイッチサイエンスのユニバーサル基盤上に回路を実装

それでこの装置で淹れたコーヒの実際の味の違いですが、自分で言うのもなんですがなかなかいい線いってます。ハンドドリップに近づいたと思います。ヽ(^o^)丿

詳しい内部構造や、Raspberry piでどのように制御を行っているかは、別のポストでご紹介できればと思います。

Tags: , , ,

2011年頃からmbedマイクロコントローラーにはまって、それを使って気象情報収集や自宅消費電力測定等、いろいろなシステムを作り、このブログでも紹介してきました。その後世の中的には、IOTだなんだと騒がれ初めて、mbed以外にも様々なプラットフォームが出て来たのですが、その中で今最も勢いがあるのがRaspberry Piです。

当初Raspberry Piは、主に教育用を目的に開発されたためか、制御用のIOやそのソフトウェアサポートがあまり充実しておらず、当方は全く魅力を感じませんでした。ところが、IOの数を増やしてCPUパワーを上げた第二世代のmodel B-2が出てから開発が加速して、現在のmodel B-3ではwifi/bluetoothも標準装備され、さらに5$という驚きの低価格のmodel zeroが出て、とても無視出来なくなってきました。それで当方も半年くらい前から本格的にRaspberry piに取り組み始めました。

まず手始めにmbedで作った自宅の消費電力測定システムをRaspberry piを使用して組み替えてみました。

raspi-ep1

Raspberry piに変更したシステム

このシステムは、分電盤に付けた電流センサーのアナログ電圧値をmbedの内蔵A/Dコンバーターで読み取って、webサーバーに結果を送信していました。Raspberry piはA/Dコンバーターを内蔵していないので、MCP3002 2ch 10bit A/Dチップを取り付け、それで電圧を測定します。インターフェースはSPIでRaspberry piと接続します。このICチップは秋月電子で、一個180円(安い!)で売っています。

raspi-ep2

ケース内部 上部にModel A+

raspi-ep3

ブレッドボードにMCP3002 2ch A/D ICを追加

Raspberry piは、一番小型で低価格なmodel A+を使用しました。当方ソフトウェア開発には最新のmodel3を使用しているのですが、今回の用途ではIOとwifiだけで、それほどCPUパワーも必要としないので、A+を使いました。A+はUSBが1ポートあり、これに安価なUSB wifiアダプターを付けています。これを適当な延長ケーブルでケースの外に出して、電波が遮断されないようにしています。

電流センサーの電圧変換回路は前のシステムと同じで、そのまま流用しました。Raspberry pi上のソフトウェアはPythonを使用しています。
約1秒に1回、A/B2系統の電流値を測定して、内部で平均化した値を5分に1回WebサーバーにPOSTしています。Webサーバー側はPHPで書いたスクリプトがPOSTを受け取って、それをテキストファイルに保存しています。グラフ表示はhtml+PHPで作成し、インターネット経由でどこからでも参照できます。

mbedとRaspberry piの詳しい比較は、別のポストで書くつもりですが、このシステムの移行はあっけないくらい簡単に行えました。もうよほどハードウェア要件がシビアでないかぎりは、mbedを使う事は無いと思います。それほどRaspberry piにはまってしまいました。

pi-eplog-y2.php

Webサーバー上に保存された結果のグラフ表示

 

Tags: , ,