這篇主要是為解說前一篇關於AHT10和LINE的程式碼,此次用到Line Notify的推播服務,因為是額外服務所以有安裝之前沒用過的函式庫,並且此次程式碼中單純只有導入函式庫跟設定Token,所以這些部分跳過,直接看重要的loop的部分。
void loop(void)
{
// 量測間等待至少 2 秒
unsigned long currentMillis = millis();
if(currentMillis - previousMillis >= interval) {
// 將最後讀取感測值的時間紀錄下來
previousMillis = currentMillis;
// 讀取溫度大約 250 微秒!
humidity = myAHT10.readHumidity(); // 讀取濕度(百分比)
delay(100);
temp_f = myAHT10.readTemperature(); // 讀取溫度(攝氏)
delay(100);
// 檢查兩個值是否為空值
if (isnan(humidity) || isnan(temp_f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
}
String tempe="溫度:"+String(temp_f)+"℃";
String humid="濕度:"+String(humidity)+"%";
// 顯示 Line版本
Serial.println(LINE.getVersion());
LINE.setToken(LINE_TOKEN);
// 先換行再顯示
LINE.notify("\n" + tempe + " ;" + humid);
// 每2分鐘發送一次(delay120000)
delay(10000);
}
第60行
,AHT10會讀取濕度第62行
,AHT10會讀取溫度(單位預設為攝氏)第67行
,判斷溫溼度的值是否為空值(nan)
這邊程式碼大多都和之前一樣,就先讀取數值,在判斷是否空值(nan),如果是顯示錯誤訊息,如果不是就輸出數值,最需要注意的是讀取數值的資料型態,一定需要是浮點數(因為讀取的溫溼度值都有小數點)。
第79行
,連上LINE Token第82行
,傳輸資料到LINE
然後這邊程式碼就只有短短兩行,用來連接LINE,以及對LINE Notify傳輸資料,直接運用函式庫的函式,進行連接及傳輸。
好了,關於使用LINE Notify程式中最重要的地方就是Token,Token就像是一把鑰匙,如果有需要Token的話就需要帳號密碼(做身分驗證),如果驗證成功就會給Token,只要有Token就可以進行資料傳輸了;希望這樣解釋可以讓各位更了解Token是甚麼,明天也會用其他方式進行推播,所以請各位敬請期待明天的到來吧~