โค้ดโปรแกรม Arduino ที่ใช้เซ็นเซอร์ควัน (Smoke Sensor) เพื่อตรวจจับควัน เตือนผ่าน Line
โค้ดโปรแกรม Arduino ที่ใช้เซ็นเซอร์ควัน (Smoke Sensor) เพื่อตรวจจับควัน เตือนผ่าน Line
เพื่อส่งการแจ้งเตือนผ่าน Line ผ่านทาง Arduino คุณต้องใช้ Line Notify API. นี่คือตัวอย่างโค้ดที่คุณสามารถใช้:
สร้าง Token จาก Line Notify:
- ไปที่ Line Notify และล็อกอิน
- คลิกที่ “Generate Token” และตั้งชื่อกลุ่ม (หรือใช้ชื่อเดิมก็ได้)
- คัดลอก Token ที่ได้
นำโค้ดนี้ไปใส่ใน Arduino IDE:
กรุณาแทน
YourSSID
,YourPassword
, และYourLineToken
ด้วยข้อมูลของคุณเอง.โค้ดนี้ใช้ไลบรารี
WiFiClientSecure
เพื่อส่งข้อมูลทาง HTTPS ไปยัง Line Notify API โดยใช้ Token ที่คุณได้จาก Line Notify. หากมีความกังวลเกี่ยวกับความปลอดภัยของ Line Notify Token ควรจะเก็บ Token นี้อย่างปลอดภัยและไม่เปิดเผยต่อสาธารณะ.
อุปกรณ์ Arduino เพียบ https://bit.ly/3SJuQNM
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
const char *ssid = "YourSSID"; // ชื่อ WiFi
const char *password = "YourPassword"; // รหัส WiFi
const char *lineToken = "YourLineToken"; // Line Notify Token
const int smokeSensorPin = A0;
const int ledPin = 13;
void setup() {
Serial.begin(115200);
pinMode(smokeSensorPin, INPUT);
pinMode(ledPin, OUTPUT);
// ติดต่อ WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
}
void loop() {
int smokeValue = analogRead(smokeSensorPin);
Serial.println(smokeValue);
if (smokeValue > 500) {
digitalWrite(ledPin, HIGH);
sendLineNotification("Smoke detected!");
delay(1000);
digitalWrite(ledPin, LOW);
}
delay(1000);
}
void sendLineNotification(String message) {
WiFiClientSecure client;
const char *host = "notify-api.line.me";
const int httpsPort = 443;
// สร้าง HTTPS บิลด์
if (!client.connect(host, httpsPort)) {
Serial.println("Connection failed");
return;
}
String url = "/api/notify";
String contentType = "application/x-www-form-urlencoded";
String tokenHeader = "Authorization: Bearer " + String(lineToken);
// สร้างข้อความ POST
String postData = "message=" + message;
// ส่งคำขอ POST ไปที่ Line Notify API
client.println("POST " + url + " HTTP/1.1");
client.println("Host: " + String(host));
client.println(tokenHeader);
client.println("Content-Type: " + contentType);
client.print("Content-Length: ");
client.println(postData.length());
client.println();
client.println(postData);
delay(10);
// รอรับการตอบสนองจาก Line Notify
while (client.connected()) {
String line = client.readStringUntil('\n');
if (line == "\r") {
break;
}
}
Serial.println("Notification Sent");
client.stop();
}
การต่อโค้ดกับบอร์ด Arduino สามารถทำได้ดังนี้:
ต่อวงจร:
- เชื่อมต่อ Smoke Sensor กับขา A0 ของ Arduino.
- เชื่อมต่อ LED กับขา 13 ของ Arduino.
- ต่อ NodeMCU หรือบอร์ด ESP8266 กับ USB ของคอมพิวเตอร์ของคุณ.
ติดตั้งไลบรารี:
- เปิด Arduino IDE แล้วไปที่ “Sketch” -> “Include Library” -> “Manage Libraries…”
- ค้นหาและติดตั้งไลบรารี “ESP8266WiFi” และ “WiFiClientSecure”.
แก้ไขโค้ด:
- แทนค่า
YourSSID
,YourPassword
, และYourLineToken
ในโค้ดด้วยข้อมูลของคุณ. - ตรวจสอบว่าค่า
A0
และ13
สอดคล้องกับขาที่คุณใช้.
- แทนค่า
อัปโหลดโปรแกรม:
- เลือกบอร์ด NodeMCU หรือ ESP8266 จากเมนู “Tools” -> “Board”.
- เลือก Port ที่เชื่อมต่อกับบอร์ดของคุณจากเมนู “Tools” -> “Port”.
- กดปุ่ม “Upload” เพื่ออัปโหลดโค้ดลงบอร์ด.
เปิด Serial Monitor:
- เพื่อดูผลลัพธ์และตรวจสอบว่าโปรแกรมทำงานถูกต้อง.
หลังจากที่คุณทำขั้นตอนทั้งหมดแล้ว บอร์ด Arduino ของคุณควรจะสามารถตรวจจับควันและส่งการแจ้งเตือนผ่าน Line ได้แล้วครับ/ค่ะ!
อุปกรณ์ Arduino เพียบ https://bit.ly/3SJuQNM
- ดูระบบ PHP ทั้งหมด
- อ่านบทความทั้งหมด
- ติดต่อเรา