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.
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.
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