4. Kirim datanya ke Pachube dengan bantuan Processing

Setelah Anda mendapatkan Lokasi Feed dan API-key dari Pachube, maka langkah berikutnya, kirim data sensor menggunakan Processing. Jangan lupa untuk menghubungkan Arduino ke komputer sebelum menjalankan Processing.

Berikut program Processing untuk mengirimkan data ke Lokasi Feed di Pachube:
import processing.serial.*;    
Serial myPort;                 
import eeml.*;
float myValue0;
float myValue1;
float lastUpdate;
DataOut dOut;
void setup() {
  size(200,200);
  println(Serial.list());
  myPort = new Serial(this, Serial.list()[1], 9600);
  myPort.bufferUntil('\n');
  dOut = new DataOut(this, "LOKASI FEED PACHUBE", "API-KEY");
  dOut.addData(0,"Dayalistrik");
  dOut.addData(1,"KWHmeter");
}
void draw() {
   if ((millis() - lastUpdate) > 10000){
        println("ready to PUT: ");
        dOut.update(0, myValue0);
        dOut.update(1, myValue1);
        int response = dOut.updatePachube();
        println(response);
        lastUpdate = millis();
    }
}
void serialEvent(Serial myPort) {
  String myString = myPort.readStringUntil('\n');
  if (myString != null) {
    myString = trim(myString);
    int sensors[] = int(split(myString, ','));
    for (int sensorNum = 0; sensorNum < sensors.length; sensorNum++) {
      print("Sensor " + sensorNum + ": " + sensors[sensorNum] + "\t");
    }
    println();
        if (sensors.length > 1) {
        myValue0 = sensors[0];
        myValue1 = sensors[1];
        }
  }
}

Salin program di atas, dan isi Lokasi Feed dan API-key sesuai dengan yang diberikan oleh Pachube. Jalankan Processing. Apabila berhasil, maka akan tampak data sensor ditampilkan pada jendela pesan (message window), di bawah program seperti berikut:


Catatan: apabila data sensor belum tampak pada jendela pesan, maka periksa sambungan Arduino dengan komputer dan saluran yang digunakan. Anda dapat melihat saluran yang digunakan, dari daftar yang muncul pada jendela pesan, pada saat Processing pertama kali dijalankan, yang terlihat seperti gambar berikut:


Karena saya menggunakan saluran COM7, di mana dalam daftar tertulis kode 0 untuk COM1 dan kode 1 untuk COM7, maka dalam instruksi myPort = new Serial(this, Serial.list()[1], 9600); saya menggunakan kode 1. Ubahlah kode 1 tersebut sesuai dengan kode untuk saluran COM yang Anda gunakan, maka seharusnya Processing sudah bisa menampilkan data sensor di jendela pesan

Langkah terakhir adalah membuka halaman Feed Pachube kembali. Maka akan tampak informasi bahwa status data telah ter-update dan kondisinya saat ini adalah live. Perhatikan juga di bagian bawah halaman Feed, tampak kedua data sensor, yaitu datastream "Dayalistrik" dan "KWHmeter" secara otomatis ditampilkan dalam bentuk grafik beserta nilai angkanya, seperti gambar berikut:



Tidak ada komentar:

Posting Komentar