Kali ini saya akan share bagaimana cara mengambil data wheater dari API Ecowitt menggunakan javascript, disini saya juga memanfaatkan lybrary axios.
Untuk dokumentasi API dari Ecowitt bisa diakses disini.
saya akan membaca data API Getting Device Real-Time Data.
dalam dokumentasi API dijelaskan bahwa pengembang dapat memperoleh data dalam 2 jam terakhir melalui kunci aplikasi, kunci API, Mac/IMEI, dan data meteorologi. Atau data kamera terbaru dalam 24 jam.
Request to: https://api.ecowitt.net/api/v3/device/real_time
Return Data format: JSON
Request Type: GET
Example: https://api.ecowitt.net/api/v3/device/real_time?application_key=APPLICATION_KEY&api_key=API_KEY&mac=YOUR_MAC_CODE_OF_DEVICE&call_back=all
ganti APPLICATION_KEY dan API_KEY yang dapat anda buat di akun ecowitt sesuai petunjuk di bagian home.
Kita buat file HTML terlebih dahulu
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Read API data Ecowitt</title> </head> <body> <script src="https://unpkg.com/axios@1.6.7/dist/axios.min.js"></script> <script src="app2.js"></script> </body> </html>
Kemudian buat file javascript misalnya 'app2.js'
// URL API (ubah sesuai dengan endpoint API kamu) const apiUrl = 'https://api.ecowitt.net/api/v3/device/real_time?application_key=APLICATION_KEY_ANDA&api_key=API_KEY_ANDA&mac=MAC_ANDA&call_back=all&temp_unitid=1'; // Fungsi async untuk mengambil data const getTemperature = async () => { try { // Melakukan HTTP GET ke API const response = await axios.get(apiUrl); // Memastikan data tersedia if (response.data && response.data.data.outdoor.temperature.value) { const temperatureValue = response.data.data.outdoor.temperature.value; const temperatureUnit = response.data.data.outdoor.temperature.unit; const temperatureTime = response.data.data.outdoor.temperature.time; const solarUvi = response.data.data.solar_and_uvi.solar.value; console.log(`Temperature Value: ${temperatureValue}`); // Output nilai suhu console.log(`Temperature Unit: ${temperatureUnit}`); console.log(`Measurement Time: ${temperatureTime}`); console.log(`Measure Solar Uvi : ${solarUvi}`); } else { console.log('Temperature data tidak ditemukan!'); } } catch (error) { console.error('Error saat mengambil data:', error.message); } }; // Memanggil fungsi untuk mengambil data getTemperature();

0 Komentar