Anda di halaman 1dari 13

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET Praktik Kendali Dan Akusisi Data


LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 1 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

1. Kompetensi
Mahasiswa mampu membaca data dari server thingspeak menggunakan modul
ESP8266
2. Sub Kompetensi
a. Dapat memprogram ESP8266 dengan Arduino
b. Dapat mengenal dan memahami fung – fungsi dari AT Command
c. Dapat memahami konsep Internet of Things (IoT)
d. Dapat memahami komunikasi ESP8266 dengan Thingspeak
3. Dasar Teori
Internet of Things
IoT atau Internet of Things adalah teknologi untuk menyatukan semua perangkat
(‘things’) melalui media internet. Kata kunci dalam teknologi adalah ‘connectivity’ dan
objek dari connectivity itu sendiri. ‘Connectivity’ atau dalam bahasa kita adalah
‘konektivitas’, artinya media untuk menghubungkan semua perangkat. Secara harafiah,
konektivitas IoT adalah melalui internet, namun teknologi ini dapat dengan mudah
diimplementasikan dalam intranet/LAN. Basically, konektivitas yang didukung adalah
media perantara yang menggunakan protokol TCP/IP sebagai carrier-nya. Yang kedua,
objek konektivitas yang kita sebut sebagai ‘Things’ atau terjemahan tekniknya adalah
‘perangkat’. Things/perangkat ini bukan sembarang perangkat namun tentunya yang sudah
mendukung konektivitas TCP/IP.

ESP8266
ESP8266 adalah sebuah embedded chip yang di desain untuk komunikasi berbasis
wifi. Chip ini memiliki output serial TTL dan GPIO. ESP8266 dapat digunakan secara
sendiri (Standalone) maupun digabungkan dengan pengendali lainnya seperti
mikrokontroler. ESP8266 memiliki kemampuan untuk networking yang lengkap dan
menyatu baik sebagai client maupun sebagai Access Point. Firmware yang dimiliki
ESP88266 begitu banyak, dapat juga sebuah chip ESP8266 diprogram dengan tujuan
khusus sesuai degan kebutuhan sebagai contoh kemampuan untuk berkomunikasi dengan
web yang menggunakan port HTTPS.
Chip ESP8266 disempurnakan oleh Tensilica’s seri L106 Diamond dengan
prosesor 32-bit. Ada 3 cara menggunakan ESP8266 : sebagai wifi access menggunakan AT
command, dimana biasanya dimanfaatkan oleh Arduino untuk koneksi wifi, sebagai sistem
yang berdiri sendiri menggunakan NodeMCU dan menggunakan bahasa LUA, sebagai
sistem yang berdiri sendiri dengan menggunakan Arduino IDE yang sudah bisa terhubung
dengan ESP8266. ESP 8266 dapat bertindak sebagai client ke suatu wifi router, sehingga
saat konfigurasi dibutuhkan setting nama access pointnya dan juga passwordnya, selain itu
ESP8266 dapat digunakan sebagai Access Point dimana ESP8266 dapat menerima akses
wifi.
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Kendali Dan Akusisi Data
LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 2 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

Gambar 1. ESP8266-1 AI Cloud dan Pin Konfigurasi


Fitur yang dimiliki oleh ESP8266-1 sebagai berikut :
 Frekuensi wifi 802.11 b/g/n
 Prosesor 32 - bit MCU
 10 - bit ADC
 TCP/ IP protocol stack
 TR switch, LNA , power amplifier dan jaringan
 PLL , regulator , dan unit manajemen daya
 Mendukung keragaman antena
 WiFi 2.4 GHz , mendukung WPA / WPA2
 Dukungan STA mode operasi /AP / STA + AP
 Dukungan Smart link Fungsi untuk kedua perangkat Android dan iOS
 SDIO 2.0 , ( H ) SPI , UART , I2C , I2S , IR Remote Control , PWM , GPIO
 STBC , 1x1 MIMO , 2x1 MIMO
 A - MPDU & A - MSDU agregasi & 0.4s guard interval

