[Day26] Esp32s + IFTTT + LINE - (程序码讲解)

1.前言

昨天那篇教各位学会使用IFTTT结合Line,当时传输资料时是透过Line Notify的函式库去做,但此次用IFTTT不用使用Line Notify的函式库,那这边会讲解是如何做到这点的。

2.程序码讲解

const char* host = "maker.ifttt.com";

第19行,IFTTT的网址位置

void loop(void)
{
  // 量测间等待至少 2 秒
  unsigned long currentMillis = millis();
 
  if(currentMillis - previousMillis >= interval) {
    // 将最後读取感测值的时间纪录下来 
    previousMillis = currentMillis;   

    // 读取温度大约 250 微秒!
    humidity = myAHT10.readHumidity();          // 读取湿度(百分比)
    temp = myAHT10.readTemperature();     // 读取温度(华氏)
    
    // 检查两个值是否为空值
    if (isnan(humidity) || isnan(temp)) {
       Serial.println("Failed to read from myAHT10 sensor!");
       return;
    }
  }

  // 除错用
  tempe1="Temperature:"+String(temp)+"C";   
  humid1="Humidity:"+String(humidity)+"%";

  Serial.println(tempe1);
  Serial.println(humid1);

  WiFiClient client;
  Serial.print("connecting to ");
  Serial.println(host);
  if (!client.connect(host, httpPort)) {
    Serial.println("connection failed");
    return;
  }

  String getStr_line = "GET /trigger/Esp32sAHT10Line/with/key/cEf5MJB?value1="+tempe1+"&value2="+humid1+" HTTP/1.1\r\n"
  + "Host: " + host + "\r\n" + "User-Agent: BuildFailureDetectorESP32\r\n" + "Connection: close\r\n\r\n";
  
  Serial.println(getStr_line);
  client.print(getStr_line);
  delay(100);
  client.stop();
  
  delay(60000);     //每1分钟送一次到Line Notify
}

第80行,他这行就是储存等等要贴在浏览器的网址内容,内容中包含HTTP所需资料、温湿度数值、传递给IFTTT的资讯、数值等资讯。
最後这些资讯会由84行做传输。
那上一张有提及85行的delay,原因是当网路状况差时,84行无法及时传完资料就会被86行关闭,所以透过调整85行delay拉长传输时间。

欢迎交流

好了,这篇主要的地方在於80行那段传输资料,透过那段去让Webhook执行程序,所以也可以自己试着贴网址到网址列上,看看是否可以执行,提示在Webhook的Documentation有一行可以使用,那此次就讲到这样罗,我们明天见罗~


<<:  [day15]几个常用的LineAPI

>>:  大共享时代系列_011_共享社区

[Day6] 词性标注(一)-前言

一. 前言 词性标注 Part Of Speech(後面皆简称POS),简单来说就是将文章、句子中,...

System Design: 读书心得1

原文在这: Title: How WhatsApp enables multi-device cap...

前端工程日记 25日 Flex 并排选单

附codepen网址: https://codepen.io/pwbzvqja/pen/GRWNV...

DAY 17 取得资料库资料并将含LINE emoji的讯息传出

小弟自开学後白天上课晚上上班,每天时间不多,进度比较缓慢,请多见谅 上篇将资料存至资料库,这篇要将资...

Day18:WS 串接 Client & Server

初始化专案 ws 在使用上和 socket.io 其实颇为类似,因此预计实作上会分两个阶段,第一阶段...