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
- Menghantar peringatan temujanji, pengesahan pembelian atau amaran.
- Hantar dan terima fail media seperti imej, audio dan PDF.
- Kongsi lokasi pada peta.
- Bina sistem komunikasi menggunakan aplikasi WhatsApp dengan cepat dan mudah menggunakan feature Programmable Messaging API.
- Cipta dan urus Templat Mesej secara automatik dengan setup melalui Twilio Console.
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:
- LED
- NodeMCU ESP8266
- Breadboard
- Jumper
- Ultrasonic Sensor
Litar
Ultrasonic sensor
- VCC → pin Vin ESP8266
- TRIG → pin D7 ESP8266
- ECHO → pin D8 ESP8266
- GND → GND ESP8266
LED
- +ve terminal → pin D4 ESP8266
- -ve terminal → GND ESP8266
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!