Simulasi ESP-01 di Proteus Mengirim Data ke ThingSpeak Cloud

A. Tujuan Pembelajaran

Setelah menyelesaikan praktikum ini, peserta didik mampu:

 

  1. Memahami konsep HTTP Client pada modul ESP-01 dan bagaimana cara kerjanya dalam jaringan IoT
  2. Membuat dan mengonfigurasi channel pada platform ThingSpeak
  3. Menjalankan simulasi ESP-01 di Proteus tanpa membutuhkan hardware fisik
  4. Mengirimkan data ke cloud menggunakan perintah AT+HTTPCLIENT melalui protokol HTTPS
  5. Memverifikasi data yang masuk melalui grafik pada dashboard ThingSpeak

 

B. Dasar Teori

1. HTTP Client pada ESP-01

Dalam jaringan komputer, client adalah perangkat yang mengirimkan permintaan (request) kepada server. Ketika ESP-01 dikonfigurasi sebagai HTTP client, modul ini dapat melakukan berbagai komunikasi jaringan, antara lain:

 

  • Mengirim data ke layanan cloud IoT
  • Meminta data dari endpoint API
  • Mengunggah nilai sensor secara berkala
  • Berkomunikasi dengan database online

 

Dalam praktikum ini, ThingSpeak berperan sebagai server, dan ESP-01 di dalam Proteus berperan sebagai client yang mengirimkan nilai data menggunakan perintah AT.

 

2. Platform ThingSpeak

ThingSpeak adalah platform cloud IoT gratis dari MathWorks yang menyediakan layanan berikut:

 

  • Menyimpan dan mengirim nilai dari sensor
  • Membuat grafik data secara otomatis
  • Memvisualisasikan data secara real-time
  • Mengakses data melalui REST API dengan HTTP GET atau POST

 

  ℹ️  ThingSpeak menyediakan REST API yang memungkinkan pengiriman data menggunakan HTTP GET request. Format URL: https://api.thingspeak.com/update?api_key=KUNCI&field1=nilai

 

3. Perintah AT+HTTPCLIENT

ESP-01 menggunakan firmware AT yang memungkinkan komunikasi melalui perintah teks. Untuk mengirim data ke server menggunakan HTTPS, digunakan perintah:

 

AT+HTTPCLIENT=<metode>,<tipe-konten>,”<URL>”,<transport>

 

Parameter Nilai Penjelasan
metode 2 HTTP GET request
tipe-konten 0 Tidak ada body data (sesuai untuk GET)
URL URL lengkap URL ThingSpeak lengkap beserta API key dan nilai field
transport 2 Menggunakan protokol HTTPS (aman)

 

C. Alat dan Bahan

 

No Alat / Bahan Spesifikasi Keterangan
1 Software Proteus 8 Versi 8.x yang sudah mendukung komponen ESP-01 Wajib
2 Library ESP-01 Proteus Library komponen ESP-01 untuk simulasi Proteus Wajib
3 Akun ThingSpeak Daftar gratis di thingspeak.mathworks.com (akun MathWorks) Wajib
4 Koneksi Internet Diperlukan untuk komunikasi data dengan server ThingSpeak Wajib

 

D. Langkah Kerja

 

1 TAHAP 1 — Membuat Channel di ThingSpeak

 

  1. Buka browser dan kunjungi alamat thingspeak.mathworks.com
  2. Login menggunakan akun MathWorks. Buat akun baru jika belum memiliki.
  3. Masuk ke menu Channels → My Channels
  4. Klik tombol New Channel
  5. Aktifkan Field 1 dengan mencentang kotak yang tersedia
  6. Isi Nama Channel dan label Field 1 sesuai kebutuhan praktikum
  7. Klik Save Channel di bagian bawah halaman
  8. Buka tab API Keys, lalu salin Write API Key yang ditampilkan

 

  ⚠️  Simpan Write API Key Anda di tempat yang aman. Kunci ini digunakan dalam setiap permintaan pengiriman data. Jangan bagikan kunci ini kepada orang lain karena siapa pun yang memilikinya dapat menulis data ke channel Anda.

 

Format URL API yang akan digunakan dalam perintah AT:

 

https://api.thingspeak.com/update?api_key=WRITE_API_KEY&field1=nilai

 

2 TAHAP 2 — Menyiapkan Simulasi di Proteus

  1. Buka software Proteus ISIS
  2. Pasang komponen ESP-01 dari library ke area kerja (canvas)
  3. Tambahkan komponen Virtual Terminal dari menu Instruments
  4. Hubungkan pin TX ESP-01 ke RX Virtual Terminal, dan RX ESP-01 ke TX Virtual Terminal
  5. Pastikan baud rate Virtual Terminal diatur ke 115200
  6. Jalankan simulasi dengan menekan tombol Play

 

3 TAHAP 3 — Menghubungkan ESP-01 ke Jaringan

 

Setelah simulasi berjalan, ketik perintah berikut di Virtual Terminal untuk menghubungkan ESP-01 ke jaringan:

