ABDUL Subscriber — Subscribe your topic easier via ABDUL Chatbot Platform

Guangming C. Sangkeettrakarn
2 min readDec 16, 2019

--

ถ้ามีระบบหรือ IoT Sensor สักตัว ที่ส่งข้อมูลออกมา(publish) เป็นระยะๆ แล้วอยากให้ส่งข้อมูลนั้นเข้าแชตบอตที่มีอยู่ จะทำไงดี?

เชื่อว่าหลายคนกำลังมองหา solution ที่จะทำให้แชตบอตของคุณรับข้อความ (subscribe) ที่ broadcast หรือ publish ผ่านทาง messaging service/broker เช่น MQTT กันอยู่ แต่การจะมีระบบที่สามารถ subscribe ข้อมูลเหล่านี้ ก็ต้องตั้ง server หรือเขียน script ไปแปะไว้ไหนสักที่หนึ่ง เพื่อคอยรับข้อมูลนี้ การจะทำให้ได้แบบนี้ ก็ต้องอาศัยความเข้าใจอยู่พอสมควร

วันนี้ผมมี Solution ง่ายๆ มาฝากครับ

นั่นก็คือ ABDUL Subscriber สำหรับใครที่ใช้งานแชตบอตผ่านทาง ABDUL Platform อยู่แล้ว …

คำถาม : ต้องติดตั้งหรือตั้งค่าเพิ่มเติมอย่างไร

คำตอบ : แชตบอตทุกตัวที่สร้างผ่าน ABDUL Platform มี feature นี้อยู่แล้ว

แล้วจะเรียกใช้งานอย่างไร?

ก่อนอื่นต้องทำความเข้าใจก่อนว่า การรับข้อมูลผ่านทาง mqtt broker สิ่งสำคัญ 2 อย่างที่เราจะต้องมีก็คือ BROKER และ TOPIC

BROKER คือ endpoint ของ server ให้บริการ ตัวอย่าง public broker ที่เปิดให้ใช้งานฟรี เช่น iot.eclipse.org , broker.hivemq.com เป็นต้น

TOPIC คือ channel หรือช่องสัญญาณข้อมูลที่เราจะไปเกาะนั่นเอง

สำหรับรายละเอียดอื่นๆ ลองค้นหาเพื่อทำความเข้าใจกันเองนะครับ ไม่ยากอะไร ;)

คำถาม : มี Broker กับ Topic แล้ว จะทำยังไงต่อ?

คำตอบ : พิมพ์บอกแชตบอตของคุณได้เลย

เริ่มรับข้อความ : sub BROKER TOPIC

ตัวอย่าง sub broker.hivemq.com /gmhome

เพื่อเริ่มต้นรับข้อความที่ถูก publish บน Broker broker.hivemq.com ผ่านช่องที่ชื่อ /gmhome

และ

ยกเลิกการรับข้อความ : unsub BROKER TOPIC

ตัวอย่าง unsub broker.hivemq.com /gmhome

เพื่อยกเลิกข้อความที่ถูก publish บน Broker broker.hivemq.com ผ่านช่องที่ชื่อ /gmhome

ดูรูปตัวอย่างข้างล่าง เผื่อจะเข้าใจง่ายขึ้นนะครับ

เคล็ดลับความพิเศษของความสามารถนี้ ก็คือ

  1. หากพิมพ์บอกกับบอตโดยตรง บอตจะส่งข้อความถึงเราโดยตรงเช่นกัน
  2. หากต้องการให้แจ้งข้อมูลในกลุ่ม ก็แค่ invite บอตตัวใดตัวนึงที่สร้างผ่าน ABDUL Platform แล้วใช้คำสั่งด้านบน พิมพ์ในกลุ่ม เมื่อมีข้อความเข้ามาก็จะส่งเข้าไปในกลุ่ม

ข้อควรระวังคือ

การส่งข้อความจะใช้ Push Quota ดังนั้น ใช้อย่างมีสตินะครับ

และ

คำถามสุดท้าย : ถ้ากลัว push quota หมด ให้ส่งผ่านทาง Line Notify ได้มั้ย?

คำถาม : ได้ !!!!!

ยังไง !!!

ก็คือ ใช้คำสั่งเดิม แต่ต่อท้ายด้วย access token ของ Line Notify (หาต่อเองได้เนอะ)

ก็จะเป็น sub BROKER TOPIC TOKEN (อย่าลืมเคาะช่องว่างด้วย)

ตัวอย่างเช่น sub broker.hivemq.com /gmhome bece813944b58xxxxxxx

ข้อความที่เข้ามาก็จะส่งผ่านทาง Line Notify ทั้งหมด ซึ่งไม่เสีย Push Quota เลย แค่ไม่ Cool เฉยๆ แหละ … นอกนั้นก็ใช้เหมือนกันหมดเลย

เอาล่ะ ไปลองใช้กันเลยครับ ฮ่าาาาาาา

#ง่ายกว่านี้ไม่มีอีกแล้ว

--

--

No responses yet