#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <HTTPClient.h>
// ===== WiFi =====
const char* WIFI_SSID = "Wokwi-GUEST";
const char* WIFI_PASSWORD = "";
// ===== LINE Messaging API =====
const char* LINE_CHANNEL_ACCESS_TOKEN = "dWRJZ/kLbZBF+moDnoaHc9N5mYutpI1XhNr/bWSlgmX+u+xGzjcaelO8ryHTwhEZrIiRA3/H70nA24Fd/aLkCH8taMRXHBNP64RbDrqryOpxSKx2p5yBKlzv7nyOmsHOIBZ+gU18uxN+8f4XL2MA6wdB04t89/1O/w1cDnyilFU=";
const char* LINE_GROUP_ID = "C1be52f77f92fb217f31509c10588a94b"; // groupId ที่คุณได้มา (33 ตัว)
bool pushToGroup(const String& text) {
if (WiFi.status() != WL_CONNECTED) return false;
WiFiClientSecure cli;
cli.setInsecure(); // ใช้ทดสอบ; งานจริงควรใส่ root CA ของ api.line.me
HTTPClient http;
if (!http.begin(cli, "https://api.line.me/v2/bot/message/push")) return false;
http.addHeader("Content-Type", "application/json");
http.addHeader("Authorization", String("Bearer ") + LINE_CHANNEL_ACCESS_TOKEN);
String body = String("{\"to\":\"") + LINE_GROUP_ID +
"\",\"messages\":[{\"type\":\"text\",\"text\":\"testesp32\"}]}";
int code = http.POST(body);
Serial.printf("[push] HTTP %d\n", code);
if (code > 0) Serial.println(http.getString());
http.end();
return code >= 200 && code < 300;
}
void setup() {
Serial.begin(115200);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting WiFi");
while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); }
Serial.printf("\nWiFi connected! IP: %s\n", WiFi.localIP().toString().c_str());
// ส่งทดสอบเข้า "กลุ่ม"
pushToGroup("testesp32");
}
void loop() { }