GoogleHome with RaspberryPiと<br>その日暮らし
===
> [name=phigasui]
> [time=Sat, Jan 13, 2018]
---
自己紹介
----
@phigasui a.k.a ガーシー
phigasui.com
----
Julia, Python
あたりが好き
---
2017年末にGoogle Home mini をGET
----
みなさん、GoogleHomeしてますか?
---
準備するもの
- (Google Home( mini)?|Amazon Echo( dot)?)
- Raspberry Pi (zero W がおすすめ)
- 周辺のもの(SD,USB-microUSB等)
- 赤外線LED([OSI5FU5111C-40](http://akizukidenshi.com/catalog/g/gI-03261/))
- 赤外線受信モジュール([OSRB38C9AA](http://akizukidenshi.com/catalog/g/gI-04659/))
- 抵抗([MFS25F51RB](http://akizukidenshi.com/catalog/g/gR-08519/))
---
Raspbery Pi zero W をセットアップ
zero W 優秀
wifi, bluetooth, usb接続で電源&ssh化
ただピンヘッダがついていない:sob:
----
まずはピンヘッダをハンダづけ
----
SDにOS入れる
かつてよりかなり入れやすい
[ダウンロードページ](https://www.raspberrypi.org/downloads/raspbian/)より
raspbian stretch liteをダウンロード
---
リモコンの信号を読み込ませる
----
コードはCで書かれたものを利用します。
(Python等ではμsec単位の処理ができないため信号を扱いきれない...)
```shell
sudo apt install git
git clone https://github.com/WiringPi/WiringPi.git
cd WiringPi
./build
```
----
scanir.cを編集してコンパイル
```shell
gcc scanir.c -o scanir -lwiringPi
```
----
ピンを確認
```shell
gpio readall
```
----
```shell
$ ./scanir tv/power 1
```
----
![](https://i.imgur.com/d53znGY.jpg)
----
![](https://i.imgur.com/VlHVfBM.jpg)
---
httpサーバの設置
----
```shell
sudo apt install python3-pip
pip3 install flask
```
----
コードをラズパイの中に忘れてきた:sob:
こんな感じ
```python=
@app.route('/tv/power)
def tv_power:
try:
subprocess.run(["./sendir", "tv/power.data", REPEAT, PIN])
except:
return 'fail'
else:
return 'success'
```
----
```
./server.py
```
---
いざ設置
----
![](https://i.imgur.com/UqOVAbn.jpg)
----
作業PCからアクセスして動作確認
```shell
curl localhost:8000/tv/power
success
```
---
ローカルのラズパイにグローバルアクセスできるようにする
----
```shell
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm.zip
unzip ngrok-stable-linux-arm.zip
```
----
ちょちょいとサインupしてtokenをGET
https://ngrok.com/
(サブドメイン指定で固定にしたければ有償化)
----
```shell
./ngrok authtoken aBd2B8M4oHV4qSnFRBpm_83esBmgqG2c1dxgNFeKwp
./ngrok http 8000
```
----
```shell
ngrok by @inconshreveable (Ctrl+C to quit)
Session Status online
Account yuta oohigashi (ガ ー シ ー ) (Plan: Free)
Version 2.2.8
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://a7f63957.ngrok.io -> localhost:8000
Forwarding https://a7f63957.ngrok.io -> localhost:8000
```
---
あとはらくらくIFTTTでアプレットを作成
----
![](https://i.imgur.com/VU1xLMh.png)
----
![](https://i.imgur.com/jL1YtC1.png)
----
![](https://i.imgur.com/SoSxvCW.png)
---
それでは動画を御覧ください。
https://drive.google.com/open?id=1B7_3T33PaGuUq9CkrArVTheAX20i9rjHYA
---
展望
----
- TVさんの認識が弱い(エアコンもやったけど、てんで認識してくんない)
- トランジスタ用意してなかったのでパワーを得られなかった
- 元データ何回か読み込んで最適化する
- LEDちゃんと選ぶ必要があった(max電流大きいやつ)
- 照明、カーテンを扱う
- 如何にして照明を赤外線で扱うか
- 如何にしてカーテンを操るか
{"metaMigratedAt":"2023-06-14T15:25:04.361Z","metaMigratedFrom":"YAML","title":"GoogleHome with RaspberryPiと<br>その日暮らし","breaks":"true","slideOptions":"{\"transition\":\"slide\",\"theme\":\"black\"}","contributors":"[]"}