ラズパイに外部スピーカーを設置する
-
2019/11/04 初版
0.参考文献
1.背景
- (1)ラズパイ3B+で、スピーカーから音を出す依頼が出された
- (2)しかし、このラズパイにはみちびきGPSモジュール、4GPIなども接続するので、上手くポート分けをしないと不味い
2.目的
- (1)後になって、「作り方」を必ず忘れるので、今のうちにメモを残しておく
- ちなみに自分用のメモである
- 他人が理解できるかどうかは、スコープ外
- いつも通り
3.前提
- (1)対象となるラズパイ3Bは、みちびきGPSモジュール、4GPI、シャットダウンボタンなども接続する
- (2)(本件とは関係ないが)通信SIM環境化(+SSH)で構築を行った
- (3)ちなみに、TPA2006の増幅実験をしようとして、電池使ったり、イヤホンジャックから音源を取って増幅実験などをしたが、こととごく失敗した
- なので、以下が上手くいったのは、単なるマグレっぽい
5.準備
- (1)秋月電子通商で、TPA2006使用 超小型D級アンプキットを購入する
- (2)音声ファイルをラズパイに放り来んでおく
- 私の場合は、FTPで音声ファイルを/home/piに送りこんでおいた
- 音声ファイルはここから、"door_chime0.mp3"を取ってきた
- (2-1)mpg321をインストールする
- > sudo apt-get install mpg321
- (3)gpioコマンドのインストール
- >sudo apt-get install wiringpi
- GPIOをコマンドから簡単に制御したいので、GPIOをインストールを試みた。
- 結局のところ、このメモを記載している時点においては、これだけでインストールできた
- (4)gpioの稼働確認
- >gpio -v
- gpio version: 2.50
- Copyright (c) 2012-2018 Gordon Henderson
- This is free software with ABSOLUTELY NO WARRANTY.
- For details type: gpio -warranty
- Raspberry Pi Details:
- Type: Pi 3B+, Revision: 03, Memory: 1024MB, Maker: Sony
- * Device tree is enabled.
- *--> Raspberry Pi 3 Model B Plus Rev 1.3
- * This Raspberry Pi supports user-level GPIO access.
- (5)TPA2006の半田付けと配線
-
- (1)半田づけしてショートさせる(理由は知らん)
- (2)(3)スピーカー(8Ω 0.3W)に接続
- (4)ラズパイのグランドへ(今は6番ピン)
- (5)ラズパイの3Vへ(今は1番ピン)
- (6)GPIO18(今は12番ピン)
- (3)テスト配線
- (4)簡単な試験
- >sudo gpio -g mode 18 pwm
- >mpg321 door_chime0.mp3
- これで「ピンポーン」という音がスピーカーから聞こえてきたら成功
- >alsamixer
- (5)その他
- (a)音を鳴らすPIN番号は、現在のところ次の2つしか成功していない
- GPIO18(12番ピン)
- >sudo gpio -g mode 18 pwm
- GPIO13(33番ピン)
- >sudo gpio -g mode 13 pwm
- (試していないが)GPIO19(35番ピン)もいけるらしいが、今回はリブートで使っているので使えない
- (b)GPIO5(29番ピン)とかでも試したが、音を鳴らせなかった
- というか、">mpg321 door_chime0.mp3"で固まってしまった
6. 考察
- GPIO18(12番ピン)は、みちびきの1PPS信号用に差してあるが、当面使う予定はないので、こっちを外して音源にして使うことにする
7. 自動起動化
- (1)概要
- コマンドから、"sudo gpio -g mode 18 pwm"をやるのと同じイメージ
- (2)設定
- ちなみに、以下は"emacs"使っているけど、普通の人には"vi"の方が一般的
- >sudo emacs /home/pi/sounder.py
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- import os
- import time
- os.system("sudo gpio -g mode 18 pwm")
- >sudo chmod +755 /home/pi/sounder.py
- >sudo emacs /usr/lib/systemd/system/sounder.service
- Description=Sounder Daemon
- [Service]
- ExecStart=/home/pi/sounder.py
- Restart=always
- Type=simple
- [Install]
- WantedBy=multi-user.target
- >sudo systemctl daemon-reload
- >sudo systemctl enable sounder
- (3)実行
- 再起動した後、">mpg321 door_chime0.mp3" を押下する
以上