#include <WiFi.h>
#include <WiFiClientSecure.h>
//請修改以下參數--------------------------------------------
char SSID[] = "wifi ssid"; // 你的手機熱點名稱
char PASSWORD[] = "wifi 密碼"; // 熱點密碼
String Linetoken = "LINE 權杖"; // 跟LINE申請的權杖
int sensor = 18; // 你的感應器編號
//---------------------------------------------------------
WiFiClientSecure client; // 網路連線物件
char host[] = "notify-api.line.me"; // LINE Notify API網址
String message; // 要發送的訊息
void setup()
{
Serial.begin(115200); // 初始化串口通信
// 連線到指定的WiFi SSID
Serial.print("Connecting Wifi: ");
Serial.println(SSID);
WiFi.begin(SSID, PASSWORD);
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(500);
}
// 連線成功,顯示取得的IP
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
IPAddress ip = WiFi.localIP();
Serial.println(ip);
client.setInsecure(); // 使用不安全的連線
message = "ESP32 補充本"; // 設置要發送的訊息
messages(); // 呼叫發送訊息的函數
}
void loop()
{
}
void messages()
{
if (client.connect(host, 443)) // 連線到指定的主機和埠
{
int LEN = message.length(); // 獲取訊息長度
String url = "/api/notify"; // 設置要請求的URL
client.println("POST " + url + " HTTP/1.1"); // 發送HTTP POST請求
client.print("Host: ");
client.println(host); // 主機名稱
client.print("Authorization: Bearer ");
client.println(Linetoken); // 設置權杖
client.println("Content-Type: application/x-www-form-urlencoded"); // 設置內容類型
client.print("Content-Length: ");
client.println(String((LEN + 8))); // 設置內容長度
client.println();
client.print("message=");
client.println(message); // 發送訊息
client.println(); // 空行
delay(2000); // 延遲 2 秒
String response = client.readString(); // 讀取伺服器回應
}
}