ThingSpeak
"ThingSpeak adalah platform open source Internet of Things (IOT) aplikasi dan
API untuk menyimpan dan mengambil data dari hal menggunakan protokol HTTP melalui
Internet atau melalui Local Area Network. ThingSpeak memungkinkan pembuatan aplikasi
sensor logging, aplikasi lokasi pelacakan, dan jaringan sosial hal dengan update status ".
ThingSpeak awalnya diluncurkan oleh ioBridge pada tahun 2010 sebagai layanan untuk
mendukung aplikasi IOT. ThingSpeak telah terintegrasi dukungan dari numerik komputasi
perangkat lunak MATLAB dari MathWorks. Memungkinkan ThingSpeak pengguna untuk
menganalisis dan memvisualisasikan data yang diunggah menggunakan Matlab tanpa
memerlukan pembelian lisensi Matlab dari MathWorks.
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Kendali Dan Akusisi Data
LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 3 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

ThingSpeak memiliki hubungan dekat dengan MathWorks, Inc. Bahkan, semua


dokumentasi ThingSpeak dimasukkan ke situs dokumentasi Matlab yang MathWorks 'dan
bahkan memungkinkan terdaftar MathWorks akun pengguna login sebagai valid di situs
ThingSpeak. Persyaratan layanan dan kebijakan privasi dari ThingSpeak.com adalah antara
pengguna setuju dan MathWorks, Inc
Cara Kerja :

Gambar 2. ThingSpeak
4. Alat dan Bahan
1. PC/Laptop
2. ESP8266
3. Arduino UNO
4. Kabel USB Arduino
5. Project board
6. Access Point dengan koneksi Internet
7. Kebel Jumper secukupnya

5. Langkah Kerja
Berikut ini langkah – langkah yang harus dilakukan
1. Rangkai ESP8266 dengan Arduino seperti gambar dibawah ini.
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Kendali Dan Akusisi Data
LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 4 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

2. Pastikan untuk melakukan langkah awal dalam LS1 untuk mengubah kecepatan
ESP8266 dari 115200 menjadi 9600.
3. Setelah selesai maka dapat dilanjutkan dengan membuat program baru untuk
membaca data dari thingspeak menggunakan ESP8266 wifi modul dengan program
sebagai berikut :
#include <SoftwareSerial.h>
#define RX 2
#define TX 3
//declaration an object/class esp8266 type softwareserial
SoftwareSerial esp8266(RX,TX); //RX,TX
String ssid = "whoami"; // disesuaikan dengan WiFi yang akan dihubungkan
String pass = "19980524"; //cantumkan password dari WiFi yang dihubungkan
String data="";
int i=0;
void setup()
{
Serial.begin(9600);
esp8266.begin(9600);
Serial.println("====== inizializing =======");
SendToESP8266("AT",5,"OK");
SendToESP8266("AT+CWMODE=1",5,"OK");
SendToESP8266("AT+CWJAP=\""+ ssid +"\",\""+ pass +"\"",20,"OK");
}
void loop()
{
SendToESP8266("AT+CIPMUX=1",5,"OK");
String strIPSTART = "AT+CIPSTART=4,\"TCP\",\"184.106.153.149\",80";
SendToESP8266(strIPSTART,15,"OK");
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Kendali Dan Akusisi Data
LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 5 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

String getstr = "GET


/channels/718839/fields/1/last?api_key=U8XUNWVRZCB6D1K8"; //disesuaikan
dengan api key yang dituju dan fields yang akan di isi
String strCommand ="AT+CIPSEND=4,"+String(getstr.length()+4);
SendToESP8266(strCommand,10,">");
SendToESP8266(getstr,20,"OK");
delay(1000);
int j=0;
data="";
while(j<50) {
int a=esp8266.read();
Serial.write(a);
if(a == '\"') break;
else if ((a>=32) && (a<=127)) data +=char(a);
j++;
}
Serial.println();
String x = data.substring(9,10); //disesuaikan dengan lebar data yang akan
dimunculkan pada serial monitor
Serial.print("Data read: "); Serial.println(x);
delay(2000);
}
void SendToESP8266 (String ATCommand, int timemax, char codefeedback[])
{
int t=0;
Serial.println("AT Command: "+ATCommand);
while(t<timemax)
{
Serial.print(".");
esp8266.println(ATCommand);
if (esp8266.find(codefeedback))
{
Serial.println("OK");
break;
}
t++;
}
Serial.println();
}
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Kendali Dan Akusisi Data
LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 6 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

