Simulasi ESP-01 di Proteus Mengirim Data ke ThingSpeak Cloud

A. Tujuan Pembelajaran
Setelah menyelesaikan praktikum ini, peserta didik mampu:
- Memahami konsep HTTP Client pada modul ESP-01 dan bagaimana cara kerjanya dalam jaringan IoT
- Membuat dan mengonfigurasi channel pada platform ThingSpeak
- Menjalankan simulasi ESP-01 di Proteus tanpa membutuhkan hardware fisik
- Mengirimkan data ke cloud menggunakan perintah AT+HTTPCLIENT melalui protokol HTTPS
- 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 |
- Buka browser dan kunjungi alamat thingspeak.mathworks.com
- Login menggunakan akun MathWorks. Buat akun baru jika belum memiliki.
- Masuk ke menu Channels → My Channels
- Klik tombol New Channel
- Aktifkan Field 1 dengan mencentang kotak yang tersedia
- Isi Nama Channel dan label Field 1 sesuai kebutuhan praktikum
- Klik Save Channel di bagian bawah halaman
- 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 |

- Buka software Proteus ISIS
- Pasang komponen ESP-01 dari library ke area kerja (canvas)
- Tambahkan komponen Virtual Terminal dari menu Instruments
- Hubungkan pin TX ESP-01 ke RX Virtual Terminal, dan RX ESP-01 ke TX Virtual Terminal
- Pastikan baud rate Virtual Terminal diatur ke 115200
- 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 |
- Buka kembali halaman ThingSpeak di browser
- Masuk ke channel yang sudah dibuat
- Klik tab Private View
- Periksa grafik Field 1 — nilai-nilai yang dikirim harus sudah muncul sebagai titik data pada grafik
- 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
- Apa perbedaan antara HTTP Client dan HTTP Server? Berikan masing-masing satu contoh nyata dalam konteks sistem IoT.
| Jawaban:
|
- Jelaskan mengapa parameter transport diisi dengan nilai 2 (HTTPS) dan bukan 1 (HTTP) saat mengirim data ke ThingSpeak.
| Jawaban:
|
- Apa fungsi dari Write API Key pada ThingSpeak, dan mengapa kunci ini perlu dijaga kerahasiaannya?
| Jawaban:
|
- Apa yang terjadi jika perintah AT+HTTPCLIENT dikirim sebelum ESP-01 terhubung ke jaringan (sebelum AT+CWJAP berhasil)? Jelaskan respons yang kemungkinan diterima.
| Jawaban:
|
- 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 |



