##■はじめに
温湿度のロガーを作りたいという要望から新たに Raspberry Pi を構築します。
Raspberry Pi Imager が出ていたりするので、その確認も兼ねています。
例によって、Raspberry Pi とはなんぞや、という方向けの記事となっております。
手元の Windows マシンから各種準備とセットアップを行いますが、
余計な説明や詳細な用語解説はせず、温湿度を Ambient に送信して確認が出来ることをゴールに設定しています。
今回ははんだやはんだごてを使う必要はないものを選びました。
##■使うもの
- Raspberry pi 3 Model B
https://www.switch-science.com/catalog/3050/
Zero でも 4 でも構いません。 - DHT11温湿度センサー
https://akizukidenshi.com/catalog/g/gM-07040/ - Raspbian OS を書き込む micro SD カード
micro SD カードを使うので USB の SD カードリーダーも別途必要です。
Class 10 であればメーカー問わずなんでも構いません。
使い回す場合は入っているデータは必ず退避し、フォーマットの上使用して下さい。 - ジャンパーワイヤ(オス - メスのもの)
https://www.switch-science.com/catalog/2294/
- 5V/3A を許容する AC アダプタ
http://akizukidenshi.com/catalog/g/gM-12001/
- ニッパー
- メールアドレス
Ambient に登録するため、メールアドレスが必要です。 - ブラウザ(Chrome等)
##■作業はじめ
まずは micro SD カードをフォーマットします。
SD カードリーダーに micro SD を挿して、 PC に繋ぎます。
フォーマットを選択します。
開始を選択します。
データが存在する場合、注意が出ますが、そのまま OK を選択します。
フォーマットが完了したら OK を選択します。
#■ Raspberry Pi Imager をダウンロードする
micro SD に OS を書き込むソフトウェアを以下からダウンロードします。
Download for Windows を選択してください。
https://www.raspberrypi.org/software/
ダウンロードが完了したら、 imager_1.6.1.exe を選択します。
#■ Raspberry Pi Imager をインストールする
インストーラが起動します。
そのまま Install を選択します。
インストールが完了したら、チェックを入れたまま、 Finish で Raspberry Pi Imager を起動します。
#■ Raspberry Pi Imager で micro SD に OS を書き込む
Operating System の CHOOSE OS を選択します。
Raspberry PI OS(32-bit)を選択します。
Storage の CHOOSE STORAGE を選択します。
micro SD を挿した USB を指定します。
CTRL + SHIFT + X キーを入力します。
OS 書き込み時のメニューが表示されます。
Set hostname にチェックを入れて mypi と入力、 Enable SSH にチェックを入れて、pi ユーザーのパスワードを入力します。
下にスクロールして、Configure Wifi にチェックを入れます。
ご自宅の Wi-fi ルーターに記載されている SSID/Password を入力してください。
Wifi country は JP を選択します。
Set locale settings にチェックを入れ、Timezone に Asia/Tokyo を選択します。
keyboard layout は US のままにしてください。
残りはそのままにして SAVE を選択します。
WRITE を選択します。
YES を選択して書き込みを開始します。
書き込みが完了したら、CONTINUE を選択します。
#■ Raspberry Pi に micro SD に OS を挿入する
Raspberry Pi の本体の裏側にスロットに micro SD に挿入します。
そのまま電源を接続して、赤いランプが点灯し始めることを確認してください。
#■ Windows PowerShell を使い、Raspberry Pi に SSH 接続する
Windows のメニューから PowerShell を起動します。
ssh するホストを入力、実行します。
PS > ssh pi@mypi.local
yes/no の入力を求められますので、yes を入力します。
パスワードの入力を求められますので、OS を書き込む際のパスワードを入力してください。
SSH で Raspberry Pi へのログインが完了します。
#■ Raspberry Pi に DHT11 を接続する
Raspberry Pi の立っているピンに DHT11 を接続します。
赤い線を一番左上、黒い線を1つ開けた次のピン、緑の線をその隣に挿します。
#■ DHT11 用の Python コードを clone する
github から Python コードを clone します。
pi@mypi:$ git clone https://github.com/szazo/DHT11_Python.git
#■ DHT11 用の Python コードを実行してテストする
実際に clone したコードが実行できるかを確認します。
pi@mypi:$ cd DHT11_Python
pi@mypi:$ python example.py
#■ Ambient のアカウントを取得する
Ambient をブラウザの URL バーに入力します。
画面右上のユーザー登録(無料)からユーザー登録を行います。
メールアドレスとパスワードの入力が終わったら、ユーザー登録(無料)を選択します。
メールアドレスに認証 URL が送られてくるため、確認して認証します。
認証が出来たら、画面右上のログインを選択します。
登録したメールアドレスとパスワードを入力したらログインを選択します。
#■ Ambient にチャネルを作成する
チャネルを作るを選択します。
チャネルが払い出されます。
画面はこのままにしてください。
#■ Ambient に DHT11 で取得したデータ送信をする Python コードを clone する
Ambient に DHT11 で取得した温湿度データを送信する Python コードを clone します。
clone 後、先ほどのチャネル情報を clone したコードに書き込みます。
pi@mypi:$ git clone https://github.com/Yukisama00/reptile.git
pi@mypi:$ cd reptile
pi@mypi:$ vi dht11.py
頭の # を削除して、ブラウザで表示したままにしたチャネルID を CHANNEL_ID、ライトキーを WRITE_KEY と置き換えます。
書き換えが出来たら、コードを移動させます。
pi@mypi:$ mv dht11.py ../
#■ Ambient のモジュールをインストールする
そのままでは上記のコードは使えないため、追加でモジュールをインストールします。
pi@mypi:$ pip install git+https://github.com/AmbientDataInc/ambient-python-lib.git
#■ Ambient に DHT11 で取得したデータ送信をする Python コードを実行する
同様に温湿度が表示されることを確認します。
pi@mypi:$ python dht11.py
#■ Ambient を設定する
チャネルの設定をします。
一番右にあるアイコンを選択します。
設定変更が表示されるので選択します。
チャネル名を mypi 、データ1を temperature、データ2を humidity とします。
カラーなどは好きに設定してください。
設定できたらチャネル属性を設定するを選択します。
元の画面のチャネル一覧を選択し、ボート一覧を選択します。
ボードを作るを選択します。
ボードが作成されました。
画面上部のグラフアイコンを選択します。
ボード作成画面になります。
チャネル/データ設定を選択します。
室温のチャートを作成します。
設定出来たら設定するを選択します。
同様の手順で湿度のチャートも作成します。
チャートが描画できました。
#■ Ambient へのデータ送信を1分毎に実行する
pi@mypi:$ sudo vi /etc/crontab
最下段に
##■ おわりに
Raspberry Pi を利用した温湿度のログを残す手順を紹介致しました。
##■ 参考URL
https://dev.classmethod.jp/articles/raspberry-pi-imager-v1-6-update/
https://ambidata.io/refs/python/