[IoT] เชื่อมต่อโลกฮาร์ดแวร์ และ สร้างระบบแจ้งเตือนผ่าน LINE Notify

1. บริการ LINE Notify คืออะไร และ สร้างอย่างไร

ขั้นตอนในการสร้าง LINE Notify ขึ้นมาใหม่ ผู้อ่านสามารถอ่านขั้นตอน และ วิธีการทำได้จากลิงค์ด้านล่างนี้ครับ

1.1 ทดสอบการ Push to LINE Notify

curl -X POST \
https://notify-api.line.me/api/notify \
-H 'Authorization: Bearer <your_token>' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'cache-control: no-cache' \
-d 'message=test'

2. แนวทางการประยุกต์

ในโลกของไมโครคอนโทรลเลอร์ เราสามารถใช้ sensor ใดๆ ก็ได้มาต่อเข้ากับ NodeMCU หรือ บอร์ดชนิดใดก็ได้ ท่ีมีโมดูล WiFi สามารถเชื่อมต่อกับ Internet โดยการประยุกต์รับค่าจาก sensor ไม่ว่าจะเป็น Analog / Digital Input แล้วให้ตัวบอร์ด ส่งข้อมูลผ่าน HTTP / MQTT ไปยัง LINE Notification service

  • โปรเจคตรวจสอบความร้อน / ความชื้น / ฝนตก
  • โปรเจคตรวจสอบอุณหภูมิ
  • โปรเจควัดความเข้มแสง ให้เปิดไฟอัตโนมัติ และ ส่ง Notifiy บอก
  • โปรเจคตรวจจับความเคลื่อนไหว
  • โปรเจคเตือนรดน้ำต้นไม้ เมื่อเซนเซอร์อ่านความชื้นในดินแล้วพบว่าค่าน้อย
  • อื่นๆ อีกมากมาย

2.1 ตัวอย่างโปรเจค “ไม่พลาดทุกการเตือน เมื่อมีการกดปุ่ม”

อุปกรณ์

  1. Resister 220Ω
  2. Switch
  3. Breadboard
  4. สาย Jumper
ตัวอย่างการต่อแบบ Simple เพื่อส่ง LINE Notify เมื่อกดปุ่ม
openssl x509 -noout -fingerprint -sha1 -inform pem -in [certificate-file.crt]

2.2 ส่งค่าความชื้น และ อุณหภูมิ ทุกๆ 1 ชม ไปหา LINE Notify

อุปกรณ์

  1. NodeMCU ESP8266 หรือ ESP32
  2. Breadboard
  3. สาย Jumper

แนะนำให้ใช้ millis() แทน delay()

เราต้องสร้าง scheduler job โดยใช้ millis() แทนที่จะใช้ delay() สาเหตุเพราะ millis() เป็น Non Blocking I/O ในขณะที่ delay() นั้นเป็น Blocking I/O


iamgoangle

Once a Software Engineer, always a growth engineering mindsets

Teerapong Singthong 👨🏻‍💻

Written by

LINE Engineer x Software Craftsmanship

iamgoangle

Once a Software Engineer, always a growth engineering mindsets