Jumat, 10 Maret 2017

Rangkuman Buku Berjudul Rasberry

BAB I
RASPBERRY PI

Raspberry Pi adalah satu Single Board Computer (SBC) yang cukup popular meskipun ada beberapa SBC yang lain seperti BeagleBone, Intel Galileo, PandaBoard, CubieBoard, dan lain-lain. Raspberry Pi biasa disingkat dengan Raspi atau RPi pertamakali rilis pada februari 2012 yang dikebangkan oleh yayasan nirlaba Raspberry Pi Foundation yang digawangi oleh sejumlah develove dan ahli computer dari Universitas Cambridge, Inggris.
1.1.  Raspberry Pi 2 Model B
Raspberry Pi adalah generasi kedua yang menyempurnakan generasi RPi sebelumnya, seperti RPi 1 Model A+ atau B+. Proses instalasi OS ada dua, yaitu degan NOOBS atau instalasi images. OS yang dapat di install pada RPi2 adalah Raspbian (Official Supported OS), windows 10 IOT, Ubuntu mate, Snappy Ubuntu, OSMC, openelec, PINET, dan Risc OS.
1.       1.2.      Spesifikasi
Spesifikasi dari RPi 2 secara lengkap seperti dibawah ini:
1.      SoC: Broadcom BCM2836 (CPU, GPU, DSP, SDRAM)
2.      CPU: 900 MHz quad-core ARM Cortex A7 (ARMv7 instruction set)
3.      GPU: Broadcom VideoCore IV @ 250 MHz

4.      More GPU info: openGL ES 2.0 (24 GFLOPS); 1080p30 MPEG-2 and VC-1 decoder (with license); 1080p30 h.264/MPEG-4 AVC high profile decoder and encoder

5.      Memory: 1GB (shared with GPU)
6.      USB ports: 4
7.      Video input: 15-pin MIPI camera interface (CSI) connector
8.      Video outputs: HDMI, composite video (PAL and NTSC) via 3.5 mm jack
9.      Audio input: S
10.  Audio Outpus :Analog Via 3.5 mm Jack; digital via HDMI and  S
11.  Storage : MicroSD
12.  Network : 10/100 Mbps Ethernet
13.  Peripherals : 17 GPIO plus specific Functons, and HAT ID bus
14.  Power rating : 800 Ma (4.0 w)
15.  Power Soucrce : 5 Via MicroUSB or GPIO header
16.  Size :85.60mm X 56.5mm
17.  Weight: 45g (1.6 oz)

                            1.1.2        Raspberry Pi 2 Pinout
Raspberry Pi 2memiliki 40 pinout yang dapat difungsikan seebagai input/output atau special function pin seperti I2C, SPI, dan serial
                          1.1.3        General Purpose Input/Output (GPIO)
GPIO atau general purpose input/output adalah pin Rpi yang dapat difungsikan sebagai input atau  output.


1.                     1.4        12C
12C atau Inter-Integrated Circuit adalah salah satu protocol komunikasi menggunakan 2 ware ( SDA dan CLK) yang ditemukan oleh Philips Semiconductor (Sekarang menjadi NXP Semiconductor).
                       1.1.5        SPI
Serial Periperal Interface atau SPI adalah interface komunikasi serial secara sinkron yang digunakan pada jarak pendek.
                      1.1.6        Serial
Serial atau UART adalah salah satu metode komunikasi di mana data dikirimkan satu per satu melalui pin TX dan diterima melalui pin RX.
                      1.1.7        Operating system
Pada raspbian Jessie telah banyak perubahan, diantaranya waktu startup langsung ke LXDE, tambahan aplikasi libree offie, GUI untuk konfigurasi RPi, dan lain-lain,



BAB II
MENGINSTAL  OS RASPBERRY PI

