iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0
自我挑戰組

30天利用python與grafana架設IOT Dashboard系列 第 4

DHT22 資料讀取與輸出

上次測試完DHT22可以使用後,接下來就要將數值輸出
利用他們的範例程式可以看到利用#define DHTPIN 去定義他們腳位和 #define DHTTYPE 去告訴函式庫我們使用的是 DHT11 或是 DHT22
知道這些資訊後我們就能來撰寫我們需要的程式了

#include "DHT.h"
#define DHTPIN 2 
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  float humid = dht.readHumidity();
  float temp = dht.readTemperature();
  if (isnan(humid) || isnan(temp)){
    return;
  }
  Serial.print("{");
  Serial.print("\"temp\":");
  Serial.print(temp);
  Serial.print(",");
  Serial.print("\"humid\":");
  Serial.print(humid);
  Serial.print("}");
  Serial.println();
  delay(1000);
}

從上面的程式可以看到我們腳位跟型號暫時不用變,但是修改掉輸出的格式與部分資料
因台灣不使用華氏溫度因此不需要他們提供給我們的F數值,而輸出的部分改成我們須要的JSON格式
幫助我們將資料放進資料庫時比較方便,當然也可以不做修改利用python做處理(這點在介紹python時會順便介紹)
順便看一下輸出結果:

從輸出結果可以看到我們成功將讀取到的數值轉換成我們需要的格式
因為我們目前都是靠arduino IDE負責幫我們接收數值,因此下次要介紹python的部分與下載python需要的套件以幫助我們接收arduino回傳的資訊.


上一篇
arduino函式庫的安裝與使用
系列文
30天利用python與grafana架設IOT Dashboard4

尚未有邦友留言

立即登入留言