Raspberry Piを使ったSmart Speakerの作成例は色々なところで紹介されていますね。Alexa SDKだったり、Google Home Kitだったり、Apple HomeKit互換のHomebridgeはSmart Speakerとはちょっと異なりますが…
私も、Raspberry PiでHomebrigeを動かし、テレビの操作や照明のオン・オフをSiri経由で制御していましたが、バラック状態で見栄えがイマイチでしたので、ケースに入れることにしました。
1. ケースの選択
ケースは、(株)タカチ電機工業 のプラスチックケースPFシリーズPF18-5-18Wを選択しました。
このケースの良い所は、トップカバーを外すと底板一枚になり、サイドパネルも取り外せるため加工しやすいということ。そして、PC-ABS材を使用し難燃グレード UL94-V0だということです。(←意外と重要ポイント)
2. その他、準備するもの
(1) Raspberry Pi 3B+ これが無いと始まりません。
予め、WiFiに接続できるよう、VNC等でPCからログインできるように設定しておきます。
(2) 電源ユニット — DC5V 2.5A以上、 手持ちの電源(DC5V 3.0A)を使いました。
(3) MicモジュールHAT — SeedStudio ReSpeaker 2-Mics Pi HAT(のパチモノ?)を購入しました。SPもこれでドライブできます。
(4) ACコード、スイッチ — ジャンク箱を漁りました。
(5) STM32F103C8T6ボード — いわゆるBlue Pillと呼ばれているモジュールです。AliExpressから購入しました。(¥200程度です)
IRリモコンコードはRaspberry PiのGPIOでも出力できますが、ALSAとの相性が悪いのか、音声を出力するとリモコンコードのタイミングがめちゃくちゃになってしまい、役に立ちませんでしたのでワンチップマイコンで出力することにしました。
(6) ユニバーサル基板 — Blue PillとIR-LEDドライブ、IR受信モジュール回路実装用です。
(7) スピーカー — これもジャンク箱から発掘。
(8) IR-LED 3個 — マルツで100個入りを購入(笑)
(9) IR受信モジュール — AMAZONで5個パックを購入。
(10) インジケーター用LED 2個 — これもジャンク箱から発掘。
(11) トランジスタ 2個 — 小信号用とLED 3個をドライブする為のちょっと大きめのトランジスタ。ダーリントン接続して使います。手持ちのトランジスタを使います。
(12) 抵抗 — 7本ぐらい?
・IR-LEDの電流制限用 3.3Ω x 3本 チョット無理してLEDに電流流します。
・ドライブトランジスタのベース抵抗 12kΩ(適当 10kΩの手持ちが無かったから)。
・インジケーターLEDの電流制限用 1kΩ x 2本 使用するLEDに合わせて選択。
・IR受信モジュールのプルアップ抵抗 22kΩ
(13) 電解コンデンサ — 精神安定用 10V 470μF
(14) 配線コード、コネクタ — もちろんジャンクから(笑) 分解しやすように、コネクタで脱着できるようにします。
(15) USBケーブル — 2本
・Raspberry Pi電源供給用 ダイソーで購入した充電専用50cm ケーブル細いですね…これに2.5Aも流すのは気持ち悪いですけど。
・Raspberry Pi → Blue Pill USB通信対応
3. 組み立て
(1) ケースの底板に物を置いて、レイアウトを検討します。
(2) 必要な加工を行います。
(3) 部品を固定します。 ネジ止めするのが一番ですが、ナベねじだとゴム足から頭が出て当たりそうですので、今回はホットメルトで固定することにします。
トラスネジやバインドネジであれば大丈夫かもしれません。ホットメルトでもケース樹脂にはしっかりとつきます。(金属側の方が心配)
(4) ワイヤリングします。
(5) ACコード、スイッチを配置して、トップカバーをつけます。
4. 完成
手加工のため、ちょっと歪んだところもありますが、まぁまぁ上手くできました。
現在はHomebridgeだけしか動作させていませんが、マイクとスピーカーも内蔵していますので、これ一台で、Alexa SDK, Google Home SDKも動作可能です。(既にAlexaは動作確認済みです)