AT+CWJAP=”ELECTRONICSTREE”,”ADMIN”

 

  ℹ️  Gunakan SSID dan password di atas agar ESP-01 dalam mode simulasi Proteus dapat berfungsi sebagai client dan berkomunikasi dengan server eksternal di internet.

 

Tunggu hingga Virtual Terminal menampilkan respons:

 

WIFI CONNECTED

WIFI GOT IP

 

OK

 

4 TAHAP 4 — Mengirim Data ke ThingSpeak

 

Ketik atau tempel perintah berikut di Virtual Terminal. Ganti WRITE_API_KEY dengan kunci yang sudah disalin dari ThingSpeak:

 

AT+HTTPCLIENT=2,0,”https://api.thingspeak.com/update?api_key=WRITE_API_KEY&field1=25″,2

Tekan Enter untuk mengirim perintah.

 

5 TAHAP 5 — Membaca dan Mencatat Respons

 

Jika pengiriman berhasil, Virtual Terminal akan menampilkan respons berikut:

 

+HTTPCLIENT:200,<panjang-data>

<nomor_entri>

 

OK

Bagian Respons Penjelasan
HTTP 200 Status code 200 = permintaan berhasil diproses oleh server
<panjang-data> Jumlah byte data yang diterima dari server ThingSpeak
<nomor_entri> Nomor urut data yang berhasil disimpan di channel (1, 2, 3, dst.)
OK Konfirmasi bahwa perintah AT selesai dieksekusi tanpa error

 

6 TAHAP 6 — Mengirim Data Berikutnya

 

Untuk memperbarui data, ubah nilai pada parameter field1 dan kirim ulang perintah. Contoh mengirim nilai 26:

 

AT+HTTPCLIENT=2,0,”https://api.thingspeak.com/update?api_key=WRITE_API_KEY&field1=26″,2

 

Ulangi langkah ini dengan beberapa nilai berbeda (misalnya: 25, 30, 15, 42, 18) untuk mengisi grafik ThingSpeak dengan beberapa titik data.

 

7 TAHAP 7 — Memverifikasi Data di ThingSpeak

 

  1. Buka kembali halaman ThingSpeak di browser
  2. Masuk ke channel yang sudah dibuat
  3. Klik tab Private View
  4. Periksa grafik Field 1 — nilai-nilai yang dikirim harus sudah muncul sebagai titik data pada grafik
  5. Ambil screenshot grafik untuk disertakan dalam laporan

 

E. Tabel Pengamatan

Catat setiap perintah yang dikirim dan respons yang diterima pada tabel berikut:

 

No Nilai field1 Perintah AT yang Dikirim Kode Respons Nomor Entri Berhasil?
1          
2          
3          
4          
5          

 

F. Pertanyaan Analisis

 

  1. Apa perbedaan antara HTTP Client dan HTTP Server? Berikan masing-masing satu contoh nyata dalam konteks sistem IoT.
Jawaban:

 

 

  1. Jelaskan mengapa parameter transport diisi dengan nilai 2 (HTTPS) dan bukan 1 (HTTP) saat mengirim data ke ThingSpeak.
Jawaban:

 

 

  1. Apa fungsi dari Write API Key pada ThingSpeak, dan mengapa kunci ini perlu dijaga kerahasiaannya?
Jawaban:

 

 

  1. Apa yang terjadi jika perintah AT+HTTPCLIENT dikirim sebelum ESP-01 terhubung ke jaringan (sebelum AT+CWJAP berhasil)? Jelaskan respons yang kemungkinan diterima.
Jawaban:

 

 

  1. Dalam praktikum ini data dikirim secara manual satu per satu. Bagaimana cara mengotomatisasi pengiriman data secara berkala jika ESP-01 disambungkan dengan Arduino? Jelaskan alur kerjanya.
Jawaban:

 

 

G. Kesimpulan

Tuliskan kesimpulan praktikum berdasarkan hasil pengamatan dan analisis yang telah dilakukan (minimal 3 poin):

 

1. __________________________________________________________________________________________

____________________________________________________________________________________________________

____________________________________________________________________________________________________

2. __________________________________________________________________________________________

____________________________________________________________________________________________________

____________________________________________________________________________________________________

3. __________________________________________________________________________________________

____________________________________________________________________________________________________

____________________________________________________________________________________________________

 

H. Pengembangan Lanjutan

Setelah menguasai praktikum dasar ini, tantangan berikutnya yang dapat dilakukan adalah:

 

  • Menghubungkan Arduino ke ESP-01 dalam satu proyek simulasi Proteus
  • Membaca nilai dari sensor virtual seperti LM35 (suhu) atau DHT11 (suhu & kelembaban)
  • Mengirimkan nilai sensor tersebut secara otomatis ke ThingSpeak menggunakan timer
  • Memvisualisasikan data dari beberapa field sekaligus di dashboard ThingSpeak
  • Membangun alur IoT lengkap: Sensor → Arduino → ESP-01 → Cloud

 

 

bisaioti.com

Platform Edukasi IoT & Otomasi Industri Indonesia

 

Related Articles