กลับไปหน้ารวมไฟล์
send-an-sms-using-twilio-with-temboo-e80dc4.md

1. เตรียมตัวให้พร้อม

  • ต้องมีบัญชี Temboo ก่อนนะน้อง ถ้ายังไม่มี ก็ไปสมัครฟรีได้เลย
  • ต้องมีบัญชี Twilio ด้วย ตัวนี้ก็สมัครฟรีได้เหมือนกัน
  • โค้ดของเราต้องใช้เบอร์โทร Twilio ของน้อง รวมถึง Account SID กับ Auth Token ที่ได้ตอนสมัคร Twilio ด้วย ระวังให้ดี ต้องใช้ Account SID กับ Auth Token จากหน้า Dashboard จริงๆ ของ Twilio (ตามรูปด้านล่าง) ห้ามใช้ของทดสอบจาก Dev Tools Panel เด็ดขาด!
  • ถ้าใช้บัญชี Twilio แบบฟรี น้องต้องไปยืนยันเบอร์โทรที่เราจะส่ง SMS ไปก่อน ตามขั้นตอนในเมนู "Numbers > Verified Caller IDs" ใน Twilio นั่นแหละ และแน่นอนว่า Yún ของน้องต้องต่ออินเทอร์เน็ตไว้แล้ว
  • ย้ำอีกที! ต้องแน่ใจว่า Arduino Yún ของน้องต่ออินเทอร์เน็ตอยู่

Cloud Gateway Connectivity

โปรเจคนี้ทำให้ Arduino ส่งการแจ้งเตือนไปทั่วโลกได้ทันที ด้วยการเชื่อมต่อฮาร์ดแวร์ในบ้านเราเข้ากับ Twilio SMS service ผ่านทาง Temboo platform

  • Temboo Choreography Interface: Temboo ทำหน้าที่เป็น "Cloud Middleware" คอยจัดการเรื่องยุ่งยากอย่าง HTTP และ SSL authentication ที่ Twilio ต้องการให้ Arduino ของเราส่งแค่แพ็กเก็ตเล็กๆ ง่ายๆ ไปหา Temboo แล้ว Temboo จะแปลงมันเป็นการเรียก REST API แบบโปรให้เอง
  • IoT Alert Logic: เหมาะมากสำหรับระบบเตือนภัยหรือสิ่งแวดล้อม เช่น ถ้าเซ็นเซอร์แก๊สตรวจพบการรั่วไหล Arduino ก็จะสั่งให้ "Choreo" บน Temboo ส่ง SMS ฉุกเฉินไปหาเจ้าของบ้านได้เลย

Global Reach

  • No-SIM Wireless: ต่างจาก GSM shield ที่ต้องใช้ซิมการ์ดและสัญญาณเครือข่ายมือถือ ระบบนี้ทำงานผ่าน WiFi/Ethernet ธรรมดา ทำให้เป็นทางเลือกที่เสถียรและประหยัดกว่า สำหรับระบบแจ้งเตือน IoT ในบ้านหรือออฟฟิศ

2. เขียนโค้ด Sketch กัน

คัดลอกโค้ดด้านล่างไปวางในแท็บใหม่ของ Arduino IDE ได้เลย โค้ดนี้จะเรียกใช้ SendSMS Choreo อย่าลืมเปลี่ยนค่าตัวแปรในโค้ดให้เป็นข้อมูลบัญชี Twilio ของน้องเองด้วยล่ะ

/*
  SendAnSMS
  Demonstrates sending an SMS via a Twilio account using the Temboo Arduino Yun SDK.

This example code is in the public domain. / #include <Bridge.h> #include <Temboo.h> #include "TembooAccount.h" // contains Temboo account information /** SUBSTITUTE YOUR VALUES BELOW: ***/ // Note that for additional security and reusability, you could // use #define statements to specify these values in a .h file. // the Account SID from your Twilio account const String TWILIO_ACCOUNT_SID = "xxxxxxxxxx"; // the Auth Token from your Twilio account const String TWILIO_AUTH_TOKEN = "xxxxxxxxxx"; // your Twilio phone number, e.g., "+1 555-222-1212" const String TWILIO_NUMBER = "xxxxxxxxxx"; // the number to which the SMS should be sent, e.g., "+1 555-222-1212" const String RECIPIENT_NUMBER = "xxxxxxxxxx"; boolean success = false; // a flag to indicate whether we've sent the SMS yet or not void setup() { Serial.begin(9600); // for debugging, wait until a serial console is connected delay(4000); while(!Serial); Bridge.begin(); } void loop() { // only try to send the SMS if we haven't already sent it successfully if (!success) { Serial.println("Running SendAnSMS...");

// we need a Process object to send a Choreo request to Temboo
TembooChoreo SendSMSChoreo;
// invoke the Temboo client
// NOTE that the client must be reinvoked and repopulated with
// appropriate arguments each time its run() method is called.
SendSMSChoreo.begin();

// set Temboo account credentials
SendSMSChoreo.setAccountName(TEMBOO_ACCOUNT);

SendSMSChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME); SendSMSChoreo.setAppKey(TEMBOO_APP_KEY); // ระบุ Choreo ใน Temboo Library ที่จะรัน (Twilio > SMSMessages > SendSMS) SendSMSChoreo.setChoreo("/Library/Twilio/SMSMessages/SendSMS"); // ตั้งค่า Input ที่จำเป็นสำหรับ Choreo // ดูรายละเอียดทั้งหมดเกี่ยวกับ Input สำหรับ Choreo นี้ได้ในเอกสาร // Input แรกคือ AccountSID ของคุณ SendSMSChoreo.addInput("AccountSID", TWILIO_ACCOUNT_SID);

// ต่อไปคือ Auth Token ของคุณ
SendSMSChoreo.addInput("AuthToken", TWILIO_AUTH_TOKEN);
// ต่อไปคือเบอร์โทรศัพท์ Twilio ของคุณ
SendSMSChoreo.addInput("From", TWILIO_NUMBER);

// ต่อไป ระบุเบอร์ปลายทางที่จะส่ง SMS ไป
SendSMSChoreo.addInput("To", RECIPIENT_NUMBER);
// สุดท้าย ข้อความที่ต้องการส่ง
SendSMSChoreo.addInput("Body", "Hey, there! This is a message from your Arduino Yun!");

// บอกให้ Process เริ่มรันและรอผลลัพธ์
// ค่า return code (returnCode) จะบอกเราว่า Temboo client ส่ง request ไปหาเซิร์ฟเวอร์สำเร็จมั้ย
unsigned int returnCode = SendSMSChoreo.run();
// return code เป็นศูนย์ (0) แปลว่าทุกอย่างโอเค
if (returnCode == 0) {
    Serial.println("Success! SMS sent!");
    success = true;
} else {
  // return code ไม่ใช่ศูนย์แปลว่ามีข้อผิดพลาด
  // อ่านและพิมพ์ข้อความ error ออกมา
  while (SendSMSChoreo.available()) {
    char c = SendSMSChoreo.read();
    Serial.print(c);
  }
}
SendSMSChoreo.close();
// ไม่ต้องทำอะไรเป็นเวลา 60 วินาทีต่อไป
Serial.println("Waiting...");
delay(60000);

} }

3. สร้างไฟล์ Header ของคุณ

สเก็ตช์ด้านบนอ้างอิงไปที่ไฟล์เฮดเดอร์ TembooAccount.h ซึ่งเก็บข้อมูลบัญชี Temboo ของคุณ

ถ้าคุณล็อกอินอยู่ คุณจะเห็นรายละเอียดบัญชีของคุณในโค้ดด้านล่าง (ไม่งั้นจะเห็นค่า placeholder) ให้คัดลอกโค้ดไปวางในแท็บใหม่ใน Arduino แล้วตั้งชื่อไฟล์ว่า TembooAccount.h เลย

เมื่อมีไฟล์ครบทั้งสองแล้ว คุณก็พร้อมที่จะอัปโหลดสเก็ตช์และส่ง SMS จาก Yún ของคุณแล้ว จัดไปวัยรุ่น!

#define TEMBOO_ACCOUNT "accountName"  // ชื่อบัญชี Temboo ของคุณ
#define TEMBOO_APP_KEY_NAME "myFirstApp"  // ชื่อ App Key ของคุณ
#define TEMBOO_APP_KEY  "abc123xxxxxxxxxxxxxx"  // App Key ของคุณ

4. ต่อไปทำอะไรดี?

ตอนนี้ส่ง SMS เป็นแล้ว ไปเช็คดู Choreo อีก 2000+ ใน Library ของเรา แล้วเริ่มวางแผนโปรเจค Yún ต่อไปกันดีกว่า สู้งานนะน้อง!

5. ต้องการความช่วยเหลือ?

พวกเรายินดีช่วยเสมอ ถ้ามีคำถามอะไร ก็ติดต่อมาหาพวกเราได้เลย

ข้อมูล Frontmatter ดั้งเดิม

title: "ส่ง SMS ง่ายๆ ด้วย Twilio + Temboo งานง่ายแต่หล่อ!"
description: "มาเลยน้อง! พี่จะสอนให้ Arduino Yún ของเราเก่งกาจจนส่ง SMS ผ่าน Twilio ได้แบบตึงๆ ไว้ให้มันแจ้งเตือนเวลาไปสายเองเลย วัยรุ่นจัดไป!"
author: "Arduino_Scuola"
category: "Internet of Things, BT & Wireless"
tags:
  - "internet"
views: 5608
likes: 0
price: 1499
difficulty: "Intermediate"
components:
  - "1x Arduino Yun"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "ae235005438c8da064cb4525cf0fd0afa78fd09f7f957e4bb0ba09114cc2e0a5"
encryptedPayload: "U2FsdGVkX1+avdouw/2jzPWvhlmxujNURy4U/76ZfgseoFxESv7NUiW9K07w3kVFpQ7B8C5nHu9DuLI/6hbMCwcniLMyw/KcC+SRj3RDdI8="
seoDescription: "Learn how to send SMS from Arduino Yún using Twilio and Temboo for real-time notifications and alerts."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/send-an-sms-using-twilio-with-temboo-e80dc4_cover.png"
lang: "en"