4. Tulis kembali program tersebut dan perhatikan setiap komentar yeng tertera pada
program untuk lebih memahami program.
5. Setelah selesai dan program benar semua saat di compail selanjutka buka
ThingSpeak anda terlebih dahulu dan pastikan api key yang dimasukan pada
program sama dengan yang ada pada ThingSpeak.
6. Kemudian buka laman baru pada browser lalu masukan
https://api.thingspeak.com/update?api_key=3D6QMA0DYX9736GC&field1=9
3D6QMA0DYX9736GC = write api key anda
9 = data yang akan anda kirim
7. Setelah data terkirim kemudian dapat di lihat data tersebut pada field ThingSpeak
anda. Berikut merupakan contoh dari pengaplikasian tahap diataas

Lebar data

Gambar 3. Pengiriman data dan tampilan serial monitor

Gambar 4. Tampilan data pada ThingSpeak


FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Kendali Dan Akusisi Data
LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 7 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

8. Setelah berhasil dengan lebar data 1 digit, selajutkan modifikasilah program untuk
memunculkan 2 digit angka pada lebar data dengan cara mengubah program pada
bagian
{
Serial.println();
String x = data.substring(9,11); //disesuaikan dengan lebar data yang akan
dimunculkan pada serial monitor
Serial.print("Data read: "); Serial.println(x);
delay(2000);
}
Upload program yang telah dirubah.
Kemudian kirimkan data pada ThingSpeak sebanyak 2 digit, seperti contoh sebagai
berikut:

Gambar 5. Pengiriman Data dan Tampilan Serial Monitor

Gambar 6. Tampilan Data Pada ThingSpeak


FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Kendali Dan Akusisi Data
LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 8 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

9. Setelah berhasil dengan lebar data 1 digit, selajutkan modifikasilah program untuk
memunculkan 3 digit angka pada lebar data dengan cara mengubah program pada
bagian
{
Serial.println();
String x = data.substring(9,12); //disesuaikan dengan lebar data yang akan dimunculkan
pada serial monitor
Serial.print("Data read: "); Serial.println(x);
delay(2000);
}
Upload program yang telah dirubah.
Kemudian kirimkan data pada ThingSpeak sebanyak 3 digit, seperti contoh sebagai
berikut:

Gambar 7. Pengiriaman Data dan Tampilan Serial Monitor

Gambar 8. Tampilan Data Pada ThingSpeak


FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Kendali Dan Akusisi Data
LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 9 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

10. Setelah berhasil dengan lebar data 1 digit, selajutkan modifikasilah program untuk
memunculkan 4 digit angka pada lebar data dengan cara mengubah program pada
bagian
{
Serial.println();
String x = data.substring(9,13); //disesuaikan dengan lebar data yang akan dimunculkan
pada serial monitor
Serial.print("Data read: "); Serial.println(x);
delay(2000);
}
Upload program yang telah dirubah.
Kemudian kirimkan data pada ThingSpeak sebanyak 4 digit, seperti contoh sebagai
berikut:

Gambar 9. Pengiriman Data dan Tampilan Serial Monitor


FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Kendali Dan Akusisi Data
LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 10 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

Gambar 10. Tampilan Data Pada ThingSpeak


