Arsitektur Sistem Saklar Internet Of Things dengan ESP8266

Tulisan ini adalah kelanjutan dari tulisan Rencana Proyek Kontrol Lampu Rumah dengan internet. Tulisan ini akan membahas terutama arsitektur sistem.

Untuk merancang arsitektur, kita harus menganalisa terlebih dahulu masalah-masalah apa yang akan muncul. Kita harus melihat sistem yang akan di rancang dari berbagai sudut.

Berikut adalah list pertanyaan yang menurut saya sangat krusial:

  1. Bagaimana membuat komunikasi antara modul saklar dan server reliable?
  2. Bagaimana mengautentikasi pengguna modul saklar?
  3. Bagaimana cara menghandle lebih dari satu saklar sekaligus ?

Solusi yang saya gunakan adalah memecah problem diatas menjadi 2. Masalah nomor 1 dan 3 bisa dipecahkan menggunakan protokol MQTT. Protokol ini di gunakan untuk mengelola koneksi saklar. MQTT adalah sistem transportasi pesan berbasis publish/subscribe. Kita bisa membayangkan sistem ini seperti langganan koran. Seperti sebuah penerbit koran, Saklar melakukan broadcast bahwa dirinya bisa menerbitkan berita / pesan. Setelah itu, client bisa melakukan request langganan berita tersebut ke server MQTT. Hal ini juga berlaku 2 arah, saklar bisa berlangganan berita yang bertujuan mengubah status saklar. Tugas MQTT memanage objek apa berlangganan / menerbitkan berita apa. MQTT juga bisa di berikan password, sehingga hanya saklar & client tertentu yang dapat terkoneksi.

Berikut adalah diagram mengenai arsitektur ini:Screen Shot 2016-03-11 at 12.08.14 PM

Saklar akan mengkoneksikan diri ke server, bukan server yang mencoba mengkoneksian diri ke client. Saat saklar terkoneksi, dia akan mencoba menghubungi MQTT di VPS. Selanjutnya saklar akan mempublikasi eksistensi dirinya dan berlangganan beberapa pesan:

#Saklar akan mempublish message ini setelah terkoneksi: 
announcement,deviceName|status On/Off

#Ketika saklar menerima ini, akan mengubah status saklar
"command/"+deviceName+"/write"   

#Ketika saklar menerima ini, akan mengirim ulang pesan "announcement"
"command/"+deviceName+"/read"
    
#Ketika saklar menerima ini, akan mereset saklar
"command/"+deviceName+"/reset"

Sedangkan Server kontrol cukup berlangganan sebuah pesan:

announcement

Server kontrol berfungsi untuk  merender status masing-masing saklar sebagai situs HTML , manajemen autentikasi pengguna dan mengontrol penjadwalan. WebSocket digunakan agar semua saklar bisa dilihat statusnya secara realtime.  Saat pengguna mengubah status sebuah saklar, server kontrol akan mengirimkan pesan ke server MQTT sebagai berikut:

#Menyalakan Saklar
"command/"+deviceName+"/write",1

#Mematikan Saklar
"command/"+deviceName+"/write",0

Hal lain yang perlu di perhatikan adalah apa yang terjadi saat saklar offline. Yang kita bahas sampai saat ini adalah apa yang terjadi saat saklar online. Mekanisma sederhana yang saya lakukan adalah, mengirimkan pesan “Read” setiap beberapa menit sekali, lalu menghapus presensi di server kontrol apabila saklar tidak menjawab. Hal ini berarti saklar terdeteksi offline tidak real time, tapi saya rasa hal itu sudah lebih dari cukup untuk saat ini.

Sebagai penutup, Saya menggunakan MQTT sebagai server manajemen koneksi, Node.JS sebagai server kontrol, VPS OVH https://www.ovh.com/us/vps/ (karena harganya sangat murah) , sistem operasi Ubuntu 15.10. Tulisan selanjutnya adalah mengenai koding untuk implementasi arsitektur ini di ESP8266.

Cara melakukan programming pada ESP8266

Tulisan ini adalah kelanjutan dari tulisan saya yang berjudul Rencana Proyek Kontrol Lampu Rumah Terintegrasi Internet dengan ESP8266. di tulisan ini akan dibahas bagaimana melakukan programming dan contoh sederhana programnya.

