現在とある計測装置を作っておりまして、今回、RaspberryPi Zero WHで、Groveシリーズの温度湿度センサとリレーを動かしてみました。
購入したものは以下。
・Raspberry Pi Zero WH
https://www.switch-science.com/catalog/3646/
・GROVE – ベースHAT for Raspberry Pi Zero
https://www.switch-science.com/catalog/5443/
・GROVE – デジタル温度・湿度センサPro
https://www.switch-science.com/catalog/819/
・GROVE – リレー
https://www.switch-science.com/catalog/807/
・microSD 32GB
準備
下記公式サイトのOnline one-click installation記載のスクリプトを実行します。
curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s
なんか色々と必要なライブラリがインストールされます。10分くらいかかったと思います。
Grove Base Hat for Raspberry Pi Zero
https://wiki.seeedstudio.com/Grove_Base_Hat_for_Raspberry_Pi_Zero/#software
温度センサのテスト
まず最初に温度・湿度センサProの値を取得してみました。
ちなみにProにしたのは、在庫の関係で特に意味はありません。
公式サイトにPort12にセットせよっと書いてありますので、PWMと書かれているコネクタに挿します。
値の取得には、上記Grove.pyだけじゃなく、センサに応じてライブラリを追加するようで、以下で拾ってきて
git clone https://github.com/Seeed-Studio/Seeed_Python_DHT.git
インストールします。
cd Seeed_Python_DHT
sudo python setup.py install
下記のサンプルコードを作成し、
import time
import seeed_dht
def main():
# for DHT11/DHT22
sensor = seeed_dht.DHT("22", 12)
# for DHT10
# sensor = seeed_dht.DHT("10")
while True:
humi, temp = sensor.read()
if not humi is None:
print('DHT{0}, humidity {1:.1f}%, temperature {2:.1f}*'.format(sensor.dht_type, humi, temp))
else:
print('DHT{0}, humidity & temperature: {1}'.format(sensor.dht_type, temp))
time.sleep(1)
if __name__ == '__main__':
main()
おお、ちゃんと拾ってきてるっぽい。ちなみに、最後の方で湿度が上がっているのは、変化が生じるかセンサを握ってみたからです。
ラズパイ GroveベースHAT編
https://dive2blue.hatenablog.com/entry/2019/05/14/222525
Grove – Temperature&Humidity Sensor Pro(DHT22)
https://wiki.seeedstudio.com/Grove-Temperature_and_Humidity_Sensor_Pro/#play-with-raspberry-pi-with-grove-base-hat-for-raspberry-pi
リレーのテスト
こちらもport12に挿せと書いてあるので、PWMと書かれているコネクタに挿します。
ライブラリをダウンロードし、
git clone https://github.com/Seeed-Studio/grove.py
サンプルコードを実行させます。
cd grove.py/grove
python grove_relay.py 12
無事、1秒ごとにカチカチという音が鳴り、リレーがオン・オフされました。
先ほどのPWMというコネクタは、湿度・温度センサで使いたいので、D16に挿して、以下のコマンドを実行。
python grove_relay.py 16
無事に使えました。同様に、D5のコネクタでも使用可能でした。
Grove – Relay
https://wiki.seeedstudio.com/Grove-Relay/#play-with-raspberry-pi-with-grove-base-hat-for-raspberry-pi
これで温度を取得しながら、リレーを二つ動かすという目的を達せそうです。温度センサやリレー単体を動かすよりコストはかかりますが、簡単です。Groveシリーズ中々良いですな!