AM2301Bというセンサを買ってきたのでNanoPi NEO2で動かしてみました.
秋月電子:
温湿度センサ モジュール AM2301B: センサ一般 秋月電子通商-電子部品・ネット通販
データシート: https://akizukidenshi.com/download/ds/aosong/AM2301B.pdf
生産している会社の商品紹介ページ:
AM2301B Temperature and humidity sensor-RH&T Sensors-Guangzhou Aosong Electronic Co., Ltd.
精度は温度: ±0.3℃, 湿度: ±2%RH(25℃) です.
⚙ NanoPiの設定
NanoPiとAM2301BはI2Cで通信します.
あらかじめNanoPi側でI2Cを有効化しておきます.NanoPiでArmbianを動かしているなら,
1 | $ sudo armbian-config |
System > Hardware > i2c0 にスペースキーで✅をいれます.EnterでSaveします.
🔌 NanoPiとAM2301Bを繋ぐ
右上内側のOUT - 3.3V,SDA,SCL,GNDを利用します.
i2c-toolsで正しく接続できているかを確認します.
1 | $ sudo apt-get install i2c-tools |
で
1 | 0 1 2 3 4 5 6 7 8 9 a b c d e f |
と返ってこれば成功です.
⚡️ Pythonで通信する
smbusというライブラリでI2C通信を行います.
1 | $ sudo apt-get install python3-smbus |
適当にデータシートを読みながらコードを書いていきます.今回はCRC checkには目を瞑ることとします.誤差との兼ね合いはお好みで(もうちょっと細かくてもいい気がする).
1 | import smbus |
それっぽい値が取得できました.よかった〜
初期化の方法はデータシートに載っていませんでしたが別のPDFには掲載されていました.
InfluxDB + Grafana
InfluxDBに投げつけてGrafanaで可視化したらいい感じになります.
センサの場所を固定してないためか急に変動する時間が発生してますね・・・.
様子見して設置場所とか精度をどこまで求めるかなどを調整した方が良さそうです.
感想
秋葉原の秋月にふらっとよって手に取った温湿度センサでしたが発売直後すぎてデータシート以外の情報がなくうろたえました.(2021.08.31発売 / 2021.09.10購入)
I2Cを利用したことがなかったので完全に手探りでしたが値が取れてよかったです.(間違ってたら指摘をお願いします…)