=============================================
セットアップガイド
=============================================
開発環境セットアップ
----------------------------------------------------------------
ファームウェアビルド環境
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. `PlatformIO `_ をインストールする(VS Code拡張推奨)。
2. VS Codeでプロジェクトフォルダ( ``impl/firmware_sensor`` または ``impl/firmware_repeater`` )を開く。
3. PlatformIOツールバーから対象の環境を選択しビルドする。
ドキュメントビルド環境
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Python 3.10以上をインストールする。
2. 依存パッケージをインストールする:
.. code-block:: bash
pip install -r docs/requirements.txt
3. ドキュメントをビルドする:
.. code-block:: bash
sphinx-build -b html docs/source docs/build
センサーセットアップ
----------------------------------------------------------------
ハードウェア準備
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Seeed Studio XIAO ESP32C3 を用意する。
2. NiMH電池×4本(直列)を電池ボックスに入れ、1N4007ダイオード経由で5Vピンに接続する(回路は :need:`DES_POWER` を参照)。
3. 分圧回路(R1=100kΩ, R2=22kΩ, ツェナー3.6V, コンデンサ)を組み、A0ピンに接続する(回路は :need:`DES_VOLT_SENSE` を参照)。
4. GNDを車両ボディアースに接続する( :need:`DES_GND` )。
ファームウェア書き込み
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. ``impl/firmware_sensor`` フォルダをPlatformIOで開く。
2. 環境 ``seeed_xiao_esp32c3_main`` を選択してビルド・書き込みする。
中継器セットアップ
----------------------------------------------------------------
ハードウェア準備
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Seeed Studio XIAO ESP32C3 を用意する(センサーと同一MCU)。
2. エアコンの壁穴を通したUSBケーブルで給電し、窓の外側に設置する。
WiFi・GAS設定
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. ``impl/firmware_repeater/src/secrets.h.example`` をコピーして ``secrets.h`` を作成する:
.. code-block:: bash
cp impl/firmware_repeater/src/secrets.h.example impl/firmware_repeater/src/secrets.h
2. ``secrets.h`` にWiFi SSID・パスワードとGAS Webhook URLを記入する。
Google Apps Script (GAS) Webhook構築
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. `Google Spreadsheet `_ を新規作成し、A1に ``timestamp`` 、B1に ``voltage_mv`` と入力する。
2. メニュー「拡張機能」→「Apps Script」を開き、以下のスクリプトを貼り付ける:
.. code-block:: javascript
function doPost(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var csv = e.postData.contents;
var rows = csv.trim().split("\n");
for (var i = 0; i < rows.length; i++) {
var cols = rows[i].split(",");
sheet.appendRow(cols);
}
return ContentService.createTextOutput("OK");
}
3. 「デプロイ」→「新しいデプロイ」→ 種類「ウェブアプリ」を選択する。
実行するユーザーは「自分」、アクセス権は「全員」に設定しデプロイする。
4. 表示されるURLを ``secrets.h`` の ``GAS_WEBHOOK_URL`` に設定する。
ファームウェア書き込み
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. ``impl/firmware_repeater`` フォルダをPlatformIOで開く。
2. 環境 ``seeed_xiao_esp32c3_main`` を選択してビルド・書き込みする。