Senin, 10 Juli 2023

Membuat Weather Station ESP8266 (ESP-01)

 

OLED & ESP-01
OLED & ESP-01

Saat saya mendapatkan modul ESP-01 dan display OLED dari PCBWay, Saya mencari ide proyek yang menggunakan kedua modul tersebut melalui video YouTube maupun melalui website kemudian saya menemukan sebuah proyek github yang bernama Weather Station ESP8266 dari ThingPulse berupa sebuah library untuk digunakan pada Arduino IDE. Jadi kode programnya diambil dari example library weather station ESP8266 yang bernama WeatherStationDemo namun karena saya menggunakan ESP-01 maka pinout untuk display OLED IIC untuk koneksi SDA dan SCL nya harus diubah dari D3 dan D4 menjadi 2 dan 0.


Kode program Weather station ESP8266 ini tidak dapat langsung digunakan tanpa mengisi parameter yang diperlukan diantaranya, SSID Wi-Fi dan passwordnya agar ESP-01 dapat terhubung dengan internet, kemudian API key dan ID kota saat ini yang dapat kita peroleh dari situs openweathermap.org untuk mendapatkan data prakiraan cuaca saat ini dan tiga hari kedepan dari situs tersebut dan Time Zone. Nah parameter itu sudah tinggal kita isikan didalam kode program WeatherStationDemo tadi. 


1. SSID 

Agar ESP-01 terhubung dengan internet maka didalam kode program WeatherStationDemo tadi sudah disediakan isian untuk SSID Wi-Fi yang kita pakai, kita hanya perlu mengisikan nama SSID dan Password nya. Jadi nantinya ketika weather station yang kita buat pertama kali dihidupkan akan langsung otomatis menyambung dengan Wi-Fi yang kita masukkan SSID nya tadi. 


2. API key


Openweathermap API Key
Openweathermap API Key

Untuk mendapatkan API key dari openweathermap.org maka kita harus daftar akun dulu pada tautan ini, https://docs.thingpulse.com/how-tos/openweathermap-key/ scroll lalu pilih get API key versi gratis, lalu isi email dan password baru, centang yang diperlukan lalu klik tombol "Create Account", stelah akun dibuat maka klik tab API key, nah kode API key tersebut yang harus kita isikan pada baris kode program berikut ini. 

String OPEN_WEATHER_MAP_APP_ID = "kode unik API key"


3. Kode kota


Openweathermap Kolom pencarian kota
Kolom pencarian kota

Openweathermap Location ID
Openweathermap Location ID

Selanjutnya buka situs openweathermap.org lalu ketikkan nama kota kita saat ini yang ingin kita tampilkan data cuaca nya pada kolom pencarian lalu klik tombol cari sehingga akan menghasilkan nama kota yang kita ketik beserta negaranya, kalau sesuai tinggal kita pilih maka data cuaca akan langsung di tampikan. 

Pada kolom address bar openweathermap.org/city/kodeKota copy kodenya berupa angka paling akhir setelah slash lalu paste pada baris kode program berikut ini. 

String OPEN_WEATHER_MAP_LOCATION_ID = "kodeKota"


4. Bahasa

Bahasa dari keterangan yang ditampilkan untuk informasi cuaca defaultnya adalah bahasa inggris, jika ingin ditampilkan dalam bahasa Indonesia maka kodenya harus diubah menjadi "id" pada baris kode program berikut ini. 

String OPEN_WEATHER_MAP_LANGUAGE = "id"


5. Time Zone

Selain menampilkan prakiraan cuaca, proyek ini juga menampilkan waktu berbasis NTP, maka dari itu agar waktunya sesuai dengan negara kita saat ini maka pengaturan zona waktu atau time zone nya juga harus disesuaikan, untuk Indonesia maka time zone nya adalah +7.


Baca juga : Membuat OLED Oscilloscope Arduino (GOscilloscope) 


Setelah selesai pengisian parameter yang dibutuhkan diatas maka tinggal klik tombol upload, namun perlu diingat bahwa kita perlu menambahkan board ESP8266 dulu sebelumnya jadi ketika kita pilih board untuk ESP-01 maka sudah tersedia pada tab Tools - Board - ESP8266 dan pilih generic ESP8266 Module seperti pada gambar dibawah ini. 


Board ESP8266
Board ESP8266

Selanjutnya tinggal kita membuat rangkaiannya yang hanya berupa ESP-01 dan display OLED dan cukup ditenagai baterai lithium ion saja, namun tentunya karena tegangan kerja dari ESP-01 maksimal 3.6V atau tegangan kerja normalnya adalah 3.3V maka kita perlu menambahkan IC regulator AMS1117 3.3V, Berikut ini skema atau koneksi wiring dari weather station yang telah saya buat.


Skema Weather Station ESP-01
Skema Weather Station ESP-01

Nah dari skema tersebut kemudian saya desain layoutnya seminimal mungkin bentuknya, dengan bagian pinggirnya menyerupai bentuk puzzle sehingga nantinya ketika sudah menjadi pcb, sisa pcb lainnya dapat disusun menjadi sebuah kubus untuk dijadikan sebagai casing atau tempat rangkaian utama dipasang.


Layout Weather Station ESP-01
Layout Weather Station ESP-01

Setelah layout siap cetak maka saya langsung membuat pesanan pcb ke situs PCBWay, karena untuk membentuk sebuah pcb berbentuk kubus setidaknya membutuhkan 6 keping pcb, maka dari itu saya seperti biasanya pesan 10 pcs PCB hanya dengan membayar 5 dolar saja. Selain bisa pesan PCB, di PCBWay saya juga pesan modul ESP-01 dan display OLED nya, jadi untuk proyek ini semua komponennya saya pesan dari PCBWay. Selain harganya yang bersahabat, proses pembuatan pcb nya juga cepat berikut pelayan yang baik. Ditambah jika belum pernah melakukan pemesanan pcb di PCBWay maka ketika mendaftar akun PCBWay kamu akan mendapatkan saldo welcome bonus yang bisa dipakai untuk biaya cetak pcb di PCBWay, jadi jika kamu berencana membuat pcb di PCBWay silakan daftar akun PCBWay sekarang juga melalui tautan ini.


PCBWay.com
PCBWay.com

Daftar akun PCBWay
Daftar akun PCBWay

Setelah desain pcb saya cetak di PCBWay.com, maka seminggu kemudian sudah saya terima dan hasilnya bisa kamu lihat pada gambar dibawah ini.


PCB Weather Station ESP-01 bagian Depan
PCB Weather Station ESP-01 bagian Depan

PCB Weather Station ESP-01 bagian Belakang
PCB Weather Station ESP-01 bagian Belakang

Kemudian setelah dirakit hasilnya bisa dilihat pada video dibawah ini, berikut penjelasan cara mengisi parameter yang diperlukan seperti yang saya jelaskan diatas agar bisa lebih dipahami baik melalui tulisan maupun video tutorial, mari kita simak sama-sama videonya berikut ini.




EmoticonEmoticon