Search

Monday, March 13, 2017

[MagicMirror] MMM-PrayerTime: modul MM untuk waktu sholat dan melantunkan Adzan ketika masuk waktu sholat

Setelah sebelumnya menggunakan JADWAL SHOLAT dengan memanfaatkan modul calendar dan mengambil datanya (iCal/VCAL) dari http://prayerwebcal.appspot.com dengan ukuran >600KB sering menyebabkan beberapa MM-module lainnya tidak dapat dimuat secara normal (terutama yang juga men-download data dari internet). Akhirnya, saya putuskan untuk membuat modul baru khusus untuk menampilkan info JADWAL SHOLAT. Datanya saya ambil dari https://aladhan.com. Saya juga menambahkan fitur untuk melantunkan Adzan saat masuk waktu sholat.
Modul tersebut tersedia dan dapat didownload disini.
Ini contoh tampilannya di MM saya:


Semoga bermanfaat.

Tuesday, February 21, 2017

[MagicMirror] MMM-RandomQuranAyah: modul MM untuk menampilkan ayat Qur'an secara acak

Sebagai seorang muslim, salah satu kewajiban yang harus dijalankan adalah membaca, memahami, dan mengamalkan isi kitab suci Al-Qur'an. Untuk memudahkan membaca dan memahami (dari arti), bukan berarti sudah cukup, tapi setidaknya memperbanyak peluang untuk membaca dan memahami isi ayat2 Al-Qur'an. Oleh karena itu, saya akhirnya menambahkan sebuah modul di MagicMirror saya untuk menampilkan ayat Qur'an secara random. Ayat Qur'an tsb diambil secara online-realtime dari situs https://api.alquran.cloud. Modul tersebut tersedia dan dapat didownload disini.
Ini contoh tampilannya di MM saya (top-bar):


Saya juga menambahkan JADWAL SHOLAT dengan memanfaatkan modul CALENDAR (salah satu modul default MM), dan mengambil datanya secara online-realtime dari http://prayerwebcal.appspot.com.

TODO

Alert/notif ketika akan dan masuk waktu sholat.

Semoga bermanfaat.

Friday, February 10, 2017

[PROJECT] Magic Mirror alias Cermin Ajaib



“magic mirror, on the wall – who is the fairest one of all?”

Kalimat ini tentunya sering kita dengar, minimal pernah dengar terutama bagi pecinta film animasi klasik Disney. Yap, kalimat yang sering diucapkan oleh sang Evil Queen kepada cermin ajaibnya.
Nah, bagaimana kalo kita memiliki sebuah cermin anti main-stream, g hanya buat bercermin tapi di era internet dan IoT ini, ada hal lain yang bisa kita sajikan dalam kegiatan kita bercermin. Misal menampilkan jam, tanggal, prakiraan cuaca, agenda pribadi, headline berita, bahkan sampe memutar musik dengan voice/gesture-controlled. Dan tak kalah kerennya, bisa mengenali siapa yang sedang bercermin dan menampilkan informasi (pre-setting) yang bersesuaian dengan profilnya.
Nah, pada kesempatan kali ini, saya akan mencoba sharing MagicMirror yang saya buat.

