Printfriendly

2:53:00 PM

Interfacing : Receive One or more Data over Serial from arduino to VB

visual studio
Visual Studio
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Visual Basic adalah salah satu bahasa pemrograman desktop visual yang berjalan diatas .NET Framework dan dibuat serta dikembangkan oleh Microsoft. Sedangkan Arduino adalah board serta bahasa pemrograman yang dimodifikasi dari bahasa C++ untuk lingkungan mikrokontroller. Visual basic dapat berkomonikasi dengan arduino via Serial (TTL) karena di dalam board arduino tertanam chip FTDI atau Ch340(arduino KW) jadi tidak diperlukan tambahan aksesoris atau module lainnya.

Untuk software pemrograman Visual basic .NET dapat menginstall Visual studio 2013 atau 2015 community (free) yang dapat di download di web resmi visual studio. Untuk alat dan bahas sendiri hanya dibutuhkan
  • Visual Studio
  • Arduino IDE
  • Kabel USB ke arduino
  1. Pertama tama buka arduino IDE dan ketik
    Untuk mengirim 1 data,contoh mengirim nilai variable "hitung"
    void setup() {
      Serial.begin(9600); //setting baudrate 9600 dengan parameter 8N1
    }
    int hitung=0;
    void loop() {
      hitung++;
      Serial.println(hitung); //kirim data diakhiri dengan cr+lf
      delay(500);
    }
  2. Untuk mengirim 2 data kira-kira formatnya sebagai berikut
    data1,data2,data3,dataX data diakhiri dengan cr+lf dan setiap data dipisah dengan koma
    void setup() {
      Serial.begin(9600); //setting baudrate 9600 dengan parameter 8N1
    }
    int hitung=0;
    int hitung2=0;
    int hitung3=0;
    void loop() {
      hitung++;
      hitung+=2;
      hitung+=3;
      Serial.print(hitung); //kirim data 1
      Serial.print(",");
      Serial.print(hitung2); //kirim data 2
      Serial.print(",");
      Serial.println(hitung3); //kirim data 3 diakhiri cr+lf
      delay(500);
    }
  3. Pada Visual Studio dapat download source kodenya disini (https://www.dropbox.com/s/tcs9aa35a02xz5l/Vb%20net%20serial%20receive.rar?dl=0)
  4. Kita hanya menambahkan Tool Serial Port dan event SerialPort_received, dan kemudian mendelegasikan ke suatu fungsi untuk mengubah tulisan pada Form utama,berikut kodenya 

    Dim baca as String = SerialPort1.ReadLine()
    untuk membaca data yang diterima dengan akhiran cr+lf

    Dim baca_clear as String = Replace(Replace(baca, vbLf, ""), vbCr, "")
    untuk menghapus karakter cr(carriage return) dan lf(life feed) 

    Dim data_masuk() As String
    data_masuk = vb.Split(baca_clear, ",")
    Jika data lebih dari satu dan terdapat tanda , (koma) maka akan disimpan di variable array data_masuk(0), data_masuk(1) dst

    Dim jumlah_koma as Integer = Len(baca) - Len(Replace(baca, ",", ""))
    Untuk membaca jumlah koma
  5. Berikut tampilannya
vb ke arduino,vb to arduino
Vb to arduino
Untuk Simulasi dapat menggunakan Virtual Serial Port http://www.ismaillowkey.net/2015/04/membuat-virtual-serial-port-rs233rs485.html
dan Hterm(hyper terminal) disini http://www.der-hammer.info/terminal/hterm.zip
Berikut tampilan Hterm(hyper terminal) untuk simulasinya
Good Luck
Semoga bermanfaat
وَعَلَيْكُمْ السَّلاَمُ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
10:39:00 AM

Basic, Download and Installing HiveMQ Mqtt broker for Windows (Indonesia)

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ 






HiveMQ is a MQTT broker designed for mission-critical enterprise scenarios. While at its core, HiveMQ is a MQTT 3.1 and MQTT 3.1.1 compatible MQTT broker, HiveMQ excels with its additional features. Besides the stellar performance, HiveMQ is the leading innovator among MQTT brokers and is improving businesses that rely on MQTT day-to-day.
Seperti yang dikutip dalam http://www.hivemq.com/features/  . Dalam era digital sekarang, perkembangan teknologi semakin maju dan semakin mempermudah aktivitas manusia baik dalam hal control maupun monitoring terutama tentang IoT (Internet of things) yang mana semua alat dapat berkomunikasi dan tentu dapat terinterasi dengan SCADA system asal paham arsitekturnya.

Pada artikel kali ini membahas tentang dasar dasar IoT, disini penulis hanya membahas salah satu protokol IoT yaitu MQTT (MQ Telemetry Transport or Message Queue Telemetry Transport). Dalam mqtt terdapat 3 bagian dasar. mqtt publisher, mqtt broker dan mqtt subcribe (lihat gambar dibawah)
arsitektur mqtt. source : http://www.hivemq.com/blog/how-to-get-started-with-mqtt
Seperti halnya majalah atau koran. terdapat penulis, penerbit dan pelanggan yang berlangganan. Untuk dapat berkerja, mqtt membutuhan mqtt broker (disini ibarat penerbit), dan salah satu penyedianya adalah hivemq. Selain itu terdapat mqtt publisher (disini ibarat penulis), dalam mqtt publisher kita harus menulis topic dan isi topik. Sebagai contoh suatu alat (arduino uno di lokasi jakarta) terhubung dengan sensor suhu dan sensor humidity, mqtt publisher (disini arduino uno) mempublish suhu dan humidity dengan topik temperature ke mqtt broker (lihat gambar diatas) disisi lain suatu alat (disini arduino mega di lokasi bandung) terhubung dengan sensor arusvoltage, kwh, kvah dengan topik listrik ke mqtt broker.
Jadi di mqtt broker terdapat 2 topik yaitu temperature dan listrik. disni sudah paham ?

Nah disini kita sebagai pelanggan ingin berlangganan suatu majalah atau koran tetapi dengan topik tertentu. Misal pelanggan A di lokasi tangerang ingin berlangganan topic temperature, maka data yang ia dapat hanya berhubungan dengan topic temperature yaitu data suhu dan humidity sedangkan pelanggan B di lokasi surabaya ingin berlanggan dengan topik listrik maka data yang ia dapat hanya berhubungan dengan topic listrik yaitu arus, voltage, kwh dan kvah dan pelanggan C di lokasi cikarang ingin berlangganan dengan topic keduanya yaitu temperature dan listrik kemudian ingin ia sambungkan ke database miliknya sebagai analisa

Sampai disini sudah paham?
Untuk lebih jelasnya dapat melihat artikel ini http://www.hivemq.com/blog/mqtt-essentials-part-3-client-broker-connection-establishment atau lihat gambar dibawah


Setiap mqtt subcribe dapat melihat data yang diterima melalui smartphone,web maupun PC
Dalam mqtt kita membutuhkan server, client Id,user & pass (bila perlu), topic dan isi topic
Server dapat menggunakan server mqtt broker seperti mqtt-dashboard.com , broker.hivemq.com atau iot.eclipse.org dengan port standar 1883
atau kita dapat membuat server mqtt broker sendiri yang berjalan di windows maupun linux, pada artikel kali ini kita menginstall mqtt broker dari hivemq, berikut langkah-langkahnya


  1. Download mqtt broker dari hivemq disini http://www.hivemq.com/downloads/. isi data (bebas) dan centang "I agree ..."  kemudian klik download
  2. Kemudian klik download dan ekstrak file zip tersebut
  3. Buka folder tersebut kemudian buka folder bin dan double click  run.bat,sampai muncul berikut
  4. kemudian buka cmd (command promt) via start menu dan ketik netstat -an|find "1883"
  5. Mqtt broker selesai dibuat
Tutorial selanjutnya, menginstall PAHO mqtt client (pubish & subcribe) untuk windows
Jika ada pertanyaa bisa menulis di kolom komentar

وَعَلَيْكُمْ السَّلاَمُ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