Melakukan programming pada ESP8266 sangatlah mudah. Kamu hanya perlu menyiapkan ESP8266 kamu seperti di tulisan ini : https://www.gilangcp.com/2016/02/27/cara-berkomunikasi-dengan-esp8266-menggunakan-arduino/.

Lalu kamu harus menyiapkan programnya. Berikut ini adalah program sederhana untuk menyalakan pin GPIO nomor 2.

//Fungsi ini di jalankan 1 kali
void setup() {
  //Digunakan untuk mengeset GPIO pin ke 2 sebagai keluaran.
  pinMode(2,OUTPUT);
}

//Fungsi ini dijalankan berulang-ulang
void loop() {
  //Digunakan untuk set voltase GPIO pin 2 menjadi High
  digitalWrite(2,HIGH);
}

Kamu harus copy paste code tersebut ke IDE Arduino, pastikan board type sudah dipilih sebagai “Generic ESP8266 Module.”

Screen Shot 2016-03-03 at 10.20.49 AM

Selanjutnya adalah memasukan Pin RESET & pin GPIO0 ke GND di arduino. Berikut adalah diagram untuk membantu kamu melihat pin di modul.

Pin Out ESP8266
Pin Out ESP8266.

Klik Upload di Arduino IDE. Ketika tulisan status berubah menjadi uploading, lepas pin RESET dari GND nya arduino. Biarkan pin GPIO0 tetap di colok.  Pastikan pin GPIO2 tidak tercolok. Apabila error, ulangi dari awal, masukan pin RESET ke GND dan klik tombol upload, lepas pin RESET ketika status berubah menjadi uploading. proses ini tricky dan mungkin membutuhkan beberapa kali percobaan sebelum sukses.

Screen Shot 2016-03-03 at 11.04.16 AM

Ketika status sudah menjadi Done Uploading, cabut pin GPIO0 dan masukan pin RESET ke Ground, lalu cabut untuk mereset ESP8266. Anda bisa test dengan LED , dengan GPIO2 ke kaki positif LED, dan GND ke kaki negatif LED. Karena di program kita set bahwa GPIO2 HIGH, maka LED akan menyala.

GPIO menyalakan LED

Selamat! anda telah berhasil melakukan programming sederhana ESP8266. Perlu diketahui bahwa firmware AT Command bawaan akan di gantikan oleh program anda, sehingga anda tidak bisa lagi mengirim AT command ke module. Anda bisa memprogram dengan firmware bawaan, dengan mengikuti tutorial ini:

http://www.allaboutcircuits.com/projects/update-the-firmware-in-your-esp8266-wi-fi-module/

Tulisan selanjutnya akan membahas mengenai arsitektur perangkat lunak dan jaringan sistem saklar otomatis ini.

Cara Berkomunikasi Dengan ESP8266 Menggunakan Arduino

Tulisan ini adalah kelanjutan dari tulisan saya yang berjudul Rencana Proyek Kontrol Lampu Rumah Terintegrasi Internet dengan ESP8266. Silahkan baca tulisan tersebut untuk melihat apa tujuan, dan dimana bisa membeli bahan-bahan untuk mengikuti tulisan ini.

Hal yang paling pertama saya lakukan ketika menerima modul-modul tersebut adalah mencari tahu bagaimana cara mengkoneksikan Arduino ke komputer, dan bagaimana mengkoneksikan ESP8266 ke Arduino.

Setelah saya browsing lebih lanjut, saya salah mengira bahwa ESP8266 itu hanya sebuah modul wifi untuk Arduino. ESP8266 ternyata adalah sebuah mikrokontroler seperti Arduino, yang bisa di program dan memiliki port GPIO. Hal ini berarti modul itu bisa di koneksikan langsung ke komputer dan diprogram.

Yang menjadi masalah adalah, modul tersebut tidak memiliki port USB seperti Arduino, sehingga harus menggunakan adapter TTL serial ke USB seperti FT232RL. Kamu bisa membeli FT232RL disini seharga 80.000.

Untungnya, setelah saya pelajari lebih lanjut, Arduino bisa di hack sebagai adapter serial, sehingga kita bisa mengkoneksikan modul tanpa FT232RL. Masalahnya adalah, ESP8266 menggunakan voltase 3.3v, sedangkan voltase arduino adalah 5v. Hal ini berarti kamu beresiko merusak modul ESP8266 kamu, apabila menggunakan cara yang saya jelaskan dibawah, walaupun, saya sudah buktikan sukses melakukan hal ini.

