---
title: 'Project documentation template'
disqus: hackmd
---
Sound Graphy
===
## 目次
[TOC]
## Sound Graphy
- ``"http://$(Sound Graphy Webのアドレス)"``にアクセス

---
### Sound Graphy Webの使い方
特定のHakkoの音量情報を取得するリクエスト方法を例に見ていきます.
#### URL
``"http://$(Sound Graphy Webのアドレス)/api/hakkos/$(Hakkoの識別コード)/log?from=2019-08-31"``
##### hakkos/#{Hakkoの識別コード}/log
- これはURLのエンドポイントです.これは複数存在し,それぞれデータを取得したり登録したりします.
##### from=2019-08-31
- 結果をフィルターするクエリです.どのようなフィルターが存在するかは,各エンドポイントの詳細を見てください.
#### Ahtorization
リクエストには認証を必要とします.認証はAuthorizationヘッダーを利用して行います.
``"Authorization: Bearer $api-key"``
#### MIMEタイプ
リクエストのMIMEタイプはapplication/jsonを指定してください.
``"Content-Type: application/json"``
#### リクエストの送信
必要なすべての情報がそろったのでリクエストを送信してみます.
```bash
curl -X GET http://$(Sound Graphy Webのアドレス)/api/Hakkos/ffffffffffffffffffffffffffffffff/log?from=2019-01-01T00:00:00Z \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $api-key"
```
---
#### Hakkoの情報を取得する
HakkoのUUIDをもとに情報を取得します.
```bash
curl -X GET http://$(Sound Graphy Webのアドレス)/api/Hakkos/$(Hakkoの識別コード) \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $api-key"
```
##### レスポンス
200 - Hakkoの情報
```json
{
"data":
{"hakko":
"uuid": "string",
"name": "string",
"description": number,
"latitude": number,
"longitude": number
}
}
```
401 - 認証エラー
```json
{
"message": "Unauthorized"
}
```
404 - リソースエラー
```json
{
"message": "Not Found"
}
```
#### Hakkoのログを取得する
```bash
curl -X GET http://$(Sound Graphy Webのアドレス)/api/Hakkos/$(Hakkoの識別コード)/log \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $api-key"
```
**from** - 日時を指定することで取得するログの日時を絞ることができます.日付の指定はISO8601:2004形式で行います(例:from="2019-01-01T00:00:00Z").
**until** - 日時を指定することで取得するログの日時を絞ることができます.日付の指定はISO8601:2004形式で行います(例:from="2019-01-01T00:00:00Z").
**limit** - 取得数を指定します(例:limit=5).デフォルトでは日付の新しい方から10件になっています.
##### レスポンス
200 - Hakkoのログ
```json
{
"data":
{"uuid": "string",
"log":
[
{
"max": integer,
"ave": integer,
"min": integer,
"created_at": "string",
"startd_at": "string",
"ended_at": "string"
}
,
...
]
}
}
```
401 - 認証エラー
```json
{
"message": "Unauthorized"
}
```
404 - リソースエラー
```json
{
"message": "Not Found"
}
```
#### Illuminatorの情報を取得する
```bash
curl -X GET http://$(Sound Graphy Webのアドレス)/api/Hakkos/$(Illuminatorの識別コード) \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $api-key"
```
##### レスポンス
200 - Illuminatorの情報
```json
{
"data":
{
"illuminator":
"uuid": "string",
"name": "string",
"description": number,
"latitude": number,
"longitude": number
}
}
```
401 - 認証エラー
```json
{
"message": "Unauthorized"
}
```
404 - リソースエラー
```json
{
"message": "Not Found"
}
```
#### Illuminatorのログを取得する
```bash
curl -X GET http://$(Sound Graphy Webのアドレス)/api/Hakkos/$(Illuminatorの識別コード)/log \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $api-key"
```
**from** - 日時を指定することで取得するログの日時を絞ることができます.日付の指定はISO8601:2004形式で行います(例:from="2019-01-01T00:00:00Z").
**until** - 日時を指定することで取得するログの日時を絞ることができます.日付の指定はISO8601:2004形式で行います(例:from="2019-01-01T00:00:00Z").
**limit** - 取得数を指定します(例:limit=5).デフォルトでは日付の新しい方から10件になっています.
##### レスポンス
200 - Illuminatorのログ
```json
{
"data":
{"uuid": "string",
"log":
[
{
"max": integer,
"ave": integer,
"min": integer,
"created_at": "string",
"startd_at": "string",
"ended_at": "string"
}
,
...
]
}
}
```
401 - 認証エラー
```json
{
"message": "Unauthorized"
}
```
404 - リソースエラー
```json
{
"message": "Not Found"
}
```
### Sound Graphy Webの使用例
その部屋の賑やかさを視覚的に表示するデモサイトです.
http://$(Sound Graphy Webのアドレス)
このように定期的にAPIからデータを取得することで
他にも,
- 飲食店で,店内の賑やかさから店内BGMの音量やジャンルを雰囲気に合ったものに自動的に変更する.
- イベント会場で、周囲の盛り上がり・賑やかさを視覚化したり、地図に反映してスムーズな移動を補助する。
等に使用することが考えられます.
---
# Hakko
### Hakkoの導入
**必要なもの** - Hakko本体,モバイルバッテリー/USB ACアダプター もしくは 5~9Vの電池
#### USB端子を使用する場合
モバイルバッテリーもしくはUSB ACアダプターとHakkoのmini USB端子を接続してください.
#### ピンを使用する場合
Hakkoの5Vピンに電池の+,GNDピンに電池の-を接続してください.
---
## Illuminator
### Illuminatorの使い方
Illuminatorは、周囲の音声を可視化するアプリケーションです.
また、PC上にある音楽ファイルを再生することも可能です.
### Illuminatorの使用例
周囲の賑やかさを可視化し,メディアプレーヤーとして利用することができます.
### Illuminatorの導入
1. 「Illuminator_app_production.zip」を解凍する(図4-1).
2. 「Illuminator_Unity.exe」を実行する.
3. ウィンドウサイズやグラフィックなどを設定し、「Play!」をクリックします(図4-2).

<div style="text-align: center;">
図4-1 解凍後のIlluminator_app_production
</div>
<br>

<div style="text-align: center;">
図4-2 Illuminator_Unity.exe実行後の画面
</div>
<br>

<div style="text-align: center;">
図4-3 「Play!」選択後の画面
</div>
#### マイクからの入力を使用する場合
**必要なもの** - マイク(パソコン備え付けのものでも可)
4. 「マイク入力」を選択する.
5. 終了する場合は「Esc」を押して図4-3の画面に戻り「Esc」を押す
#### 音声データを使用する場合
**必要なもの** - mp3/wav/ogg形式の音声データ
4. PC上にある音楽ファイルを再生する場合は、「ファイルから選択」をクリックし、再生したいファイルを選択します(図4-4)。
5. 選択が終了したら、「このリストで始める」をクリックします。
6. 終了する場合は「Esc」を押して図4-3の画面に戻り「Esc」を押す
<br>

<div style="text-align: center;">
図4-4 ファイル選択画面
</div>