[Day24] Esp32 + LINE - (程序码讲解)

1.前言

这篇主要是为解说前一篇关於AHT10和LINE的程序码,此次用到Line Notify的推播服务,因为是额外服务所以有安装之前没用过的函式库,并且此次程序码中单纯只有导入函式库跟设定Token,所以这些部分跳过,直接看重要的loop的部分。

2.程序码

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是甚麽,明天也会用其他方式进行推播,所以请各位敬请期待明天的到来吧~


<<:  [Day 25] Node Event loop 4

>>:  [Day25] React - 建立React元素

自己做个好用的pysdie 2 cheat sheet

在很多地方都流行可以随时查找的cheatsheet,那PySide2 有吗? 笔者不清楚,乾脆直接做...

AE-LED流动效果1-Day19

今天要来练习LED的流动练习 参考来源-六指渊:https://www.sixvfx.com/exp...

Python 演算法 Day 14 - Evaluation & Performance Tuning

Chap.II Machine Learning 机器学习 https://yourfreetemp...

2021法遵科技与电脑稽核专题竞赛-贺云科大、逢甲、北商大、中正、致理科大、亚洲科大等学校队伍获奖,培育智慧法遵与AI稽核人才迈向国际~

本次专题竞赛,由国际电脑稽核教育协会(ICAEA)、国立中正大学会计与资讯科技学系、国立政治大学产学...

【从零开始的Swift开发心路历程-Day8】打造美观的App版面!Constraints约束篇

在storyboard新增完元件後,执行之後常常会遇到模拟器的元件位置并不是元件在storyboar...