MAIN PARTS (hardware)

  • Display panel/monitor. Saya pake led panel dari TV Hisense 24". Katanya sih ini buatan Indonesia. Dimensi terluar led panel dr TV ini adalah 32cmx54,5cm. Saya hanya mengambil isi dari TV tsb. Frame-nya tidak dipake karena dimensinya cukup besar yang akan berpengaruh terhadap hasil akhir cermin yang saya inginkan.
  • One-way mirror. awalnya saya mengira, cermin ini bakal susah diperoleh (di Bandung), ternyata malah dijual di toko kaca biasa. Ukuran cermin yang saya pake adalah 32cmx54,5cm seharga 120rb disini. Ukuran cermin yang akan digunakan sebenarnya silakan sesuaikan dengan kebutuhan Anda.
  • Frame. Berhubung hasil akhir yang saya inginkan adalah cermin dengan frame kayu, saya membuat desain frame-nya pake SketchUp. Tapi sayangnya, setelah menghubungi beberapa workshop/tukang kayu, tidak ada yang mau menerima orderan dengan desain yang saya buat. Mungkin juga saya mengunjungi tempat yang salah. Akhirnya desain dibuat menjadi 2 part yaitu frame depan order ke tukang pigura, dan frame belakang pesan ke tukang kayu biasa. Yang ini habis 130rb. Mestinya sih bisa lebih murah klo bikin sendiri dan punya bahan2nya ato punya tukang kayu langganan. Jika Anda memutuskan untuk membuat cermin frame-less, bagian ini dapat diabaikan.
  • Raspberry pi (raspi). Untuk otak MM, saya pake raspi 3 model B dengan OS Raspbian Jessie. Untuk instalasi OS Raspbian, silakan ikuti petunjuknya disini
  • Micro SD Card. Diperlukan 1 micro SD CARD berukuran minimal 16 GB (8 GB sih cukup, tapi mending berlebih daripada kurang) untuk keperluan instalasi OS dan software lainnya.
  • Kabel HDMI. Untuk menghubungkan raspberry output ke TV/monitor.
  • Kabel Power TV dan Adaptor+Kabel Power Raspi. Jelas perlu lah, ntar dpt powernya darimana? :P Khusus untuk adaptor Raspi, sebaiknya menggunakan adaptor dengan keluaran 5V 2A.

MAIN PARTS (software)

  • MagicMirror. Saya menggunakan software yang dibuat oleh seorang blogger yang baik hati, berbasis Node.JS, dan diberi nama MagicMirror (MM). Dengan modularitas platform MM dan dukungan para kontributor/developer dari seantero dunia, maka kini MM memiliki banyak modul yang dapat dipilih dan diinstal sesuai keperluan kita. Cara instalasi MM dan modul-modulnya bisa dilihat disini.

ACCESSORIES/OPTIONAL PARTS

  • Pi-Camera (pi-cam). MM saya mengimplementasikan modul Facial-Recognition sehingga diperlukan sebuah camera. Alternatif lainnya, bisa menggunakan USB Web Camera (saya sudah pernah mencobanya juga menggunakan USB Web Cam Logitech). Tapi dengan alasan kepraktisan bentuknya, diputuskan menggunakan pi-cam.
  • PIR Sensor (HC-SR51). Sensor ini untuk keperluan monitor control (on/off secara otomatis) atau dimmed-info. Info di layar akan ditampikan jika cermin mendeteksi adanya gerakan.
  • USB Microphone. Untuk keperluan input voice-control. Saya membelinya disini.
  • Wireless keyboard+mouse. Untuk mengontrol raspi selama proses development/setup software yang diperlukan.

INSTALASI

  1. jika semua bahan sudah siap, silakan diinstal sesuai ilustrasi gambar diatas.
    Untuk kustomisasi tampilan, sensor dan lainnya akan dibahas di tulisan terpisah.
  2. pasang semua kabel-kabel (minimal):
    • kabel HDMI dari raspberry ke input TV/monitor
    • kabel power TV dan raspberry
  3. jika sudah OK semua, MM sudah siap dijalankan dan beraksi.
 

Selamat mencoba.

REFERENSI

https://magicmirror.builders

[SOFTWARE] Instalasi platform MagicMirror2

Pada tutorial kali ini, saya akan menguraikan cara instalasi sebuah software bernama MagicMirror2. Software yang bertagline "The open source modular smart mirror platform" adalah sebuah software yang digunakan untuk membangun sebuah Smart Mirror. Singkat cerita, Smart Mirror adalah sebuah cermin yang dapat menampilkan beberapa info secara dinamis maupun memiliki fungsi tambahan lainnya.
Tanpa panjang cerita, saya akan memulai cara instalasi MagicMirror2 pada sebuah mesin Raspberry Pi 3 model B (raspi) dengan OS terinstall Raspbian Jessie.
Pastikan raspi terhubung ke internet sebelum memulai proses instalasi.

INSTALASI OTOMATIS

  1. jalankan perintah berikut di shell-command:

    curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh | bash
  2. ikuti perintah yang ada di screen. Jika ada pesan kesalahan karena ada tool/system requirement yang belum terinstall, silakan diinstal dulu, kemudian ulangi langkah 1. Jika instalasi tidak mau lanjut karena dibilang bahwa instalasi MM sudah ada, silakan dihapus dulu folder instalasi tujuan MM.
  3. Jika sukses melakukan instalasi MM, bisa dilanjutkan dengan menginstal modul-modul tambahan yang diperlukan. List modul yang bisa diinstal bisa dilihat disini.