11. Setelah berhasil dengan program tersebut kemudian tambahkan rangkaian dengan
dihubungkan pada 3 buat LED yang dikendalikan secara bergantian dengan data
yang kita kirimkan yaitu 0 (mati) dan 1 (hidup).
12. Tambahkanlah program anda terdahulu sehingga seperti program dibawah ini:
#include <SoftwareSerial.h>
#define RX 2
#define TX 3

//declaration an object/class esp8266 type softwareserial


SoftwareSerial esp8266(RX,TX); //RX,TX
String ssid = "whoami";
String pass = "19980524";
String data="";
int i=0;

void setup()
{
pinMode (6,OUTPUT); //untuk Pin LED
pinMode (7,OUTPUT); //untuk Pin LED
pinMode (8,OUTPUT); //untuk Pin LED
Serial.begin(9600);
esp8266.begin(9600);
Serial.println("====== inizializing =======");
SendToESP8266("AT",5,"OK");
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Kendali Dan Akusisi Data
LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 11 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

SendToESP8266("AT+CWMODE=1",5,"OK");
SendToESP8266("AT+CWJAP=\""+ ssid +"\",\""+ pass +"\"",20,"OK");
}

void loop()
{
SendToESP8266("AT+CIPMUX=1",5,"OK");
String strIPSTART = "AT+CIPSTART=4,\"TCP\",\"184.106.153.149\",80";
SendToESP8266(strIPSTART,15,"OK");
String getstr = "GET
/channels/718839/fields/1/last?api_key=U8XUNWVRZCB6D1K8";
String strCommand ="AT+CIPSEND=4,"+String(getstr.length()+4);
SendToESP8266(strCommand,10,">");
SendToESP8266(getstr,20,"OK");
delay(1000);
int j=0;
data="";
while(j<50) {
int a=esp8266.read();
Serial.write(a);
if(a == '\"') break;
else if ((a>=32) && (a<=127)) data +=char(a);
j++;
}
Serial.println();
String x = data.substring(9,10);
Serial.print("Data read: "); Serial.println(x);
delay(2000);
if (x=="0") digitalWrite(6,LOW); //data 0 kondisi lampu mati pada pin 6
if (x=="1") digitalWrite(6,HIGH); //data 1 kondisi lampu hidup pada pin 6
if (x=="2") digitalWrite(7,LOW); //data 2 kondisi lampu mati pada pin 7
if (x=="3") digitalWrite(7,HIGH); //data 3 kondisi lampu hidup pada pin 7
if (x=="4") digitalWrite(8,LOW); //data 4 kondisi lampu mati pada pin 8
if (x=="5") digitalWrite(8,HIGH); //data 5 kondisi lampu hidup pada pin 8
}
void SendToESP8266 (String ATCommand, int timemax, char codefeedback[])
{
int t=0;
Serial.println("AT Command: "+ATCommand);
while(t<timemax)
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Kendali Dan Akusisi Data
LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 12 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

{
Serial.print(".");
esp8266.println(ATCommand);
if (esp8266.find(codefeedback))
{
Serial.println("OK");
break;
}
t++;
}
Serial.println();
}
13. Setelah program selesai dan berhasil di upload maka kembali lakukan pengiriman
data dimulai dengan data 1. Hasil dari langkah ini ialah sebagi berikut:

Gambar 11. Tampilan data 1 pada ThingSpeak serta perubahan LED


FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Kendali Dan Akusisi Data
LS 2: Membaca Data Dari Thingspeak 4 X 50
Semester 6
Menggunakan ESP8266 Wifi Modul Menit
Hal 13 dari
No Revisi : 01 Tgl : 18 Maret 2019
13

14. Setelah berhasil, kirimkan data 3 untuk mengubah LED pin 7 menyala. Berikut
merupakan tampilan dari percobaan tersebut

Gambar 12. Tampilan data 3 pada ThingSpeak dan Serial Monitor

Gambar 13. LED Pin 7 Menyala

Anda mungkin juga menyukai