Loading...
OUR BLOG

Hantar dan terima mesej Whatsapp melalui ThingESP dan Twilio menggunakan ESP8266

Hi BDx-ian!

 

Tutorial kali ini kita akan belajar cara nak hantar dan terima mesej WhatsApp melalui ThingESP dan Twilio menggunakan ESP8266 dan ultrasonic sensor. Konsepnya adalah pengguna menghantar kod mesej pada nombor WhatsApp yang diperoleh daripada Twilio untuk mengetahui data jarak objek. Kemudian, mesej notifikasi WhatsApp akan diterima oleh pengguna apabila objek berada di antara 0 hingga 15 cm dari sensor. Untuk menghantar data jarak daripada ESP8266 ke WhatsApp, platform ThingESP IoT digunakan untuk menyambungkan Twilio dengan API WhatsApp. 

 

Apa itu ThingESP?

ThingESP menyediakan HTTP client library pada Arduino IDE yang digunakan untuk menyambung peranti IoT anda ke ThingESP Cloud Platform. ThingESP boleh digunakan dalam beberapa peranti seperti ESP8266 dsb.

 

 

Apa itu Twilio?

Twilio adalah salah satu platform media komunikasi biasa digunakan oleh developer untuk menghantar mesej teks, audio atau video dari peranti. Salah satu perkhidmatan yang dimiliki oleh Twilio ialah WhatsApp API yang membolehkan anda membuat sistem komunikasi berasaskan aplikasi WhatsApp. 

 

Anda boleh lakukan beberapa perkara dengan menggunakan Twilio melalui Whatsapp antaranya

 

 

 

 

Arduino IDE

 

1. Install library ThingESP

Pergi ke Sketch > Include Library > Manage Libraries > Cari ThingESP by SiddheshNam > Tekan Install.

 

 

ThingESP

 

1. Cipta akaun ThingESP

Pergi ke ThingESP -> Tekan Create Account -> Isikan maklumat akaun  -> Signup.

 

 

 

 

2. Login akaun ThingESP

Verify email -> Login akaun yang anda telah cipta tadi di ThingESP.

 

Twilio 

 

1. Cipta Akaun Twilio 

Pergi ke Twilio -> Tekan Sign up for free -> Isikan maklumat -> Tekan Start Your Free Trial.

 

 

 

2. Login akaun Twilio 

Verify email -> Login akaun yang anda telah cipta tadi di Twilio

 

 

Cipta projek

 

Untuk cipta projek anda perlu buka akaun ThingESP anda

Tekan Your Project -> Tekan Add New Project ->  Isikan maklumat projek anda -> Tekan Submit -> Copy link URL -> Tekan OK -> Paste link URL anda tadi pada Twilio Console 

 

 

Untuk mendapatkan Twilio SSID dan Twilio Auth Token, anda perlu tekan Account -> pergi ke API keys & tokens -> Copy Twilio SSID dan Twilio Auth Token pada bahagian Live Credentials -> Paste Twilio SSID dan Twilio Auth Token pada projek anda tadi di Twilio.

 

 

 Paste link projek ThingESP anda tadi di Twilio Console -> Tekan Save.

 

 

API WhatsApp Twilio

 

Aktifkan nombor telefon anda dengan menghantar kod mesej ke nombor chatbot Twilio iaitu +1 415 523 8886 melalui aplikasi WhatsApp. Setelah berjaya aktifkan Sandbox WhatsApp, nombor akan dipaparkan seperti gambar di bawah.

 

Hantar kod Twilio Sandbox pada WhatsApp.

 

 

Komponen 

 

Komponen yang diperlukan untuk tutorial ini:

 

 

Litar 

 

Ultrasonic sensor

 

 

 

LED

 

 

Code

#include <ESP8266WiFi.h>

#include <ThingESP.h>

 

//Masukkan maklumat projek ThingESP anda

ThingESP8266 thing("username", "project_name", "credentials");

 

int LED = 2;

int triggerPin = 13;

int echoPin = 15;

int duration, distance;

 

unsigned long previousMillis = 0;

const long INTERVAL = 6000;

String msg;

 

 

void setup()

{

    Serial.begin(115200);

 

    pinMode (triggerPin, OUTPUT);

    pinMode (echoPin, INPUT);

    pinMode (LED, OUTPUT);

 

    thing.SetWiFi("wifi_ssid", "wifi_password"); //Masukkan nama Wifi dan password Wifi anda

 

    thing.initDevice();

}

 

void loop()

{

  digitalWrite(triggerPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(triggerPin, LOW);

  duration = pulseIn(echoPin, HIGH);

  distance = (duration/2)/29.1;

  

     if (millis() - previousMillis >= INTERVAL)

     {

         previousMillis = millis();

         

           if (distance >=0 && distance <=15){

            digitalWrite(LED, HIGH);

            thing.sendMsg("+60182068477","Amaran! Halangan dihadapan: " + (String)distance + "cm");

            }

 

            else

            {

              digitalWrite(LED, LOW);

            }

      

     }

     

    thing.Handle();

}

 

String HandleResponse(String query)

{

 

    if (query == "jarak")

    {       

          return (String)distance + "cm";

    }

    

    else{

        return "Your query was invalid..";

        }

}

 

Peringatan

Tukarkan maklumat di bawah.

ThingESP8266 thing("username", "project_name", "credentials"); //Masukkan maklumat projek ThingESP anda

thing.SetWiFi("wifi_ssid", "wifi_password"); //Masukkan nama Wifi dan password Wifi anda

 

Output

Setelah upload code pada Arduino IDE, Serial Monitor memaparkan ESP8266 connect dengan WiFi network, ThingESP dan WhatsApp API.

 

Output Serial Monitor

 

 

Apabila menghantar mesej "jarak" pada chatbox Twilio, data jarak akan dihantar dari sensor melalui WhatsApp. Output Serial Monitor memaparkan query.

 

 

Output Serial Monitor

 

Apabila jarak objek berada kurang 15 cm dari sensor, mesej amaran diterima melalui WhatsApp dan lampu LED menyala.

 

 

Jika anda suka dengan perkongsian tutorial dalam blog kami ni, jangan lupa untuk follow Facebook dan Instagram kami, kat situ ada bermacam info dan update terkini yang akan kami kongsikan kepada anda. Itu sahaja untuk tutorial kami. Stay update dan selamat mencuba!

 

 

Unsure Whether You Need Our Help?

Have you got an awesome new idea or project that you want to talk about? We're here to talk you through it. Flick us an email or give us a call to get started.