atau jika tetap ada kendala, Anda bisa menginstall dengan cara manual.

INSTALASI MANUAL

Instruksi instalasi manual selengkapnya bisa dilihat disini.

Jika sudah berhasil melakukan instalasi MM, masih ada beberapa hal yang mesti dilakukan, yaitu:
  1. Mengkonfigurasi Raspberry PI

    edit /boot/config.txt:
    sudo vi /boot/config.txt
    tambahkan baris:
    display_rotate=1
    avoid_warnings=1

    reboot Pi
    sudo reboot
  2. Menyembunyikan Kursor Mouse secara otomatis

    install unclutter:
    sudo apt-get install unclutter
    (hanya untuk versi 1)
  3. Menonaktifkan screensaver
    (Anda memerlukan paket x11-xserver-utils sudah terinstall sebelumnya)

    edit ~/.config/lxsession/LXDE-pi/autostart:
    sudo vi ~/.config/lxsession/LXDE-pi/autostart

    tambahkan baris:
    @xset s noblank
    @xset s off
    @xset -dpms

    Edit /etc/lightdm/lightdm.conf:
    sudo vi /etc/lightdm/lightdm.conf

    tambahkan baris [SetDefaults]:
    xserver-command=X -s 0 -dpms
  4. Menonaktikan WiFi Power Save

    Edit /etc/modprobe.d/8192cu.conf
    sudo vi /etc/modprobe.d/8192cu.conf

    tambahkan baris:
    # Disable power saving
    options 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1

    Untuk Raspberry Pi 3:
    Edit /etc/network/interfaces
    sudo vi /etc/network/interfaces

    Tambahkan baris dibawah seksi wlan0:
    wireless-power off

    Reboot PI
    sudo reboot
  5. Auto-start MM
    Pada bagian ini akan dijelaskan bagaimana untuk menjalankan MM secara otomatis ketika boot, dan bahkan tetap menjaga MM tetap berjalan ketika sempat terjadi kegagalan.
    • Menggunakan PM2
      PM2 adalah manager proses produksi untuk aplikasi Node.js yang dilengkapi dengan load-balancer.
      • Install PM2
        install PM2 pakai NPM
        sudo npm install -g pm2
      • Menjalankan PM2 saat boot
        untuk memastikan PM2 menjalankan fungsinya ketika sistem operasio mulai (booting), maka PM2 perlu dijalankan saat boot yaitu dengan cara:

        pm2 startup
        PM2 akan menampilkan daftar perintah yang bisa dijalankan.
      • Membuat start-script untuk MM
        MM dapat menggunakan PM2 dengan cara membuat sebuah shell-script. Disarankan membuat script ini di luar folder instalasi MM untuk memastikan tidak menimbulkan masalah saat ingin mengupdate MM.
        cd ~
        vi mm.sh

        tambahkan baris:
        cd ~/MagicMirror
        DISPLAY=:0 npm start

        Simpan dan tutup. Pastikan file tsb executable:
        chmod +x mm.sh

        Script tsb sudah siap digunakan untuk dapat menjalankan MM via PM2.
      • Menjalankan MM

        pm2 start mm.sh

        MM seharusnya sudah berjalan dan tampil di layar setelah beberapa detik.
      • Mengaktifkan MM supaya dijalankan otomatis saat boot
        untuk memastikan MM dapat dijalankan secara otomatis setelah proses booting, Anda perlu menyimpan status terkini dari semua script yang dijalankan via PM2. Untuk melakukannya, jalankan perintah berikut:

        pm2 save

        Itu saja. Dan kini MM akan dijalankan otomatis pada saat booting dan auto-restart jika terjadi kegagalan.
      • Mengontrol MM via PM2
        restart MM:
        pm2 restart mm

        stop MM:
        pm2 stop mm

        menampilkan logs
        pm2 logs mm

        menampilkan info proses MM:
        pm2 show mm
Itulah cara untuk melakukan instalasi, menjalankan, dan mengontrol MM (secara otomatis).

Untuk referensi selengkapnya, silakan kunjungi:
https://github.com/MichMich/MagicMirror/wiki
https://forum.magicmirror.builders/category/10/troubleshooting