12月 2023

You are currently browsing the monthly archive for 12月 2023.

最近Youtubeのオーディオ自作界隈で話題なのが、自作派の友:秋月電子の「広帯域用スピーカーユニット10cm 8Ω 10W」です。

https://akizukidenshi.com/catalog/g/gP-18081/

これは日本の北日本音響のフルレンジスピーカユニットで、なんと価格が1個:330円で販売されています。ただフレームはペラペラの鉄板で、マグネットも小さく、こんなんでまともな音が出るのか?という見た目ですが、これが驚く事に他社の高級ユニットに勝るとも劣らない良音質をたたき出します。

(参考動画:宮甚商店)
https://youtu.be/D9Dm0LMRK6s?si=0Th_eO-YQnGkH9M1

ラジオ用のスピーカーとしても良さそうなんで、秋月に行ったついでに2個買っておきました。それで作ってみたのが写真の黒い箱のスピーカー「HORATONE」です。

IMG_3252

オーディオ好きまたは音楽制作関連の方はご存知かもしれませんが、スタジオのモニターで有名な「AURATONE」というスピーカがあります。当方の知人が愛用していて音を聞かせてもらったことがあるのですが、非常に定位・バランスや鳴りが良くて驚きました。

 auratone-5c-passive-black-pairのコピー1

https://umbrella-company.jp/products/5c-super-sound-cube/

ということでこの秋月ユニットを使って作製したのが、世界の名器オーラトーンのパチモノ:ホーラトーンです。

IMG_3251

ラテン系ヨーロッパ言語では、「H」の音は発音しません。例えば車やサッカー選手の「HONDA」は「オンダ」と発音します。ということで、HORATONEは「(ホ)オーラトーン」と発音していただければ幸いですヽ(^o^)丿
もちろんパチモノということで、日本語の「ホラ」にもひっかけています。

実は当方は木工が大の苦手で、木材を正確に切ったり貼ったりするのが全くだめだめです。ということで今回はカインズで見つけたKumimoku Sukittoという木箱をスピーカーボックスに利用してみました。14cm x 14cm x 15.2cmのキューブ状で、そこそこ板厚もあり、木目もきれいです。そして価格も1個598円と非常にリーズナブルです。これにMDFのバッフル版を前面から取り付けています。実はこの穴あきバッフル版も既製品でこの箱にぴったりハマります。

IMG_3136のコピー

バッフル版の固定方法は接着ではなく、スピーカーユニットの固定ネジにねじ切り型のスペーサーを取り付け、4mmの長尺ネジ(12cm)で背面から固定しています。これで組み立て後の分解も可能にしています。

IMG_3187 IMG_3250

もう一つ苦手なのが塗装なのですが、同じカインズで売っていた「Kumimoku 筆のいらないステインカラーズ エボニーブラック」を使ってみました。ちょうどこの木箱の塗装用に作られていて、ヤマトのりみたいな感じで筆なしで塗装できます。498円の1本でスピーカーボックス2台分余裕で塗装できました。

ということで、HORATONEの楕円形のラベルをパワポで作って両面テープで貼り付けて完成です。塗装が乾く時間をとっても工作は1日で完了しました。

オーラトーンの本物の価格は1台33,000円ですが、ホーラトーンは1台の部品代概算で、約2500円と1/13以下のお値段となります。

では実際の音はどうなんでしょうか? 単なる主観になりますが結構いい線いってると思います。

やはりとても330円のユニットの音には聴こえない、噂どうりの実力で驚きました

学生のころから、電子部品を調達するために頻繁に秋葉原に出向いていたのですが、コロナ以降ほとんど通販ですますことが多くなって、実店舗に足を運ぶ機会は以前より少なくなってしまいました。(交通費より送料の方が安いし)
しかしやはり現物を手に取って形状や状態を確認したり、思わぬ掘り出し物に出会ったりするワクワク感は、現地に実際に足を運ばなければ得られないものです。

秋葉原に行ったら必ず訪れるのが「秋月電子」で、6月に2Fにもフロアーが拡張されたのですが、ここに「掘り出し物コーナー」というのがあります。そこで見つけたのが「ボッシュ製総合環境センサBME680を使用したセンサモジュール」です。これは現用品は1320円で普通に販売されているものですが、なぜか1個だけ300円で出ていて即Getしました。特に不良品でも無いようで、早速動作させ、まともなデータが得られることを確認しました。

K-14469

BME680は気温、湿度、気圧が1つで測定できるマルチセンサーですが、加えて「ガス(有機溶剤、アルコール等)濃度」の測定をサポートしています。テストでArduinoのライブラリーからこのガス濃度を取ってみると「GAS = xxxkΩ」という値で出てきて、いったいこれが何を示しているのか?さっぱりわかりません。

そこでボッシュ社のサイトをチェックすると、BSEC(Bosch Sensortec Environmental Cluster )というライブラリーがサポートされていて、これを利用すると上記のGAS値をIAQ(Index for Air Quality)やCO2濃度に変換してくれるのです。そしてなんとBSECはArduinoをサポートしていて、ライブラリーマネージャーから簡単にインストールして利用できます。

https://github.com/BoschSensortec/BSEC-Arduino-library

実際試してみるとこのライブラリーを利用できるプロセッサーは非常に限定されていて、最近よく使っているXIAOのESP32C3などではコンパイルエラーが出て使用できません。いろいろ試して「ESP32 Dev Module」で確実に動作することがわかりました。早速ブレッドボードで組んで、linuxサーバーにデータを送ってGrafanaで表示させてみました。

IMG_3245

iaq

IAQは写真のTable4のような定義になっていて、空気の汚れ具合を数値で確認することができます。CO2の値はほとんどこのIAQにリンクしているように見えますが、一応ppm値で出てきます。別にCO2モニターを持っているので比較すると、値の絶対値は目安程度?に考えた方が良いようです。

iaq_table

このBSECライブラリーはソフトウェアの後処理で換算値を算出するので、よくセンサーモニターでやる一定周期で測定して休止期間中にスリープさせてバッテリー駆動させるような使い方はできません。そのため電源を常時つないでおく必要があります。

CO2 gas

今回掘り出し物でたまたま300円で調達できてラッキーでしたが、普通に購入しても価値のある非常に面白いセンサーです。
あとこれの別機種の新製品でBME688というのが出ていて、これはなんと匂い成分のAIプロファイリングをサポートしています。

https://www.bosch-sensortec.com/…/gas-sensors/bme688/

例ではエスプレッソコーヒー豆とドリップ用コーヒー豆の匂い成分の違いをBME AI-Studioでモデリングしています。

https://youtu.be/4vdliMRtxBY?si=4A4DEWqV4ra1i-1S

コーヒー紅茶好きとしては、非常に興味深いので是非試してみたくなりました。

ということで、やはり実際に店舗やコンサートや講習会などに足を運ぶことで、意外な出会いや情報を得ることができるということを実感した、という次第であります。

家庭内のセンサー、環境モニターの測定データ送信先を順次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++に作り替えたほうが良さそうです。