HTTP dan MQTT merupakan protokol pengiriman data dari satu piranti ke piranti lain melalui jaringan komputer lokal maupun internet. Mana yang sebaiknya dipakai dalam penerapan pengendalian dan pemantauan jarak jauh melewati jaringan komputer baik lokal maupun internet, tentunya perlu dilihat karakteristik masing-masing protokol dengan mempertimbangkan kebutuhan. Berikut ini pembahasan prinsip-prinsip kerja HTTP dan MQTT.

MQTT merupakan protokol pengiriman data yang populer di bidang Internet of Things.  Ukuran data yang dikirim relatif lebih kecil sehingga data lebih cepat terkirim dan handal.  Penggunaan protokol ini relatif mudah digunakan karena dukungan komunitas yang menediakan library untuk berbagai mancam piranti pengendali seperti PLC, Mikrokontroler maupun pemprograman pada komputer.  

Jika Anda sedang memempelajari MQTT atau sedang mengerjakan proyek untuk Tugas Akhir, Skripsi, Thesis, sering kali memerlukan MQTT Broker yang terkoneksi di internet untuk menunjang interkoneksi antara perangkat-perangkat yang Anda kembangkan.  Pada kesempatan ini saya telah mencoba untuk membuat MQTT Broker menggunakan sebuah SBC  (dalam hal ini saya pakai Orange Pi PC Plus), yang saya hubungkan ke sebuah router dan port yang digunakan (1883) dibuka sehingga bisa diakses dari luar.  Karena jaringan internet saya menggunakan dynamic IP Address, maka perlu adanya nama domain sehingga pengguna tidak kerepotan mengganti IP pada setiap device yang aktif.  Untuk itu saya menggunakan fasilitas Dynamic DNS yang disediakan oleh domain provider yang saya gunakan saat ini. 

Peralatan-peralatan listrik dikendalikan dengan sebuah ponsel cerdas atau laptop melalui web browser.  Status atau nilai-nlai dari sensor yang terhubung juga dapat dipantau melalui web browser.  Sistem seperti inilah yang akan kita diskusikan pada artikel ini dan bagaimana mempersiapkan peralatan baik software maupun hardware untuk penerapannya di bidang Internet of Things.  Hardware dan software yang digunakan di sini bukan satu-satunya alat/cara yang bisa digunakan, namun untuk keperluan pembelajaran, maka lebih praktis kita menggunakan perangkat keras Raspberry Pi sebagai server dan mikrokontroler NodeMCU 8266 sebagai perangkat yang akan dikoneksikan ke sensor atau beban.  Software yang digunakan adalah Node-RED dengan protokol komunikasi MQTT, yang dalam banyak hal memberikan keuntungan dan kemudahan dalam implementasinya.  Node-RED merupakan aplikasi dengan platform Nodejs yang berjalan di server dan melayani perangkat yang terhubung ke server tersebut.   Pemprograman Node-RED dilakukan secara grafis melalui web browser yang akan dijelaskan nanti.  

Mesin Keadaan Hingga (Finite State Machine)


Sebelum membuat program, ada langkah-langkah perencanaan yang sebaiknya dilakukan supaya sistem yang telah dirancang dapat dengan baik diimplementasikan ke sebuah pengendali.  Artikel ini membahas bagaimana mempersiapkan sebuah diagram mesin keadaan sebelum membuat program PLC.

Mesin keadaan hingga (Finite State Machine) merupakan sebuah model komputasi yang diterapkan pada perangkat keras atau lunak yang merepresentasikan suatu urutan kerja.  Model ini menggambarkan beberapa keadaan yang mungkin terjadi pada suatu sistem, yang keadaan-keadaan ini dipicu oleh peristiwa-peristiwa (event) yang terdapat pada sistem tersebut. Peristiwa-peristiwa ini memungkinkan berubahnya suatu keadaan ke keadaan lain, atau bisa dikatakan sebagai suatu transisi antar keadaan (state transition).