Yang perlu di persiapkan:
1. Instalasi Arduino IDE (https://www.arduino.cc/en/Main/Software)
2. Konfigurasi SDK ESP8266 di Arduino IDE (Tutorial)

  1. Persiapkan Arduino dalam mode serial, Dengan cara menyambungkan pin RESET ke pin GROUND. (Pin ke 3 dengan pin ke 6)
    Reset-Pin
  2. Sambungkan Pin RX di modul dengan RX Arduino, TX dengan TX. Gunakan Gambar di bawah untuk melihat mana pin RX dan TX.Pin Out ESP8266
  3. Gunakan Breadboard, Sambungkan 3.3 volt (Penting! jangan gunakan VCC 5.5 Volt agar tidak merusak ESP8266 anda) Ke bagian + di breadboard, dan GND di arduino ke – di breadboard
    .Breadboard Connection
  4. Koneksikan VCC, CH_PD di ESP8266 ke + di breadboard, Sedangkan GND di modul ke – di breadboard.
  5. Silahkan koneksikan Arduino anda ke komputer, dengan Arduino IDE terbuka. Pilih Tools->Port di menu utama, sesuaikan dengan COM port Arduino anda. Setelah itu, pilih Tools->SerialMonitor. Pilih Both NL & CR, dengan BaudRate 115200. Lalu ketik “AT” dan klik Send.
    Screen Shot 2016-02-27 at 2.20.28 PM

Apabila tulisan OK, hal tersebut berarti anda telah berhasil berkomunikasi dengan ESP8266. Apabila belum, anda mungkin harus memeriksa sambungan kabel dan mencoba merubah baud rate menjadi lebih rendah. Anda bisa mencoba mencari Wifi, Koneksi ke Wifi dengan perintah-perintah AT command di bawah. Cara menuliskan perintahnya menggunakan SerialMonitor seperti diatas.

Kamu bisa melihat command command apa saja yang bisa di kirim di sini : http://wiki.iteadstudio.com/ESP8266_Serial_WIFI_Module

Selamat Mencoba!

Tulisan selanjutnya akan berfokus ke bagaimana cara memprogram dan memainkan port GPIOnya.

Rencana Proyek Kontrol Lampu Rumah Terintegrasi Internet

Tulisan ini adalah catatan harian proyek (Project Diary). Saya akan post terus perkembangan, kemajuan, hambatan yang saya alami saat menjalani proyek ini.

Saya dari dulu ingin sekali belajar elektronika, terutama mikrokontroller. Masalahnya adalah saya tidak mempunyai tujuan. Hasilnya adalah saya jadi malas, dan jadinya malah tidak pernah belajar.

Cukup sudah! itu yang saya katakan ke dalam diri saya. Oleh karena itulah saya menetapkan tujuan utama. Saya ingin mencoba membuat sakelar lampu kamar saya agar terhubung dengan internet, sehingga saya bisa nyalakan /  matikan menggunakan komputer. Saya juga menetapkan tujuan bonus, sistem penjadwalan.

Tentu saja membuat proyek seperti ini membutuhkan budget. Saya menetapkan budget yang saya akan keluar kan maksimal 350 ribu untuk membeli seluruh komponen yang di butuhkan. Saya tidak tahu apakah budget ini sudah cukup atau belum.

Saat mencoba menjalani proyek ini, Saya mendapatkan beberapa masalah, berikut masalah yang saya hadapi:

1. Bagaimana menyala-matikan perangkat listrik menggunakan komponen elektronik, yang menggunakan arus DC, sementara itu elektronik biasanya ?
– Setelah browsing lebih lanjut, saya mendapatkan informasi bahwa saya bisa mengontrol arus listrik menggunakan relay.
relay

2. Bagaimana cara mengontrol relay tersebut?
– Hipotesa saya adalah, saya bisa melakukan hal tersebut dengan arduino. Arduino memiliki pin output yang bisa di kontrol menggunakan programming.

3. Bagaimana cara mengkoneksikan Arduino dengan internet?
– Saya menemukan ada chip dengan nama ESP8266. ESP8266 ini adalah Wifi Receiver. Saya berharap sinyal dari ESP8266 bisa di terima oleh Arduino, yang lalu mengontrol relay. Saya berhipotesa bahwa sangat mungkin bisa membuat program di arduino untuk melakukan pengecekan ke server, apakah relay harus ON/OFF. Kemungkinan besar saya harus melakukan socket programming di arduino. Saya belum mengetahui apakah hal tersebut mungkin di lakukan Atau tidak.

ESP8266
Gambar ESP8266

4. Apakah semua komponen tersebut bisa di beli di indonesia?
– Saya terkejut bahwa seluruh komponen yang saya sebutkan di atas ternyata di jual di Tokopedia. Berikut Url komponen-komponen yang sudah saya beli dan sedang di kirim:

1. Relay 1 Channel, 5v  @Rp 19.000:
https://www.tokopedia.com/daelectronics/relay-module-1-chanel-for-arduino

2. Arduino Uno @Rp 89.000:
 https://www.tokopedia.com/tamjib/high-quality-arduino-uno-r3-board-atmega328p-1pcs-usb-cable

3. ESP8299 @58.000:
https://www.tokopedia.com/daelectronics/esp8266-serial-wifi-wireless-module-for-arduino

4. Prototyping Breadboard @25.000:
https://www.tokopedia.com/tamjib/solderless-breadboard-400-tie-point

5. Kabel Breadboard Male-Female @14.000:
https://www.tokopedia.com/bpraktis/male-to-female-dupont-cable-jumper-kabel-breadboard-20-cm-20pcs

6. Kabel Breadboard Male-Male @11.000:
https://www.tokopedia.com/hpasesoris/kabel-jumper-male-male-breadboard-arduino-wire-bread-board-cable-ab70

Total penggunaan budget: Rp. 216.000. Sisa Budget: Rp. 84.000

Note : ada beberapa komponen yang tokonya sama, sehingga biaya kirimnya bisa di tekan.

Semoga barang yang saya pesan bisa cepat di terima, sehingga saya bisa mulai menjalankan proyek ini.

Update :
Tulisan selanjutnya dari seri ini sudah saya upload:
Cara Berkomunikasi Dengan ESP8266 Menggunakan Arduino

Plus-Minus Menggunakan Macbook Pro 13 retina display

Saya sudah menggunakan laptop Macbook Pro sejak sekitar 4 bulan yang lalu. Sebelumnya saya menggunakan laptop Acer Aspire. Saya mengganti laptop saya karena rusak. Selama 4 bulan ini, saya mengalami beberapa hal yang saya sukai dan yang saya benci.

Yang Saya Sukai ( di urutkan dari yang paling saya sukai):

  1. Touchpad Force Touch.
    Saya terkejut menggunakan touchpad ini. Feedback kliknya tidak menggunakan sistem mekanis seperti keypad biasa, tetapi menggunakan motor yang dirancang khusus untuk bergetar menyerupai sistem mekanis. Efeknya adalah, ketika kamu klik di mana saja kamu bisa merasakan feedback klik yang merata, berbeda dengan touchpad lain yang biasanya hanya bisa di klik di bagian bawah touchpad tersebut atau walaupun bisa di klik di mana saja, tidak ada feedbacknya. Bagi saya, ini adalah fitur paling yang saya sukai.
  2. Spotlight
    Membuka aplikasi apapun cukup dengan menekan command+space lalu mengetik 2 huruf pertama nama aplikasinya. Tidak perlu susah payah klik banyak menu hanya untuk membuka aplikasi. Spotlight juga bisa di gunakan untuk melihat kurs uang, kalkulator, cuaca dan lain-lain.
  3. Retina Display
    Display Macbook pro ini luar biasa tajam. Warna-warna yang dihasilkan juga begitu hidup. Apalagi jika dibandingkan dengan laptop saya yang lama, resolusi layarnya “cuma” 1366×768, sementara resolusi layar ini 2560×1600. Tajamnya membuat saya tidak cepat lelah memandang text, yang sering sekali saya lakukan ketika melakukan programming.
    9-stunning-examples-of-the-new-ipad-s-retina-display-629e9b2ec4
  4. Battery Life
    Macbook pro ini tahan saya gunakan untuk browsing, programming android ( yang IDE nya berat sekali) dan menonton video hampir 10 jam. Saya sangat terkejut karena artinya tahan seharian, berbeda jauh dengan laptop saya yang lama yang hanya bertahan maksimal 2 jam dengan kondisi seperti itu. Ini juga berarti saya tidak perlu membawa charger saat bekerja sehari penuh.
  5.  Ringan & tipis
    Laptop ini tebalnya hanya setengah laptop saya yang lama. Saya terkadang harus mengecek lagi apakah saya sudah membawa laptop apa belum, karena tas yang saya gunakan tidak seberat ketika saya menggunakan laptop acer yang beratnya sekitar 2 kg.
  6. Multitouch Gesture
    Mengganti virtual desktop cukup swipe 3 jari ke kanan, melihat aplikasi yang aktif cukup geser tiga jari ke atas, Gesture-gesture ini sangat praktikal dan memudahkan. Ini adalah fitur yang paling sering saya gunakan.
  7. Unix Based (Mac OS X)
    Hal ini memang tidak terlalu penting, tetapi merupakan salah satu fitur yang saya suka, karena saya sudah terbiasa menggunakan perintah-perintah Unix.

Hal yang saya benci (Di urutkan dari yang saya benci)

  1. Shortcut finder yang aneh
    Saya harus menggunakan cmd+arrow down untuk masuk ke dalam folder atau menjalankan file, sementara hal yang tidak terlalu saya sering gunakan seperti rename, malah di taruh di tombol enter. Sungguh tidak masuk logika shortcut rename adalah enter.
  2. Get Info multiselection yang aneh
    Apabila saya select beberapa item, lalu klik get info, Saya ekspek akan keluar info gabungan dari file dan folder yang saya select. Tetapi yang keluar malah seperti di bawah, dan tidak ada cara mudah untuk close semua window yang keluar.
    Screen Shot 2016-02-02 at 8.23.53 AM
  3. Opsi Boot to windows di sembunyikan.
    Berbeda jauh saat ingin pindah dari windows ke mac yang cukup klik kanan di taskbar, untuk bisa memilih pindah mac ke windows di haruskan membuka system preferences -> Startup disk -> klik logo gembok lalu memilih bootcamp. Hal ini seakan apple tidak ingin penggunanya menggunakan windows.

Demikianlah apa yang saya suka, dan saya benci dari mac book Pro 13 Retina.

Membuat Torrent Box hemat energi dengan RaspberryPI

Pernahkah anda mendownload file berukuran besar menggunakan BitTorrent, tetapi seed nya sedikit sedangkan leechnya banyak? Pasti akan lama sekali downloadnya bahkan bisa berminggu-minggu atau berbulan-bulan. Apabila dilakukan menggunakan komputer biasa, dengan kata lain membiarkan komputer anda hidup 24 jam non stop setiap hari, tentu saja bisa merusak dan sangat boros listrik. Salah satu solusinya anda bisa menggunakan RaspberryPI, komputer murah dan hemat energi.

Selamat membaca!

Yang dibutuhkan:

  1. RapsberryPI (beli disini)
  2. SD Card dengan kapasitas besar, saya menggunakan 64GB (beli disini)

Tutorial:

  1. Pastikan SDcard sudah terinstall dengan OS raspbian, silahkan baca tutorial disini untuk melakukan hal ini.
  2. Install Transmission-Daemon
    sudo apt-get install transmission-daemon
  3. Stop transmission-daemon, langkah ini sangat penting
    sudo service transmission-daemon stop
  4. Lakukan konfigurasi transmission
    sudo nano /etc/transmission-daemon/settings.json
    
    #Ubah nilai baris berikut menjadi di bawah ini
    
    download-dir": "/home/pi/torrent",
    "rpc-enabled": true,
    "rpc-whitelist": "*",
    "rpc-whitelist-enabled": true,
    
    #Save dengan ctrl+o , enter lalu ctrl+x
  5. Aktifkan transmission-daemon
    sudo service transmission-daemon start
  6. Buat agar transmission di jalankan ketika RaspberryPI di restart
    sudo systemctl enable transmission-daemon
  7. Test instalasi, gunakan browser dan masukan IP RaspberryPi anda, diikuti dengan :9091 menggunakan komputer lain yang terhubung dengan router dan RaspberryPI. contoh: http://192.168.1.120:9091. Gunakan username dan password “transmission” (tanpa tanda kutip) apabila diminta Screen Shot 2016-01-09 at 10.51.00 AM
  8. Selamat, anda telah berhasil membuat TorrentBox menggunakan RaspberryPI!

Cara Bypass Internet Positif dengan RaspberryPI, Dnsmasq dan DNSCrypt

Peringatan: Artikel ini hanya untuk kebutuhan belajar! jangan di gunakan untuk berbuat hal yang melanggar hukum!

Teknologi filtering yang di gunakan oleh Internet Positif adalah DNS Poisoning. DNS adalah protokol internet yang di gunakan untuk memetakan nama server, seperti www.gilangcp.com menjadi alamat IP.  DNS Poisoning bekerja dengan cara merubah alamat IP yang seharusnya menujuk ke server tujuan menjadi server internet positif, saat permintaan alamat ip berdasarkan nama tersebut dilakukan.

Salah satu cara untuk mencegah dirubahnya IP oleh filter adalah dengan mengenkripsi traffic protokol DNS lalu menggunakan DNS alternatif yang tidak di filter. Program yang dapat digunakan untuk melakukan hal ini adalah DNSCrypt.

Tutorial kali ini menggunakan RaspberryPI sebagai server always on dengan konsumsi listrik sangat rendah. Dipadukan dengan Dnsmasq sebagai cache dns sehingga internet anda lebih cepat.

Yang harus dipersiapkan:
1. Koneksi Internet
2. RaspberryPI, terinstall dengan sistem operasi Raspbian
3. Router, Baik router wireless maupun router biasa, terhubung ke internet. (saya menggunakan router wireless TP-Link, tapi bisa menggunakan apa saja)

Tutorial:
1. Set agar alamat IP Raspberry anda tidak berubah di router. disini saya fixed ipnya menjadi 192.168.1.100 (Setiap router memiliki cara yang berbeda, silahkan konsultasi dengan manual router anda)Capture

2. Compile dari source

#Instalasi kebutuhan awal
sudo apt-get install libtool autoconf automake

#Download source code dnscrypt
mkdir dnscrypt
cd dnscrypt
wget https://github.com/opendns/dnscrypt-proxy/archive/master.zip
mv master.zip dnscrypt.zip

#Download source code libsodium
wget https://github.com/jedisct1/libsodium/archive/master.zip
mv master.zip libsodium.zip

#Compile & install Libsodium
unzip libsodium.zip
cd libsodium-master
./autogen.sh
./configure
make
make install
ldconfig

#Compile dan install dnscrypt
unzip dnscrypt.zip
cd dnscrypt-proxy-master
./autogen.sh
./configure
make
make install

3. Buat aktif saat startup dengan mengcopy baris di bawah ke /etc/systemd/system/dnscrypt-proxy.service.

sudo nano /etc/systemd/system/dnscrypt-proxy.service
#############################

[Unit]
Description=DNSCrypt client proxy

[Install]
WantedBy=multi-user.target

[Service]
Type=simple
NonBlocking=true
ExecStart=/usr/local/sbin/dnscrypt-proxy -R dnscrypt.eu-nl -a 127.0.0.1:40

4. Aktifkan service DNSCrypt

sudo systemctl daemon-reload
sudo systemctl enable dnscrypt-proxy
sudo systemctl start dnscrypt-proxy

5. Install Dnsmasq

sudo apt-get install dnsmasq

6. Lakukan konfigurasi Dnsmasq, baris ini berfungsi agar dnsmasq terhubung dengan dnscrypt.

sudo nano /etc/dnsmasq.conf

#tambahkan atau modifikasi baris berikut :
server=

#menjadi :
server= server=127.0.0.1#40

#Jangan sampai ada tanda '#' didepan tulisan 'server=' !

7. Ubah /etc/resolv.conf. File ini berfungsi menentukan dns server apa yang harus di gunakan oleh sistem, kita harus mengubah file ini agar menggunakan service yang baru saja kita buat.

sudo nano /etc/resolv.conf

#Isi file tersebut hanya boleh ada baris ini:

nameserver 127.0.0.1

8. Konfigurasikan router anda, agar menggunakan raspberrypi anda sebagai DNS server,  setiap router memiliki cara konfigurasi yang berbeda-beda, silahkan konsultasikan dengan manual router anda. Karena IP raspberrypi saya adalah 192.168.1.120, maka saya gunakan IP tersebut sebagai primary DNS server. Sedangkan saya menggunakan openDNS sebagai cadangan apabila dnscrypt down. Daftar server openDNS : https://use.opendns.com/Capture

9. Selamat ! anda telah berhasil membuat server DNS yang dapat membypass filter internet positif! selanjutnya anda dapat mencoba membuka situs yang diblokir, tetapi seharusnya tidak masuk dalam blokir seperti https://www.reddit.com

Selamat mencoba !

Membuat server email dengan ubuntu linux

Email merupakan salah satu metode yang paling populer untuk berkomunikasi di internet. Alangkah baiknya apabila bisnis anda sudah memiliki email domain sendiri, seperti [email protected], karena akan dipandang lebih profesional oleh mitra bisnis anda.

Yang Perlu di persiapkan:
1. Domain Name
2. Server yang terhubung langsung dengan internet (VPS / dedicated server)
3. Mengatur MX Record di domain, MX record berisi harus di teruskan ke alamat ip apa setiap email yang di kirim.
4. Server sudah terinstall dengan web server apache2

Tutorial:

  1. Install Postfix, Postfix adalah MTA, atau mail transfer agent yang bertujuan mengirim,menerima dan meneruskan email anda ke user account anda.
    sudo apt-get update
    sudo apt-get install postfix
  2. Anda akan ditanya mengenai FQDN, atau Fully Qualified Domain Name saat instalasi postfix. Isi dengan domain anda.
  3. Install Dovecot. Dovecot berfungsi sebagai server IMAP / POP3, yaitu protokol yang biasanya di gunakan oleh client email anda seperti outlook.
    sudo apt-get install dovecot-imapd dovecot-pop3d
    
  4. Install mail web client SquirrelMail, agar anda lebih mudah membaca email
    sudo apt-get install squirrelmail
  5. Buka halaman konfigurasi squirrelmail
    sudo squirrelmail-configure
    
  6. Masuk kebagian mail server settings dengan mengetik 2 pada keyboard lalu menekan enter.pastikan settingnya sudah sesuai seperti dibawah, save lalu exit.
    Update IMAP Settings   : localhost:143 (other)
    Update SMTP Settings   : localhost:25
    
  7. Set konfigurasi apache2
    sudo cp /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail
    sudo ln -s /etc/apache2/sites-available/squirrelmail /etc/apache2/sites-enabled/squirrelmail
    sudo a2ensite squirrelmail
    sudo service apache2 restart
    
  8. Tambahkan user linux anda kedalam grup mail, anda juga bisa menambahkan user linux baru. email adalah per user user linux. apabila anda menggunakan user root, maka email anda adalah  [email protected]
    #tambah userbaru
    sudo useradd namauser
    
    #menambahkan user ke grup mail
    sudo usermod -a -G mail namauser
    
    
  9. Selamat, anda telah berhasil membuat mail server dengan ubuntu linux sendiri! masuk kedalam web clientnya dengan mengetik http://domainanda/mail, lalu login dengan username / password linux anda. Silahkan test kirim dan terima email dari penyedia layanan lain seperti gmail / yahoo.

    Selamat mencoba 🙂

Review: Nagi No Asukara

Episode: 26
Tayang: Okt 3, 2013 sampai Apr 3, 2014
Produser: Geneon Universal Entertainment, Rondo Robe
Studio: P.A. Works
Genre: Drama, Fantasy, Romance

Nagi no asukara adalah sebuah anime drama, mengambil setting di kota dalam lautan yang berbatasan langsung dengan kota di daratan. Ceritanya berkisah seputar masalah-masalah yang di hadapi oleh para tokoh utama, yaitu masalah persahabatan dan cinta dengan bumbu lain seperti perselisihan antara orang-orang lautan dengan daratan.

Yang biasanya paling utama di suguhkan oleh anime seperti ini adalah perkembangan karakter dan dialog-dialog yang mengena di hati. Nagi No Asukara berhasil dengan sempurna melakukan hal tersebut. Salah satu contohnya bagaimana karakter utama awalnya sangat over protektif, mudah terprovokasi menjadi lebih dewasa dan tenang di pertengahan cerita. Hal ini tidak hanya terjadi di karakter utama saja, tetapi terjadi juga di karakter-karakter yang terbilang minor. Perkembangan karakter nya bahkan bisa di sandingkan dengan anime yang sangat terkenal Ano Hi Mita Hana no Namae wo Bokutachi wa Mada Shiranai.

nagi

Senjata utama lain dari anime ini adalah visualnya. Setiap gambar latar indah dan memukau, terlihat detail-detail yang biasanya di lupakan atau di hindari oleh studio animasi, dengan warna-warna yang cantik, sesuai dengan suasana cerita. Hanya sedikit anime yang memiliki kualitas diatas ini, bahkan gambarnya bisa dibilang mendekati, walaupun belum sebaik anime bioskop dengan budget besar dan waktu pengerjaan panjang seperti The Garden of Words.

Audio yang ditawarkan oleh anime ini juga tidak kalah menariknya. seluruh Opening dan ending patut diacungi jempol. Tetapi yang paling harus di apresiasi adalah BGM nya. Dengan konsep jazz, waltz dan intrumental, BGMnya sanggup membuat setiap dialog dalam cerita menjadi lebih berkesan di hati. Belum ada anime yang BGMnya sebaik ini menurut saya.

nyanko-nagi-no-asukara-01-720p86d03828-mkv_snapshot_12-56_2013-10-05_00-20-34
Kekurangan dari anime ini adalah dari segi variasi masalah dalam cerita. Terkadang problem-problem yang di hadapi di ulang-ulang. Hal ini membuat kebosanan. Apalagi anime ini 26 episode, seharusnya anime ini bisa menyuguhkan lebih banyak lagi problem yang harus dihadapi tokoh utama. Masalah pacing juga sangat kentara. Terlalu banyak dialog-dialog tidak penting yang di ulang-ulang. Apabila pacing anime ini lebih cepat, mungkin anime ini akan tamat hanya dengan 21 episode.

Kesimpulannya, Nagi No Asukara unggul pada pengembangan karaker dan audio-visual, tetapi lemah dalam pacing dan konten cerita. Walaupun demikian, Nagi No Asukara tetap merupakan salah satu anime yang wajib di tonton oleh pecinta  anime drama romantis.

Cerita : 7.5/10
Karakter: 9/10
Gambar : 9/10
Audio : 9/10
Skor Akhir: 8.6/10

Cara Membeli Game di Steam Dengan Rekening CIMB Niaga Tanpa Credit Card

Rekening tabungan CIMB Niaga memiliki fitur menarik yang di sebut dengan virtual credit card. Menariknya, VCC ini bisa digunakan pada situs-situs yang biasanya menolak VCC seperti Apple app store, Google playstore, Paypal dan Steam.

Yang dibutuhkan:
1. Rekening Bank CIMB Niaga
2. Sudah terdaftar dengan Internet Banking CIMB Niaga (https://www.cimbclicks.co.id/ib-cimbniaga/Login.html)

Tutorial:
1. Daftar CIMB Niaga Octopay di sini. Octopay menggunakan platform facebook, Anda tidak perlu khawatir di redirect ke facebook.

Screen Shot 2015-11-26 at 4.35.36 PM

2. Pilih Transactions, lalu klik purchase and reloadScreen Shot 2015-11-17 at 1.28.14 PM

3. Pilih virtual credit card, lalu isi dengan limit credit card yang anda inginkan. perlu di catat setiap pembuatan VCC dikenakan biaya 10.000 rupiah dan VCC hanya berlaku satu hari. perlu di catat uang di rekening anda hanya akan di potong sesuai dengan transaksi anda, bukan sebanyak limit.dfdwefwqfe

4. Setelah klik submit dan mengisi confirmation code, anda akan mendapatkan nomor credit card dan 3 digit CVC2 yang dikirimkan ke handphone anda.qwefqwefqwef

5. silahkan pilih barang di steam yang ingin di beli, lalu pilih my cart pada pojok kanan atas. klik purchase for myself.Screen Shot 2015-11-26 at 1.55.08 PM

6. Pilih tipe pembayaran MasterCard, lalu masukan data VCC ke dalam kolom yang tersedia FWEFQWFEWF

7. Selanjutnya akan muncul halaman konfirmasi pembelian. klik check box agree lalu klik tombol purchase   Screen Shot 2015-11-26 at 1.57.27 PM

8. Selamat, anda telah berhasil membeli game di Steam menggunakan virtual credit card octopay bank CIMB niaga!