【備忘録】Raspberry Pi 3 Model B+を買ったらダメ人間になった話。
「Hey, Siri. 記事書いて!」 | |
「すみません、よくわかりません。」 | |
「・・・。」 |
働き方改革で給料激減、@chiroru_27 です。
そんなこと言いながら、先日もNature Remoという学習リモコンを買ったんですが、これがまたすごい。
リモコンどこいった?とか、電池切れで動かないし、そもそも電池がない・・・。なんてもう怯えなくていいのです。
さて今回は、そんなNature Remoをより便利にするために、話題のRaspberry Pi を買ってみたお話です。
Raspberry Pi 3 Model B+
今回買ったのはABOX社のセット品。アマゾンで9k程でした。もっと安いところも多々ありましたが、SanDisk製MicroSD、銅製ヒートシンク、サポートで選びました。
私のような軽い使い方ならもっと安いものでも良かった説も出てきましたが、まぁ良しとしましょう。
今回の記事はセットアップの忘備録として残しておくものとします。
目次
まずはじめに
Raspberry Piを、というかネットワークに接続する機器を動かすときは、まず第一にセキュリティをしっかりと構築すること。qiita.com
このサイトを参照して、最低限の初期設定をします。
次に、Raspberry PiのIPアドレスを固定するために、MACアドレスを調べます。
$ ip a
今接続しているネットワーク(有線、無線)の部分を確認し、無線Lanならwlan0のlink/etherを探します。
Raspberry PiのMACアドレスは、b8:27:eb〜なので、それに該当する部分をルーターのIPアドレス設定で指定します。
ラズパイ単体でも固定できるらしいですが、他の端末もルーター側で固定しているので、私はこっちで設定しました。
UFW
次に外部からの侵入を防ぐためにファイヤーウォールを構築します。chiroruはubuntuのときからUFWしか使ったことがないので、素直にこれをインストール。
$ sudo apt-get install ufw
$ sudo ufw enable
$ sudo ufw default DENY
$ sudo ufw status
Status: active と返ってきたら完了です。
以下のソフトをインストールしたら、その都度、必要なポートだけ許可します。
xrdp
次にリモートデスクトップ環境を構築して、Windowsから操作できるようにします。クライアント側(WIndows)のマウス、カーソル、クリップボードが使えるようになるので、作業が数倍楽になります。
インストール
$ sudo apt-get update
$ sudo apt-get install xrdp
日本語キーボードに対応させるため、キーボード配列の設定を追加
$ cd /etc/xrdp/
$ sudo wget http://w.vmeta.jp/temp/km-0411.ini
$ sudo ln -s km-0411.ini km-e0010411.ini
$ sudo ln -s km-0411.ini km-e0200411.ini
$ sudo ln -s km-0411.ini km-e0210411.ini
ファイヤーウォールに許可登録
$ sudo ufw allow 3389
WIndowsでの操作
- スタートを押して、「リモート」と入力し、「リモートデスクトップ接続アプリ」を起動
- 情報を入力する
- コンピューター : IPアドレス
- ユーザー名 : Raspberry Piのユーザー名
- パスワード : Raspberry Piのパスワード
- 資格情報を常に確認する のチェックを外す
- 毎度入力するのが面倒なので
- 接続
mozc
次に日本語入力をできるよう、Google日本語入力のLinux版を入れます。$ sudo apt-get update
$ sudo apt-get install fcitx-mozc
Homebridge
さて、IoTの大本命、Homebridgeちゃんの出番です。書くと長くなるので、参照したサイトを。
chasuke.com
chasuke.com
ファイヤーウォールに許可登録
インストールしているプラグイン
Raspberry Pi起動時にスタートアップさせる
サービスを作り、登録$ sudo nano /etc/systemd/system/homebridge.service
[Unit]
Description=run homebridge
After=syslog.target network-online.target[Service]
Type=simple
User=root
ExecStart=/usr/bin/homebridge
Restart=on-failure
RestartSec=10
KillMode=process[Install]
WantedBy=multi-user.target
$ sudo systemctl daemon-reload
$ sudo systemctl enable homebridge
$ sudo systemctl start homebridge
$ sudo systemctl status homebridge
またはpm2を利用
sudo npm install pm2 -g
pm2 startup
pm2 start homebridge
pm2 save
Mesh Hub
meshprj.comiFTTTで動作時間の範囲指定を出来るスグレモノ。Raspberry Piに入れることでMeshタグを持っていなくても動作する。
e.g.)
- 7:00から14:00の間に外出した際に、ルンバで清掃する。
- 18:00から2:00に帰宅した際に、リビングの電気をつけ、エアコンを入れる。
Bluetooth Audioレシーバー化
Pulseaudioを削除すると認識しなくなったので、とりあえずこれが入っていれば大丈夫っぽい。
まず内蔵のイヤホンジャックを有効化させます。
$ sudo raspi-config
- 7 Advanced Option -> Enter
- A4 Audio -> Enter
- 1 Force 3.5mm ('headphone') jack -> Enter
- Finish
次にBluetoothのパッケージを追加でインストール
$ sudo apt-get install bluez pulseaudio-module-bluetooth python-gobject python-gobject-2
ここからはBluetoohの設定をしていく
$ sudo bluetoothctl
show
// ここでUUID: Audio Sinkが表示されないので諦めてたけど、なぜか動いた。
exit
// A2DPが削除されたせいかファイルがないので新規作成
$ sudo nano /etc/bluetooth/audio.conf
[General]
Enable=Source,Sink,Media,Socket
// ノイズが出るらしいので対策
$ sudo nano /etc/pulse/daemon.conf
resample-method = trivial
// デフォルトだとペアリングできないクライアントがあるらしいので対策
$ sudo nano /etc/bluetooth/main.conf
Class = 0x240404
// クライアント側の表示名を"Raspberry_Pi"にする
$ sudo bluetoothctl
system-alias Raspberry_Pi
ペアリング
メニューバー右上のBluetoothアイコンをクリックして、[Make Discoverable]を選択。
クライアント側で"Raspberry_Pi"と表示されたものとペアリング。
よきよき。
— chiroru (@chiroru_27) 2019年2月27日
プロジェクター(webOS)でNetflixに接続
↓
Raspberry PiとBluetooth接続
ラズパイの3.5mm jackからアンプに接続
↓
Homebridge(Siri)からNature remoに接続してアンプの電源を操作
↓
あぁ^~心がぴょんぴょんするんじゃぁ^~ pic.twitter.com/NUx8fHXTpH
自動接続されない場合
$ sudo bluetoothctl
trust XX:XX:XX:XX:XX:XX MACアドレス
私の環境では自動接続されましたが、一応めも。
イコライザ
scribles.netメインPCではサウンドカード積んでイコライザ弄ってるので、少しでも近づけるためにプラグインを追加
簡単な調整はこれでおk
Raspberry Piのポテンシャルの高さが半端ない
あれもこれも機械任せの時代が・・・と思ってたら、掃除もエアコンも、何なら照明まで。人はどこまで自堕落になれるのだろう。以上、@chiroru_27 でした。