2.1   NOOBS
Langkah-langkah menginstall Raspbian OS ke dalam RPi2 dengan NOOBS, Sebagai beriku ;
1.      Download Raspberry
2.      Pilih menu NOOBS, akan terlihat dua versi dari NOOBS, yaitu full dan lite version.
3.      Downlon yang full version
4.      Tunggu sampai selessai mendownload, Kemudian Ekstrak file NOOBS Ke folder tertentu dalam komputer/laptop menggunakan 7zip atau yang lain. Jika muncul error di sarankan untuk mendownload file NOOBS lagi.
5.      Format microSD menggunakan SDFormat yang dapat di download.
6.      Jika muncul peringatan klik OK
7.      Tunggu proses format sampai selesai, lalu klik ok.
8.      Buka file ekstrak NOOBS hasil langkah 4. Copy semua file  ke dalam microSD.
9.      Tunggu sampai proses copy selesai.
10.  Buka microSD, cek apakah semua file sudah tercopy dengan benar.
11.  Jika sudah benar, Masukan microSD ke dalam slot RPi2 yang berada di sisi bawah dari board Rpi2.
12.   Hubungkan konektor HDMI ke monitor/display, USB Mouse ke salah satu port USB RPi2.
13.  Hidupkan Rpi2 dengan menghubungkan power supply ke microUSB di board Rpi2. Pada layar monitor akan muncul tampilan awal seperti di bawah. Noobs akan melakukan setting partisi pada microSD.
14.  Tunggu sampai proses inisialisai selesai.
15.  Cek Raspbian OS, Lalu tekan tombol install.
16.  Jika muncul peringatan klik tombol yes.
17.  Tunggu Sampai proses instalasi selesai.
18.  Klik tombol Ok.
19.  Tunggu proses setting up kernel dan lain-lain sampai selesai.
20.  Raspbian  OS siap digunakan.

2.2   Instalasi Menggunakan Images
Langkah-langkah instalasi Raspbian OS pada RPi2 boar menggunaka file image, sebagai berikut ;
1.      Download program Win32 Disk Imager pada url di atas kemudian install di laptop atau Komputer.
2.      Masuk ke URL http://www.raspberrypi.org kemudian klik download.
3.      Klik medu Raspbian.
4.      Download yang full version.
5.      Ekstrak file menggunakan 7zip atau yang lainnya.
6.      Jalankan Program Win32 Disk Imager.
7.      Arahkan ke file image yang tadi diekstrak pada langkah 5 dengan menekan tombol bergambar folder berwarna biru.
8.      Jika semua benar, terutama image file dan device, lalu tekan tombol white. Jika muncul peringatan tekan tombol yes
9.      Tunggu Proses Sampai selesai.
10.  Jika sudah selesai Klik OK kemmudia Eject MicroSD dari Komputer.
11.  Masukan microSD ke dalam slot microSD yang ada di board RPi2
12.  Hubungkan HDMI ke monitor/display, pasang USB mouse.
13.  Hidupkan RPi2.
14.  Tunggu proses setting kernel dan lainnya sampai selesai.
15.  Raspbian OS siap digunakan.

2.3  Update RPi2
Setelah proses instalasi selesai, langkah selanjutnya adalah melakukan update/upgrade OS Rpi ke versi yang paling update. Untuk itu gunakan perintah “sudo apt-get update”, “sudo apt-get upgrade”, “sudo rpi-update”

2.4       Koneksi Rpi2 ke Internet
Setelah menginstall Raspbian harus menginstal beberapa program yang mendukuk proyek, salah satu nya Remote Desktop Connection Server atau XRDP. Untuk menginstal program harus terhubung dengan internet. RPi2 dapat terhubung dengan muda ke internet dengan cara memasang UTP cable dari LAN port RPi2 ke HUB/Switch LAN yang ada di kantor atau rumah yang sudah terhubung ke internet. Untuk mengkoneksikan RPi ke internet melalui smartphone, peralatan yang dibutuhkan adala sebagai berikut:
1.      RPi2 board yang sudah diinstal Raspbian OS seperti pada penjelas di atas.
2.      Kabel UTP cross type.
3.      Mobile smartpone Android 4.4.
4.      Laptop
5.      Power Supply

2.5            Change Password RPi2
Password RPi2 dapat di ubah dengan cara sebagai berikut;
1.      Remote RPi2 menggunakan putty
2.      Ketik Password lalu tekan enter . masukan password lama kemudian password baru. Tekan enter sampai selesai
3.      Logout dari putty connection
4.      Jalankan kembali putty. Lalu login dengan  password lama, jika tidak berhasil login berarti update password sudah berhasil.

