-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.ini
114 lines (85 loc) · 3.87 KB
/
config.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# 要件定義書
## プロジェクト名
Nature Remo 自動制御プログラム
## プロジェクト概要
本プロジェクトでは、IoTデバイスである **Nature Remo** を自動制御するプログラムを作成します。このプログラムは、Nature Remo API(クラウドおよびローカルAPI)を利用して、スマート家電の制御を行います。
---
## プロジェクトの目的
1. **Nature Remo APIの活用**
- Nature RemoのクラウドおよびローカルAPIを利用し、エアコンや照明などのデバイスを制御します。
2. **自動化スクリプトの作成**
- 事前定義された条件に基づいて家電を制御する自動化ロジックを実装します。
3. **環境の汎用性**
- Windows 10環境で動作可能なPythonベースのプログラムを作成し、他のシステムにも展開可能な柔軟性を持たせます。
---
## 要件
### 機能一覧
1. **API通信**
- Nature RemoクラウドAPIおよびローカルAPIを利用したデバイス制御。
- 認証トークンを使用した安全な通信。
2. **デバイス管理**
- 対応デバイスのリスト取得(例:エアコン、照明)。
- デバイスの状態取得と設定変更。
3. **自動化ロジック**
- 時間やセンサーデータに基づく制御(例:温度センサーに応じたエアコンのオン/オフ)。
- スケジュールに基づくタスク実行(例:毎朝7時に照明をオン)。
4. **エラーハンドリング**
- ネットワークエラーやAPIエラーの対応。
- トークンの無効化やデバイス非対応時の例外処理。
5. **ログ機能**
- プログラムの実行状況を記録するログの出力。
- ログファイルへの保存機能(例:`natureRemo.log`)。
---
### 実行環境
- **OS**: Windows 10
- **Python**: 3.7(Pyenv経由)
- **パッケージマネージャ**: Pipenv
- **必要なPythonライブラリ**:
- `requests`
- `json`
---
### 動作手順
1. **環境セットアップ**
- PyenvとPipenvを使用してPython 3.7環境を構築。
- プロジェクトディレクトリで以下のコマンドを実行:
```bash
pipenv install -r requirements.txt
pipenv shell
```
2. **プログラムの実行**
- `natureRemo.py` を以下のコマンドで実行:
```bash
python3 natureRemo.py
```
3. **設定ファイルの準備**
- 必要に応じてトークンや初期設定を記載したJSON形式の設定ファイルを準備(例:`config.json`)。
---
### 追加要件
1. **設定ファイル**
- APIトークンやデバイスの初期設定を格納するJSON形式の設定ファイルを使用可能にする。
- 例:
```json
{
"token": "your_api_token",
"device_id": "your_device_id",
"schedule": [
{"time": "07:00", "action": "turn_on_light"},
{"time": "22:00", "action": "turn_off_light"}
]
}
```
2. **センサー制御**
- Nature Remoのセンサー機能(例:温度、湿度、照度)を利用した動的制御ロジックの追加。
3. **スケジューラ機能**
- スケジュールに基づきタスクを実行する機能を追加。
- 例:`schedule` ライブラリを活用した定期実行。
4. **デバッグおよびテスト**
- 実行時のデバッグモードを設定可能にし、APIレスポンスの詳細をログに記録。
- ユニットテストを追加し、主要な機能を検証。
---
## 参照サイトおよび公式ページ
- [Nature Remo API ドキュメント](https://developer.nature.global/)
- [Cloud API Swagger UI](https://swagger.nature.global/)
- [Local API Swagger UI](https://local-swagger.nature.global/)
- [Python Requests ドキュメント](https://docs.python-requests.org/)
---