Arduino วิธีส่งข้อความ LINE โดยใช้ NodeMCU esp8266 (Wifi)

ส่งข้อความ LINE โดยใช้ NodeMCU esp8266 (Wifi)

ในหัสข้อนี้จะเป็นวิธีการส่งข้อความ LINE โดยกด ปุ่ม Button เพื่อส่งข้อความ

สามารถนำไปประยุกต์ใช้ในรูปแบบของตัวเองได้ครับ

เว็บรับ LINE ACCESS TOKEN : https://notify-bot.line.me/my/

วงจร





Code

Download

void Line_Notify(String message) ;

#include <ESP8266WiFi.h>
#include <WiFiClientSecureAxTLS.h>

#define WIFI_SSID "YOUR WIFINAME"
#define WIFI_PASSWORD "YOUR WIFIPASSWORD"

#define LINE_TOKEN "LINE ACCESS TOKEN"

#define SW D2

String message = "ข้อความที่จะส่ง"; 

void setup() {
  pinMode(SW, INPUT);

  Serial.begin(9600);

  WiFi.mode(WIFI_STA);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("connecting");

  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println();
  Serial.print("connected: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  if (digitalRead(SW) == HIGH) {
    while(digitalRead(SW) == HIGH) delay(10);

    Serial.println("Enter !");
    Line_Notify(message);
  }
  delay(10);
}

void Line_Notify(String message) {
  axTLS::WiFiClientSecure client; 

  if (!client.connect("notify-api.line.me", 443)) {
    Serial.println("connection failed");
    return;   
  }

  String req = "";
  req += "POST /api/notify HTTP/1.1\r\n";
  req += "Host: notify-api.line.me\r\n";
  req += "Authorization: Bearer " + String(LINE_TOKEN) + "\r\n";
  req += "Cache-Control: no-cache\r\n";
  req += "User-Agent: ESP8266\r\n";
  req += "Connection: close\r\n";
  req += "Content-Type: application/x-www-form-urlencoded\r\n";
  req += "Content-Length: " + String(String("message=" + message).length()) + "\r\n";
  req += "\r\n";
  req += "message=" + message;
  client.print(req);
  delay(20);
  while(client.connected()) {
    String line = client.readStringUntil('\n');
    if (line == "\r") {
      break;
    }
  }
}

ความคิดเห็น

บทความที่ได้รับความนิยม