2.6            Menginstal Remote Desktop Connection
Remote desktop digunakan untuk melakukan remote terhadap Rpi dengan tampilan grafik, tidak seperti pada remote menggunakan SSH putty.
Menginstall xrdp sebagai berikut ;
1.      Remote RPi2 menggunaka SSH melalui Putty.
2.      Ketik perintah “sudo apt-get install xrdp”
3.      Jika ada peringatan, tekan huruf y lalu enter.
4.      Tunggu proses sampai selesai, lalu tutup program putty.
5.      Jalankan remote desktop di computer, isikan IP dan RPi2 lalu tekan tombol Connect.
6.      Jika ada peringatan tekan tombol yes.
7.      Jika koneksi berhasil, akan  muncul form user dari program xrdp, isikan user dan password dari RPi2. User dan password sama dengan yang di pakai untuk koneksi SSH melalui putty.
8.      Klik ok, jika koneksi lancer maka akan muncul tampilan dari RPi2 pada computer.





BAB III
WHATSAPP API

Whatsapp API adalah sala satu aplikasi messenger yang paling banyak penggunanya untuk saat ini. Whatsapp dapat berjalan lintas platform, baik android, Ios, Nokia Symban S60 dan S40, Blackberry, dan Windows Phone. Namun berdasarkan situs resmi Whatsapp, dukungan nokia Symbian S60 dan S40, Blackberry, android 2.1, dan 2.2, serta windows phone 7.1 sampai akhir tahun 2016 akan dihentikan.
Php based artinya whatsapp API yang dibuat menggunakan Bahasa pemrograman PHP. API ini nantinya akan berjalan di lingkungan berjalan di lingkungan web.
.NET Framework yang artinya whatsapp API dibuat menggunakan bahasa pemrograman berbasis .NET seperti Visual C#.
Python based artinya whatsapp API yang dibuat mengunakan bahasa python.

3.1   Install Whatsapp API
Langkah-Langkah install yowsup adalah sebagai berikut ;
1.      Pastikan RPi2 terkoneksi dengan internet, lalu jalankan lxterminal.
2.      Terlebih dahulu install dependensi python-dev dan ncurses-dev yang digunakan untuk menjalankan perintah python setup.py install.

3.      Install Yowsup dengan perintah “sudo pip install yowsup2” lalu tekan Enter.
4.      Untuk mengecek versi dari yowsup2 yang sudah terinstal, ketikan perintah Yowsup-cli versio.
5.      Semua file yowsup akan terinstal di folder yang telah di simpan.
6.      Untuk upgrade ke versi yowsup terbaru gunakan perintah: “sudo pip install yowsup2 –upgrade”
3.1         Registrasi Whatsapp Service
Ada beberap tools yang dapat digunakan untuk melakukan registrasi ke whatsapp service, diantaranya ;
1.          Menggunakan Yowsup-cli.
2.          Menggunakan program WART dalam windows.
3.          Registrasi online via base di URL http:// www.watoolts.es/pwd.html.
4.          Menggunakan CLI Registrasi Tools yang terdapat pada ChatAPI php based.
3.1.1        Menggunakan Yowsup-cli.
Digunakan adala versi 2.0.15 jika menggunakan versi di bawahnya, ada kemungkinan tidak bias untuk registrasi.
1.      Siapkan nomor yang akan digunakan sebagai account whatsapp, pastiken RPi2 terkoneksi dengan internet.
2.      Cari kode MCC, MNC, MNC dan CC dari nomor yang akan di registrasikan
3.      Open LXterminal pada RPi2.
4.      Tulis perintah untuk request code registrasi berikut, lalu enter.
5.      Tunggu notifikasi SMS ke handphone.
6.      Tulisakan perintah untuk request password, lalu tekan enter.
3.1.2        Registrasi  dengan  WART
1.      Siapkan nomor SIM card yang akan digunakan.
2.      Download WART terbaru
3.      Agar bias berjalan dengan baik, WART Memerlukan .NET Framework versi 4, pastikan sudah terinstall di computer.
4.      Jalankan program WART.
5.      Isi phone Number dengan nomor yang suda disiapkan pada langkah satu.
6.      Tekan tombol request code.
7.      Jika sudah mendapatkan notifikasi SMS berisi kode aktivasi masukan kode aktivasi (6 digit) pada confirm code dalam program WART.
8.      Jika langkah no 7 berjalan lancer akan diperoleh password whatsapp. Simpan password dan nomor.

