はじめに
- 事務所にチャイムがなく、100均のベルが置かれていた
- IT企業っぽく、かつ、手作り感がある素敵なチャイムが欲しかった
- RaspberryPiが好きなので、なんとかしようと考えた結果
システム構成
用意するもの
RaspberryPi × 2個
⇒ RaspberryPi2B+ と RaspberryPi Zero WH
LANに入れればどの機種でもOK
チャイム用スイッチ × 1個
⇒ EG121P
スピーカー × 1組
⇒ ステレオジャックで接続するやつ
受付側ラズパイの設定(ハード)
- 配線に使う線はジャンパワイヤーが便利
- ただし、チャイムスイッチに挟むときに細すぎる気がするのでなにかしら工夫が必要
受付側ラズパイの設定(ソフト)
console
mkdir chime
touch chime.py
vi chime.py
chime.py
#!/usr/bin/python
# coding:utf-8
import time
import RPi.GPIO as GPIO
import commands
GPIO.setmode(GPIO.BCM)
GPIO.setup(15,GPIO.IN,pull_up_down=GPIO.PUD_UP)
sw_status = 1
while True:
sw_status = GPIO.input(15)
if sw_status == 0:
commands.getoutput('curl http://192.168.xx.xxx:8080/chime')
time.sleep(0.03)
GPIO.cleanup()
console
python chime.py
- chime.pyの内容はこちらの記事ほとんどそのまま
- スイッチが押されたらcurlで事務所側ラズパイが待っているアドレスにGET
- 本来はcurlじゃなくてrequests等でやるべき
事務所側ラズパイの設定(ハード)
- スピーカーを繋げる
- 音がでるようにする
事務所側ラズパイの設定(ソフト)
- チャイム音源を用意する
- チャイム音源を鳴らせるようにしておく
console
pip install Flask
mkdir chime
touch chime.py
vi chime.py
chimeHost.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import commands
from flask import Flask
app = Flask(__name__)
@app.route("/chime")
def chime():
commands.getoutput("sh /home/pi/voice/say.sh 'お客様がおみえです'")
return 'OK'
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8080)
console
python chimeHost.py
- say.shは引数の日本語をしゃべってくれるバッチ(詳細はこちら)
- ラズパイを移動したときなどのために、crontab等で自動起動設定をしておくと便利
所感
- もっと素敵でおしゃれなスイッチがほしい
- Flaskが便利、こんなに簡単にWebサーバ作れるなんてびっくりした
- もっと便利でIT風なおしゃれ機能をつけたい