Kita dapat menghubungkan sebuah mikrokontroler ke jaringan internet dengan bantuan WiFi-Serial module.  Melalui modul ini, sebuah mikrokontroler dapat melakukan transfer data dengan perantara jaringan WiFi.  Kali ini kita akan coba menghubungkan Arduino Mega2560 dengan sebuah modul ESP8266. Ada beberapa skenario yang dapat diterapkan oleh modul WiFi-Serial ini, yaitu sebagai client ataupun server.

Artikel ini ditujukan untuk Anda yang ingin menghubungkan mikrokontroler Arduino dengan aplikasi desktop menggunakan Visual Basic (.NET), melalui komunikasi serial (serial port communication).  Perangkat utama yang saya gunakan adalah papan Arduino Mega dan Visual Studio Express 2012.  Kita akan membuat program di kedua sisi, yaitu antara mikrokontroler dan komputer akan saling berkomunikasi, jika CommandButton di aplikasi komputer kita klik, maka lampu pada Arduino akan menyala, demikian juga sebaliknya, jika salah satu port di Arduino kita tekan, maka akan muncul informasi di layar komputer.

Belajar mikrokontroler Arduino untuk tingkat Pemula.

Arduino sudah menjadi salah satu modul mikrokontroler yang cukup populer sejak beberapa tahun ini. Sifatnya yang open source dan semakin banyak dukungan library gratis di internet adalah salah satu alasan mengapa Arduino bisa populer yang bisa ditemui di hampir setiap toko online elektronik. Bagi para pemula, modul ini sangat bagus untuk belajar pemrograman mikrokontroler, karena  kita tidak perlu mengembangkan terlalu banyak di sisi hardware.  Kita tidak perlu membuat PCB, pasang komponen, solder dan belum lagi uji coba hardware, yang cukup memakan waktu. Tapi saya menyarankan, jika Anda punya banyak waktu, akan lebih bagus silakan merakit sendiri, namun saya tidak bahas di artikel ini.

 

Interfacing Lidar Hokuyo URG-04LX-UG01 to Arduino with USB Host Shield.

Laser scanning sensor is advanced sensor device for mobile robotics usage.  It can generate 2D environment data more precise measurement  than the other sensor device such as sonar range finder or infra red distance sensor has.  Some interesting features of this sensor are wide coverage angle and high angular resolution.  It has 240 degree scanning angle and 0.352 degree angle of resolution, or 681 steps.  Maximum distance is 5600mm with about 30mm accuracy.

Program Step-by-step berguna untuk memudahkan pembuatan program PLC untuk pengendalian urutan kerja (sequence) pada suatu sistem otomasi. Berikut ini saya berikan informasi praktis tentang konsep, pemrograman dan implementasinya.

Diagram step-by-step menggambarkan satu per satu tahapan proses kerja yang berubah berdasarkan kondisi logika input. Tahapan (step) digambarkan dengan kotak bertulisakan nomor urut yang dihubungkan ke output yang dikehendaki. Tahapan (step) berubah ke tahapan berikutnya jika ada transisi yang aktif. Transisi merupakan kondisi logika yang diberikan untuk memulai tahapan berikutnya, bisa berupa sebuah sensor atau beberapa sensor.

Langsung saja pada contoh sistem sederhana. Sebuah putaran motor steper dikendalikan oleh PLC maupun PC (komputer) menggunakan aplikasi Visual Basic (versi 6.0 atau .NET)

Cerita ini lanjutan dari artikel ini http://madajimmy.com/artikel/tutorial/30-pengendalian-motor-steper-menggunakan-plc-keyence-kv-40atp.html 

Diasumsikan sistem berjalan normal yaitu motor berputar jika START ditekan dan berhenti setelah 1 putaran atau STOP ditekan. Arah putaran tergantung dari input FORWARD / REVERSE.

Nah.. kita akan coba melakukan koneksi serial antara PLC dan PC sehingga relay yang berperan bisa kita FORCE ON/FORCE OFF menggunakan Button pada Visual Basic, supaya kita bisa mengendalikan putaran dengan mengeklik tombol pada layar monitor.

Begini caranya… <lanjut>