Komunikasi Serial Arduino dengan NodeJS Menggunakan Modul Serialport

Kali ini tutorial akan membahas penggunaan NodeJS untuk komunikasi serial dengan arduino. Kita dapat memanfaatkan NPM module NodeJS untuk berkomunikasi serial dengan hardware. Salah satu modul instan yang mudah digunakan adalah modul Johnny Five dan Cyclon.js . Namun dalam tutorial kali ini kita akan mencoba menggunakan modul standar komunikasi serial yaitu modul serialport.  Apa yang membedakan dengan modul Johnny Five dan Cyclon.js  ? dikesempatan lain saya akan membahasnya lebih detil. Oke, intinya modul serialport ini berfungsi untuk komunikasi 2 arah antara server NodeJS dengan Hardware (dalam hal ini menggunakan Android).

  1. Untuk langkah pertama silahkan menginstal modul serialport dengan mengetikkan di command windows : npm install serialport
  2. Upload sketch program arduino seperti dibawah ini :
 

 
void setup() {
 
 Serial.begin(9600); // inisialisasi baudrate, defaultnya menggunakan 9600
 // inisiasi Output dalam hal ini menggunakan LED di PIN 13
pinMode(13, OUTPUT);
Serial.println("arduino siap"); //indikator siap digunakan
}
 
void loop() {

char getdata = (char)Serial.read();
 if(getdata == 'A'){ // Jika menerima data berupa teks A maka hidupkan lampu
 digitalWrite(13, HIGH);
 Serial.println("hidup");
 }
 if(getdata == 'D'){// Jika menerima data berupa teks D maka matikan lampu111
 digitalWrite(13, LOW);
 Serial.println("mati");
 }
 
 }



 

3. Setelah program arduino diupload, langkah selanjutnya membuat file server NodeJS ( server.js) sebagai berikut :


var serialport = require("serialport");
var SerialPort = serialport.SerialPort;


var serialPort = new SerialPort("COM6", { // Menggunakan COM 6
 baudrate: 9600,
 parser: serialport.parsers.readline("\n")
});

serialPort.on("open", function () { // Komunikasi serial dibuka
 console.log('open');
 

 serialPort.on('data', function(data) { //Menerima dan Mengirim data ke Arduino
 serialPort.write('A'); //Kirim Data Teks ke arduino . Ganti karakter dengan teks A atau B 
 console.log(data); //tampilkan data dari arduino
 });
});


node1


Facebook Comments

Leave a Reply

Your email address will not be published. Required fields are marked *