GPIOブレッドボード通知ボックスを作ってみました。

#はじめに

![Screen Shot 2017-03-14 at 6.48.01 PM.png](https://qiita-image-store.s3.amazonaws.com/0/162845/e48bc5f2-cf66-e45e-1cde-ae4736180741.png)

スマホで使用するアプリやデバイス、サービスが急激に増加している今、たくさんの通知アラームを忌々しく感じる人も多いでしょう。Rand Hindi (AI 会社 Snips CEO) は彼の有名なTED(テッド）演説でAIの役割をこのように明了に説明します。[動画を確認](https://youtu.be/U88Ya9krtBk)

AIは近年増加している問題のソリューションであります。今回のポストではスマートハブを使って通知アラームを逃さずも、もっと週中すべきことに週中するための簡単AI装置を作って見ます。

**機能**
重要なタスクにLEDが接続された通知アラームボードを作ります。
さらにスマートなオフィスライフのため、毎日のタスクをさらに効率的に行うことができます。
集中力に影響をより少なく与える通知アラームを作ります。
仕事上の重要なニュースを逃さずチェックできます。

このプロジェクトは自分の仕事環境に合わせていくらでも活用できます。また、スマートホームにも活用できます。（例えば、電気がついていたら、異常な動きが発見されたら通知を送るなど）


このポストは、知識がない人でも作られるようなプロジェクトです。1時間未満が所要され、４千円以下で完成できます。


###Step 1: 必要なもの
![components.jpg](https://qiita-image-store.s3.amazonaws.com/0/162845/d5e6fd59-8962-6509-7383-abe5a5776bb5.jpeg)

- ラズベリーパイ 2, 3 (2000~3500円) // RPi 2の場合はWiFiドングルが必要になります。
- 16GB SD カード(1000円)
- GPIO ブレッドボード + LED + ジャンパーワイヤ ($4)
- 付箋


###Step 2: [プロタパイ設定](http://docs.prota.info/101-prota-pi/)
[プロタOSダウンロード](https://prota.info/prota/pi/)

###Step 3: GPIO ブレッドボードセッティング・接続

LEDとジャンパーワイヤの数とブレッドボードのサイズは、通知の種類と接続するデバイス/サービスの数によって異なります。

この例では、6種類のLEDを使用しています。 私たちは3色のLED（赤/黄/緑）を使用しましたが、もちろんお好みに合わせて設定可能です。（100 LEDパックはAliexpressのようなウェブサイトで約$ 2です）。

各LEDには、短い脚と長い脚があります。 短い脚はブレッドボードのグラウンド（青）線に繋げ、長い方はGPIOピンに接続して必要な電圧を供給してもらう必要があります。 下の図のように各LEDを接続してください。

次に、ジャンパーワイヤを接続します。 ブレッドボードのグランドラインをグランドピン（PIN06を選択）に接続してください。 他のすべてのジャンパーワイヤは、LEDの電圧レグが差してあるGPIOピン（GPIO 17/27/22/18/23/24を選択したもの）に接続する必要があります。後ほどオートメーション・ワークフロー使用されますので、この順番を覚えておいてください。 以下の図のような形になったかを確認してください。

![160A1818.JPG](https://qiita-image-store.s3.amazonaws.com/0/162845/5932523a-87e8-b115-35e0-64061b7efc22.jpeg)

![160A1815.JPG](https://qiita-image-store.s3.amazonaws.com/0/162845/75fbf5f3-c3ca-3bef-8203-2b929db0066e.jpeg)

次にプロタOSとGPIOブレッドボードを接続させます。

- App LibrariesでGPIOアプリをダウンロードする
- GPIOを開く
- GPIO17をクリックし、「Output」を選択します。 これにより、LEDが1または0（1 =オン/ 0 =オフ）の出力状態に応答します。
- 下のテストボックスに1と0を入力して接続をテストすると、LEDの点灯と消灯を確認できます.
- GPIO 27,22,18,23,24についても同様の操作を繰り返します。

![Screen Shot 2017-03-10 at 3.47.26 PM.png](https://qiita-image-store.s3.amazonaws.com/0/162845/65e039c9-a22e-63c9-2bdb-3b45f0fc173c.png)
![Screen Shot 2017-03-10 at 3.47.17 PM.png](https://qiita-image-store.s3.amazonaws.com/0/162845/921b2bf1-7ec5-f2c8-834c-b07f212f2060.png)

![160A1813.JPG](https://qiita-image-store.s3.amazonaws.com/0/162845/a3cfe02b-138c-f081-09f5-bcd32773d55b.jpeg)

###Step 4: 必要なサービスを接続

![Screen Shot 2017-03-14 at 6.53.16 PM.png](https://qiita-image-store.s3.amazonaws.com/0/162845/1ddc6fab-dd6b-5431-8c0a-f485ee13f968.png)

この例では、6つのLEDが次の通知を表示します。
- 重要なメール
- 重要なスラックメッセージ
- Googleカレンダーの会議/イベントの着信
- 主なプレスニュース
- 特定の株価が所定の基準を下回る場合
- 自宅のAugustスマートなロックが開いた場合


これらを動かすためにはプロタハブとそれぞれのサービスを接続させる必要があります。


**メールアプリ**
- アプリライブラリーに移動し、Emailアプリをダウンロードする
- Emailアプリを開き、+をクリックしてメールアドレスを設定
- こちらのガイドguide に従ってプロタハブにメールアドレスを設定してください。


**スラックアプリ**
- アプリライブラリーに移動し、スラックアプリをダウンロードする
- ガイドに従ってスラックアカウントを接続するthis guide


**IFTTT**
- アプリライブラリーに移動し、IFTTTアプリをダウンロードする(プロタスペース内）
- プロタスペースを使用しているデバイスと同じデバイス上で（スマホまたはデスクトップ）IFTTT.comにサインインまたはサインアップしてください。
- “プロタ”を検索し、connectをクリックしてください。IFTTTアカウントに接続するため、あなたのプロタを選択してください。
![Screen Shot 2017-03-14 at 6.55.37 PM.png](https://qiita-image-store.s3.amazonaws.com/0/162845/ce745536-6837-d73f-bb4b-e19d21da7af8.png)
- GoogleカレンダーSearch for Google Calendar, NY Times and Stock to connect to those services.

### Step 5:自動化ストーリーライン作成
次にタイミングに合わせてライトをつけるためのオートメーションストーリーを作成してみます。

**LED 1**
- ストーリーズを開ける
- 次のようなラインを書く:
“When I receive a message from “boss@office.com”, GPIO write value 1 to PIN 17”
（boss@office.comからメッセージを受信すると、GPIOがピン17に１を書き込む）

![Screen Shot 2017-03-14 at 6.57.09 PM.png](https://qiita-image-store.s3.amazonaws.com/0/162845/930b68ec-6a5c-f770-c634-67a80ce3a46c.png)

- “Then” をクリックし、LEDを消すためのライン、 “GPIO write value 0 to PIN 17”（GPIOがピン１７に０を書き込む）を追加します。
- Extra Options（追加オプション）をクリックし、2分のdelayを追加してください。こうすると、2分後自動的にLEDが消されます。

![Screen Shot 2017-03-14 at 6.57.17 PM.png](https://qiita-image-store.s3.amazonaws.com/0/162845/eb512a3b-2030-3398-8471-620f717c73ea.png)

- 類似なストーリーラインを作成し、メール通知をもらう条件を追加することができます。例えば、送信者のメールアドレスを追加することも、タイトルを特定することもできます。

**LED 2**
コンセプトは同じです。スラックアカウントを選択し、トリガーする条件（特定チャンネルまたはユーザー）を選択します。

![Screen Shot 2017-03-14 at 6.57.31 PM.png](https://qiita-image-store.s3.amazonaws.com/0/162845/d2e42246-28ef-6916-a3f9-50e774ef5597.png)

またここでもストーリーラインをいくつか追加し、通知をもらいたいスラックのメッセージタイプを設定することができます。


**LED 3**
IFTTT アプレットとストーリーズを接続するためには以下のように作成してください。

![Screen Shot 2017-03-14 at 6.57.43 PM.png](https://qiita-image-store.s3.amazonaws.com/0/162845/c9ed7c37-52c8-f29d-375e-c9fd1714a134.png)

LED 1に合わせてアクションを追加してください。
次に、プロタのストーリーラインをトリガーするIFTTT アプレットを作成します。

- Googleカレンダーをトリガーとして選択してください。全てのイベントをトリガーとして設定することも、特定のイベントだけをトリガーと設定することも可能です。（ここでは “meeting”という単語を含めたときをトリガーと指定しました。）

![Screen Shot 2017-03-14 at 7.00.06 PM.png](https://qiita-image-store.s3.amazonaws.com/0/162845/d2cc968b-9466-b9dd-6d6c-f2d3de5048cd.png)

- アクションとしてプロタを選択し、書いたストーリーラインを選択してください。
- 保存

**LED 4**
同じプロセスに従って、今度はニューヨークタイムズをトリガーとするアプレットを作成してください。特定セクションまたはキーワードの記事がアップデートされたとき通知アラームを受信することが可能です。

![Screen Shot 2017-03-14 at 7.01.30 PM.png](https://qiita-image-store.s3.amazonaws.com/0/162845/67cb00df-9b8f-6256-8f8d-e2dee7e00f41.png)

**LED 5**
同じプロセスに従って、今度はストック（株価）をトリガーと設定してください。特定債権価格または為替レートをフォローしながら通知をもらうことができます。（海外に行く前にベストな為替を確認するためなどに使用）


**LED 6**
上と同じプロセスを従ってください。 August をトリガーとして設定してください。スマートロックが解除されているとき、または特定人物によって開かれたときに通知をもらうことができます。家から離れているとこもおうちでなにが起きているかを確認することができます。 

LEDオートメーションの設定が完了しました。これで重要な通知をLEDで確認することができます。

###Step 6: インストール
最後に、付箋を利用してそれぞれのLEDがどこに繋がっているかを表記してください。この小さい”通知管理センター”を使えば、通知アラームに邪魔されることなく本当に重要なことに週中できるようになります！

![Screen Shot 2017-03-14 at 7.02.38 PM.png](https://qiita-image-store.s3.amazonaws.com/0/162845/a28f4a0f-f15d-206c-7718-4d31c4028e2c.png)

#終わりに

このプロジェクトは非常に簡単に実生活に適応することが可能です。LEDにリンクされた特定のアクションを自動化するボタンを追加することも可能ですよ！テレグラムアカウントにボタンを接続すると、AugustのLEDが点滅したとき、ドアを開けたかどうかを尋ねるメッセージが家族に送信されます。

また、家の中にウェブカメラを設置し、それとボタンをリンクすることで、家の中のスナップショットを受け取ってすべてが安全課どうかを確認することもできます。株価の変化とリンクされたLEDが点滅するときは、その情報をメールまたはメッセンジャーですぐに知らせることだって可能です。

スマートホームの素晴らしい点は、想像力があなたの唯一の限界であるということです！ プロタOSの柔軟性と適応性を十分に活用し、あなたのスマートホームに必要なものを作り出してみてください。
このポストに関する様々な意見、受け付けております！
再現してみた！という方々、ぜひコメントしてください。
ご不明な点がございましたら、フォーラムをご利用ください！
###[support.prota.info](https://naranhelp.zendesk.com/agent/)

[ツイッター](https://twitter.com/thenaran_)
[インスタグラム](https://www.instagram.com/naran.inc/)

やってます！:)