Showing posts with label IoT. Show all posts
Showing posts with label IoT. Show all posts

Saturday, September 8, 2018

Internet of Things (IoT) "kontrol kipas dan lampu google assistant"

Hay blogger, kali ini saya akan membagikan sesuatu yang trend nya cukup menarik di beberapa dekade terakhir yaitu mengenai Internet of Things, yew (ini + implementasi yang bisa dilakukan dikosan ya, dengan biaya cukup murah :D), adapun judulnya adalah "kontrol lampu dan kipas dengan google assistant". Ini merupakan salahsatu implementasi smart home ya guysss.

Cekibrot.....
Note: akan saya tuangkan cerita bagaimana saya mem-build project kecil saya

Latar belakang
1. Di kosan hanya ada kipas(belum AC)
2. Saklarnya lampu dan kipas lumayan jauh dari tempat tidur
3. Saya tertarik dengan mikrokontroller dsb

Solusi :
Dibuat sistem saklar otomatis dari handphone(dengan harga murah) dengan menggunakan Internet of Things(IoT).
Akhirnya jurus browsing dilakukan, dan sesuai analisis dan pengamatan saya, sehingga ditentukan
arsitektur seperti digambar dibawah
Gambar 1. Diagram alir
Internet of Thing (IoT) adalah semua peralatan/device (things) yang saling berkomunikasi, nah dari semua jaringan tersebut diperlukan sebuah filter, sesuatu(things) apa yang akan kita pakai untuk mengatasi permasalah kita. analisa inilah yang membuat penulis menyusun diagram alir diatas sesuai dengan pengalaman penulis, mungkin kalau sudah jago dan uangnya banyak bisa lain hasilnya, xixixi. Sesuatu(things) jika dikelompokkan akan terbagi kedalam 4 bagian utama:
  1. Things nya sendiri, merupakan end-object, dia bertugas mengumpulkan data atau sebagai aktuator
  2. Protokol komunikasi, merupakan jaringan yang akan dipakai untuk bertukar data
  3. Sistem kontrol(aplikasi) berperan sebagai sutradara yang mengendalikan data dan juga penggerak aktuator(things)
  4. Database sebagai cara untuk menganalisis data
Pada gambar 1 Google assistant merupakan things, aktuator lampu dan kipas juga merupakan things, mereka berkomunikasi dengan M2M disini penjelasannya via wifi sehingga kontrol/mikrokontroller dapat mengendalikanya. Kebayang kan ya? sekarang kita akan masuk ke step-step nya nih.
  1. Tentunya harus punya dulu mikrokontroller dan juga aktuator, disini link untuk mikrokontroller dan disini link untuk aktuatornya (relay), harus paham dulu cara kerjanya ya guys, silahkan isi link komentar kalau ada pertanyaan atau PM.
  2. Setelah itu harus bisa memprogram mikrokontroller tersebut(wajib ya guys) silahkan cari tutorial-tutorialnya(rangkaian relay, mikrokontroller pinout), sourcecode
  3. Nah, M2M yang kita pakai(dimasukan ke code mikrokontroller) adalah dari adafruit yang secara free bisa diakses, disamakan user sama key nya yaaaa... di set juga feeds nya agar sesuai.
  4. Set-up adafruit diasumsikan sudah punya akun, create new dashboard dan tambahkan block switch toggle. Setting nama feed(harus sesuai dengan mikrokontroller) dan data ON/OFF sesuai dengan google assistant yang akan kita set.
  5. Kita harus punya akun google, silahkan daftar dulu, kemudian koneksikan dengan dengan IFTTT if this than that pilih my applet => new applet, klik + dan pilih google assistant, setup kata yang akan dikirim, balasan dan data yang dikirim(adjustable tergantung mikrokontroller di koding, misal on=1,off=0) setelah itu pilih + lagi untuk memilih action, pilih adafruit dan pilih feed yang ingin kita set.
  6. Lakukan pengujian dari google assistant => adafruit untuk memastikan sudah sesuai jalur dengan memberi perintah dari google assistant, cek apakah sudah merubah toggle apa belum.
  7. Lakukan pengujian dari adafruit => mikrokontroller, ketika switch dirubah apakah sudah memberi nilai yang berbeda pada mikro(di print lewat serial)
  8. Jika sudah terkoneksi dengan baik, baru susun semua alat, Safety First ya brooo ! jangan sampai menyentuh tegangan AC220V(di relay), kalau yang 5V gapapa, hehehe. 
  9. Mungkin bakal ada kendala dari 1-8, tapi kalau memang tertarik mulai aja dulu !
Untuk IoT sendiri saat ini belum begitu banyak orang menggunakan teknologi tersebut, sebab device-device nya mahal, set-up nya ribet dan mungkin kegunaanya belum begitu signifikan. Tetapi perusahaan besar seperti  Oracle, AmazonMicrosoft sudah mulai untuk menyediakan framework juga jasa tentunya untuk teknologi ini dan harganya pasti mahal :D. Maka dari itu tidak ada salahnya untuk belajar memakai framework opensource untuk beberapa kebutuhan sederhana kita, barangkali kedepan apa yang kita pelajari akan bermanfaat......

Don't stop learning .........

Friday, June 29, 2018

MQTT(Message Queuing Telemetry Transport) publisher subcriber

MQTT singkatan dari Message Queuing Telemetry Transport merupakan protokol pengirim dan penerima (publish dan subcribe) pesan yang dapat mengirim data binary, text, XML ataupun JSON. banyak digunakan pada aplikasi IoT(Internet of things) karena mendunkung konsep IoT.
berikut kemampuan dari MQTT:
  • Didesain sebagai protokol pesan untuk sensor dan perangkat dengan koneksi tidak stabil
  • Konsumsi daya rendah
  • Teknologi lama hampir 10 th
  • Opensource
  • Tersedia library untuk Android, Arduino, C, C++, C#, Java, JavaScript, .NET
  • Memiliki 3 QOS (at most once, at least once, exactly once)
Konsep IoT = objek fisik dengan elektronik, software, sensor dan koneksi jaringan yang saling bertukar dan mengoleksi data. Maka dari itu MQTT sebagai protokol komunikasi yang sangat direkomendasikan untuk sistem embeded meskipun tidak menutup kemungkinan digunakan pada sistem lain.
Banyak website yang membandingkan MQTT dengan protokol lain seperti dengan kafka atau HTTP, tetapi perlu diingat bahwa optimalisasi MQTT berada pada low power device and bandwidth, M2M(machine to machine) dan sederhana. M2M adalah komunikasi antara perangkat end-to-end tanpa interferensi manusia.

Instalasi(on mac)
  1. Install brew
  2. Command brew install mosquitto
  3. Siapkan ini sebelum dijalankan $ ln -sfv /usr/local/opt/mosquitto/*.plist ~/Library/LaunchAgents dan $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mosquitto.plist 
  4. Setelah itu tinggal jalankan dengan contoh : 
    $ mosquitto_pub -h 127.0.0.1 -t topic -m "Hello world!"
Banyak hal bisa dilakukan untuk publish dan subcribe pesan guys, disini panduan lengkapnya ya. Untuk menjalankan di sistem ambeded akan saya jelaskan di tulisan saya selanjutnya, tetapi fyi aja MQTT ini opensource dan librarynya sudah banyak banget guys tinggal pilah-pilah saja. Contohnya disini udah lengkap untuk sistem embeded.
Sekian dulu ya, sampai jumpa di tulisan selanjutnya.... salam lemper