3.2  Membuat File Config
Langkah selanjutnya adalah mencoba dan menerima pesan denga whatsapp.
1.      Contoh file confige sudah disedikan di yowsup-CLI. Gunakan perintah Yowsup-cli demos –help-config untuk melihat contoh file config. Pilih semua isi file confige, kemudian klik kanan dan klik copy.
2.      Buka text editor seperti leafpad kemudian klik paste. Ganti cc, phone, dan password yang sesuai.
3.      Tekan save, lalu simpan dengan nama_file.config.


3.3       Generate Key
Key digunakan dalam proses encrypt dan decrypt pesan oleh axolotl layer yang di simpan dalam file database di folder.

3.4     Test Send Whatsapp Message
Mencoba mengirim pesan dari RPi2 ke smartphone melalui Yowsup-cli sangatlah mudah yaitu dengan menggunakan perintah;
Yowsup-cli demos –E android –config path_file_config –send nomor pesan
Atau
Yowsup-cli demos –E s40 –config path_file_config –send nomer pesan

3.5          Test Receive Whatssapp Message
Setting up yowsup-cli ke dalam mode echo menggunaka perintah :
Yowsup-cli demos –E Android –config path_file_config –echo
Untuk mengetahui apakah yowsup sudah dapat menerima dan mendecrypt pesan whatsapp dengan baik adalah dengan menjalankan yowsup-cli dalam mode eco.

3.6         Error yang sering Terjadi
1.      Error Bad Mac, solusi yang bias diambil adalah mmencoba, mengirimkan pesan kembali.
2.      Error no Handler could be found, solusinya dengan mengirimkan pesan whatsapp kemudian jalankan kembali program untuk menerima pesan whatsapp.




BAB IV
KONTROL LAMPU RUMAH DENGAN WHATSAPP

Kontrol dengan RPi2 board berkaitan dengan mengendalikan GIPIO. GPIO atau General Purhpose Input/Output adalah pin dari board RPi2 yang dapat difungsikan sebagai input atau output atau bias juga memiliki fungsi khusu seperti 12C, SPI, dan UART/serial yang diatur melalui Software.

4.1   Modul RPi GPIO
Merupakan modul untuk akses GPIO dari python-packages sehingga secara default sudah terinstall di RPi2.

4.1.1        Import Library
Menambakan library/module RPi GPIO di awal program, yaitu dengan perintah import RPi.GPIO. Modul ini harus diberi nama atau dideklarasikan sebagai variable dengan menambahkan perintah as nama_module sehingga perintah lengkap nya adala import RPi.GPIO a GPIO

4.1.2        Pin Numbering
Ada dua skema yang di gunakan untuk memilih  nomer :
1.      GPIO.BOARD: Board numbering scheme. Skema ini menggunakan urutan nomor pin yang ada di pinout hardware PCB dari board RPi2.

2.      GPIO.BCM : Broadcom cip-specific pin numbers. Skema ini menggunakan skema koneksi antara output pin header (J8) ke chip Broadcom.

4.1.3        Setting Pin Mode
Setting pin mode bertujuan untuk mengatur apakah GPIO difungsikan sebagai input atau output.
4.1.4        Output
1.      Digital Output untuk mengeluarkan logika high atau low pada sebua pinGPIO digunakan fungsi “GPIO.output([ipin]), [GPIO.LOW,GPIO.HIGH]).
2.      PWM Output hanya dimiliki oleh pin-pin tertentu, misalkan GPIO 18 (pin nomor 12). Output PWM dapat digunakan dengan melakukan inisialisasi terlebih menggunakan fungsi GPIO.PWM([pin], [frequency]).
4.1.5        Cleanup GPIO berfungsi untuk membersihkan resources.
4.2               Hardware Interface
Untuk mengontrol lampu rumah, RPi2 tidak bias langsung dihubungkan dengan lampu melalui GPIO. Perlu dibuatkan interface hardware. Interface ini komponen utamanya adalah relay dan transistor sebagai sakelar/switch elektornik yang dikendalkan ole RPi2.



4.3              Software Interface