NRP 2210181051
KELAS 2 TK B
A. Tujuan
1. Mahasiswa dapat mengenal dan memahami Raspberry Pi yang terhubung dengan akses GPIO.
2. Mahasiswa dapat mengakses Raspi dengan Laptop dengan putty
B. Dasar Teori
Pin GPIO (General Purpose Input Output) dapat digunakan sebagai input atau output dan
memungkinkan raspberry pi untuk terhubung dengan perangkat I / O (dunia luar).
Raspberry pi 3 model B mengeluarkan 26 pin GPIO di board yang berupa header male. Raspberry pi
dapat mengontrol banyak perangkat I / O eksternal menggunakan GPIO ini. Pin ini adalah antarmuka
fisik antara Pi dan dunia luar. Kita dapat memprogram pin ini sesuai dengan kebutuhan untuk
berinteraksi dengan perangkat eksternal. Misalnya, jika kita ingin membaca status switch, kita dapat
mengonfigurasi pin GPIO yang tersedia sebagai input dan membaca status switch untuk membuat
keputusan. Kita juga dapat mengonfigurasi pin GPIO sebagai output untuk mengontrol ON / OFF LED.
Raspberry Pi dapat terhubung ke Internet menggunakan Wi-Fi on-board atau adaptor USB Wi-Fi. Setelah
Raspberry Pi terhubung ke Internet, maka kita dapat mengontrol perangkat, yang terhubung ke
Raspberry Pi, dari jarak jauh. Pin GPIO dari Raspberry Pi 3 ditunjukkan pada gambar di bawah ini:
Beberapa pin GPIO dengan fungsi-fungsi alternatif seperti I2C, SPI, UART dll. Kita dapat menggunakan
pin GPIO untuk aplikasi kita.
Penomoran Pin
Kita harus mendefinisikan pin GPIO yang ingin kita gunakan sebagai output atau input. Tetapi Raspberry
Pi memiliki dua cara untuk menentukan nomor pin, yaitu sebagai berikut:
1. Penomoran GPIO
2. Penomoran Fisik
Dalam Penomoran GPIO, nomor pin mengacu pada nomor pada Broadcom SoC (System on Chip). Jadi,
kita harus selalu mempertimbangkan pemetaan pin untuk menggunakan pin GPIO. Sedangkan dalam
Physical Numbering, nomor pin mengacu pada pin header P1-40 pin pada Raspberry Pi Board.
Penomoran fisik di atas sederhana karena kita dapat menghitung nomor pin pada header P1 dan
menetapkannya sebagai GPIO. Tetapi, kita masih harus mempertimbangkan diagram konfigurasi pin
yang ditunjukkan di atas untuk mengetahui pin GPIO dan mana yang VCC dan GND.
Sekarang, mari kontrol LED menggunakan switch yang terhubung ke Raspberry Pi. Di sini, kami
menggunakan Python dan C (WiringPi) untuk kontrol ON-OFF LED.
Penjelasan :
Fungsi yang digunakan:
RPi.GPIO
Untuk menggunakan pin GPIO Raspberry Pi dengan Python, kita perlu mengimpor paket library RPi.GPIO
yang memiliki kelas untuk mengontrol GPIO. Paket Python RPi.GPIO ini sudah diinstal pada Raspbian OS.
Jadi, kita tidak perlu menginstalnya secara eksternal. Hanya, kita harus memasukkan library dalam
program kita untuk menggunakan fungsi untuk akses GPIO menggunakan Python. Ini diberikan sebagai
berikut.
Fungsi ini digunakan untuk mendefinisikan sistem penomoran Pin yaitu penomoran GPIO atau
penomoran fisik.
Dalam RiPi.GPIO, penomoran GPIO diidentifikasi oleh BCM sedangkan penomoran fisik diidentifikasi
oleh BOARD
Misalnya. Jika kita menggunakan pin nomor 40 dari header P1 sebagai pin GPIO yang harus kita
konfigurasi sebagai keluaran,
Dalam BCM,
GPIO.setmode (GPIO.BCM)
GPIO.setup (21, GPIO.OUT)
Dalam BOARD,
GPIO.setmode (GPIO.BOARD)
Fungsi ini digunakan untuk mengatur direction pin GPIO sebagai input / output.
misalnya
GPIO.input (channel)
Fungsi ini digunakan untuk membaca nilai pin GPIO.
misalnya
GPIO.input (9)
KONTROL LED MENGGUNAKAN C (WIRINGPI)
Kita dapat mengakses Raspberry Pi GPIO menggunakan C. Di sini, kita menggunakan library WiringPi
untuk mengakses Raspberry Pi GPIO menggunakan C. Sebelum menerapkan blink LED menggunakan
wiringPi, kita dapat merujuk cara menggunakan library WiringPi.
Program :
#include <wiringPi.h>
#include <stdio.h>
int LED = 26; /* GPIO26 as per wiringPi, GPIO12 as per BCM,
pin no.32 */
int switch_input = 21; /* GPIO21 as per WiringPi, GPIO5 as per
BCM, pin no.29 */
int main(){
wiringPiSetup(); /* initialize wiringPi setup */
pinMode(LED,OUTPUT); /* set GPIO as output */
pullUpDnControl(switch_input, PUD_UP);
while (1){
if(digitalRead(switch_input))
digitalWrite(LED,LOW); /* write LOW on GPIO */
else
digitalWrite(LED, HIGH); /* write HIGH on GPIO */
}
}
AKSES RASPBERRY PI HOME SCREEN PADA LAYAR LAPTOP/PC MENGGUNAKAN LAN (ETHERNET)
Raspberry Pi adalah komputer kecil dengan ketentuan aksesibilitas GPIO. Tetapi untuk mengakses
Raspberry Pi, kita memerlukan layar(LCD) untuk masuk dan melakukan tugas-tugas lainnya. Jika kita
memiliki tampilan Digital atau layar TV maka kita dapat menggunakannya untuk mengakses Raspberry
Pi.
Tetapi, jika kita tidak memiliki layar LCD, kita dapat menggunakan layar Laptop/PC kita dengan
Raspberry Pi untuk mengakses CLI (Command Line Interface) atau GUI (Graphical User Interface) dari
Raspberry Pi.
Karena Raspberry Pi memiliki On-board Ethernet Port, kita dapat menggunakan port ini untuk
menghubungkan Laptop. Itu tidak memerlukan tampilan tambahan selain dari tampilan Laptop.
Di sini, kita akan mengakses layar LCD beranda Raspberry Pi menggunakan Laptop melalui port LAN /
Ethernet.
3. Setelah memilih change adapter settings, kita akan mendapatkan jendela seperti yang
ditunjukkan di bawah ini:
4. Sekarang, periksa properti koneksi LAN dan Jaringan Nirkabel. Klik dua kali pada koneksi
Jaringan Nirkabel dan pilih opsi properti seperti yang ditunjukkan di bawah ini.
5. Di properti, periksa konfigurasi IPv4 sebagai berikut.
6. Setelah memilih properti IPv4, pastikan untuk mendapatkan alamat IP secara otomatis dan
mendapatkan opsi DNS server secara otomatis dipilih seperti yang ditunjukkan di bawah ini.
8. Sekarang, pilih Local Area Connection (LAN) dan Wireless Connection Network dan buat Bridge
Connection antara keduanya. Ini dapat dilakukan dengan mengklik kanan pada fungsi sebagai
berikut.
9. Sekarang, Bridge terbuat di antara keduanya seperti yang ditunjukkan pada gambar di bawah
ini.
10. Sekarang, sambungkan kabel LAN dengan satu ujung terhubung ke Raspberry Pi dan ujung
lainnya terhubung ke Laptop.
Sekarang, periksa IP Anda dan IP Gateway Default dengan memasukkan perintah berikut di
command prompt windows.
ipconfig
11. Kita dapat melihat dalam gambar di atas IP gateway default adalah 192.168.0.1. Jadi, IP dinamis
Raspberry Pi kami akan berada di kisaran 192.168.0.2 - 192.168.0.255 seperti di jaringan yang
sama. Kita perlu mengetahui alamat IP Raspberry Pi untuk masuk ke Raspberry Pi menggunakan
SSH (Shell Script). Kita dapat menemukan alamat IP ini menggunakan Aplikasi "Advanced IP
Scanner". Instal aplikasi ini dan buka. Setelah membuka aplikasi ini, kita akan melihat jendela
seperti yang ditunjukkan di bawah ini,
12. Untuk mencari alamat IP yang ditetapkan untuk Raspberry Pi, ketikkan rentang alamat IP
jaringan seperti yang ditunjukkan pada gambar di bawah ini
13. Kami akan mendapatkan alamat IP dari semua perangkat yang terhubung ke jaringan seperti
yang ditunjukkan di bawah ini,
14. Pada gambar di atas, kita dapat melihat alamat IP Raspberry Pi, untuk Login ke Raspberry Pi,
gunakan Putty untuk menggunakan port SSH. Buka putty dan masukkan alamat IP Raspberry Pi
di field Host Name. Demonstrasi berikut akan menunjukkan cara Masuk ke Raspberry Pi
menggunakan SSH.
https://youtu.be/RtzVl8bKvFQ
Hore!!! berhasil masuk ke Antarmuka Baris Perintah (CLI) Raspberry Pi dan dapat mengakses
Internet saat terhubung ke Raspberry Pi melalui LAN.
misalnya
ping www.google.com
Jika permintaan ping berhasil maka internet kita berfungsi dengan baik. Tapi, jika tidak
merespons maka kita perlu menyelesaikan masalah konektivitas internet ini.
Untuk mengatasi masalah ini, kita dapat melakukan hal-hal berikut,
Tambahkan dns-nameserver dan nameserver secara manual. Untuk melakukan ini buka
resolv.conf menggunakan perintah berikut.
Tambahkan gateway default sebagai dns-nameserver dan 8.8.8.8 sebagai nameserver yang
ditunjukkan di bawah ini,
16. Dan simpan konfigurasi di atas, untuk membuat perubahan ini permanen, masukkan perintah
berikut :
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Syarat berikutnya, pastikan komputer PC juga terhubung dengan jaringan LAN yang sama dengan
Raspberry Pi. Bila menggunakan modem, maka baik notebook dan Raspberry Pi harus berada dalam
jaringan wifi modem tersebut. Untuk memastikan apakah PC kita bisa terhubung dengan Raspberry PI
atau tidak, lakukan ping via command prompt dari laptop ke alamat IP Raspberry PI anda.
Jika di-ping tidak mengalami masalah, maka mulai buka putty yang tadi telah kita install dan masukan
konfigurasi berikut :
Untuk koneksi pertama, anda akan melihat peringatan dari SSH. abaikan saja, klik OK.
Kemudian akan muncul tampilan layaknya command prompt sebagai berikut :
Masukan user id dan password Raspberry Pi anda. Dan selamat, kini anda sekarang memiliki akses nirkabel dengan
Raspberry Pi.
D. Percobaan
1. Install Advanced IP Scanner di laptop anda!
Advanced IP Scanner merupakan perangkat lunak yang cepat dan gratis untuk pemindaian
jaringan. Alat akan mendeteksi secara cepat semua komputer jaringan dan mendapatkan akses ke
sana. Advanced IP scanner dapat memetakan semua komputer yang terhubung ke jaringan kabel
atau nirkabel lokal dan memindai port-nya
c. Pilih Bahasa yang akan digunakan selama proses installasi. Disini saya memilih menggunakan
Bahasa Indonesia. Kemudian tekan tombol OK
d. Pada tampilan pilihan aksi terdapat dua pilihan yakni Pasang dan Jalankan. Pilih opsi “Pasang”
untuk menginstall kemudian tekan tombol "Lanjut"
e. Untuk tampilan persetujuan lisensi, pilih opsi “Ya, saya setuju” agar tombol untuk menginstall
bisa aktif, kemudian klik tombol “Pasang”
f. Tunggu proses ekstrak berkas file installer sampai selesai
g. Ketika muncul tampilan user control pilih tombol “Yes” untuk melanjutkan ke tahap
selanjutnya
h. Tunggu proses instalasinya. Jika sudah, pilih button finish dan aplikasi Advanced Scanner IP
dapat dijalankan
i. Anda sudah bisa menggunakan aplikasi Advanced Scanner IP. Berikut ini adalah tampilan awal
aplikasi Advanced Scanner IP.
c. Ketika muncul tampilan windows agreement untuk installasi putty pilih tombol “Next”
d. Pada dialog box untuk memilih lokasi penyimpanan, Anda bisa menentukan letak folder untuk
menyimpan dan apabila ingin mengubah lokasi bisa memilih tombol “Change” kemudian
menentukan lokasi penyimpanan yang baru > klik “OK” setelah itu klik tombol “Next” untuk
melanjutkan ke tahap selanjutnya.
e. Pada dialog box Product Features akan muncul berbagai fiture yang akan diinstall, pilih
tombol “Install” untuk memulai installasi putty
f. Tunggu proses ekstraksi file putty selesai sampai muncul windows user control, pilih tombol
“Yes” untuk melanjutkan ke tahap selanjutnya
3. Lakukan semua percobaan diatas, dan tulislah step by step caranya ! (disertai penjelasan analisa,
foto screenshot, skematik fritzing dll).
Mengubah pengaturan IP menjadi static agar IP dapat dikenali oleh Raspberry Pi. Pengubahan IP
menjadi static bisa melalui pengaturan jaringan di network and sharing center. Pengaturan harus
disesuaikan dengan alamat gateway dari router. Misalnya gateway router memiliki alamat 192.168.1.1
maka alamat IP staticnya adalah 192.168.1.2 – 254. Setelah diklik OK maka alamat IP akan otomatis
terganti.
Settingan alamat IP yang telah berubah tersebut bisa dilihat di command prompt dengan mengetik
ipconfig. Dapat dilihat alamat IP nya sama dengan alamat IP yang telah kita setting sebelumnya
Untuk melihat alamat IP lainnya dapat menggunakan software Advanced IP Scanner termasuk alamat
dari Raspberry Pi yang kita gunakan.
Setelah mengetahui alamat IP dari Raspberry Pi, kita dapat menggunakan software putty untuk
mengkoneksikan ke Raspberry Pi melalui SSH. Caranya yaitu dengan memasukkan alamat IP dari
Raspberry Pi dan memilih koneksi secara SSH. Setelah itu klik Open maka akan tampil Raspberry Pi
secara SSH.
JAWABAN
a. Rangkaian pada fritzing
b. 2 LED menyala bergantian dengan delay 500ms
import RPi.GPIO as GPIO
import time as sleep
LA = 16
LB = 32
SA = 22
SB = 29
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(LA,GPIO.OUT)
GPIO.setup(LB,GPIO.OUT)
GPIO.setup(SA,GPIO.IN, pull_up_down=GPIO.PUD_UP)
while True:
GPIO.output(LA, GPIO.HIGH)
GPIO.output(LB, GPIO.LOW)
sleep(0.5)
GPIO.output(LA, GPIO.LOW)
GPIO.output(LB, GPIO.HIGH)
sleep(0.5)
LA = 16
LB = 32
SA = 22
SB = 29
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(LA,GPIO.OUT)
GPIO.setup(LB,GPIO.OUT)
GPIO.setup(SA,GPIO.IN, pull_up_down=GPIO.PUD_UP)
while True:
if(GPIO.input(SA)):
GPIO.output(LA, GPIO.HIGH)
elif(GPIO.input(SB)):
GPIO.output(LB, GPIO.HIGH)
d. debouncing ketika SA ditekan maka LA akan ON terus, LA akan OFF jika SA ditekan lagi
import RPi.GPIO as GPIO
import time as sleep
LA = 16
SA = 22
blinkCount = 10
count = 0
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(LA,GPIO.OUT)
GPIO.setup(LB,GPIO.OUT)
GPIO.setup(SA,GPIO.IN, pull_up_down=GPIO.PUD_UP)
buttonPress = True
ledState = False
try:
while count < blinkCount:
buttonPress=GPIO.input(SA)
if buttonPress == False and ledState == False:
GPIO.ouput(LA, GPIO.HIGH)
ledState = True
sleep(3)
finally:
GPIO.output(LA, GPIO.LOW)
GPIO.cleanup
E. Tugas
1. Apa yang dimaksud dengan host name?
Host name adalah nama dari sebuah komputer. Pemberian nama ini spesifik untuk satu komputer
tertentu saja dalam suatu jaringan. Karena sifatnya yang unik, maka dalam satu jaringan tidak
boleh ada 2 atau lebih hostname yang sama. Jika terjadi penamaan yang sama, maka sistem akan
memberitahukan bahwa telah terjadi duplikasi nama. Tapi jika komputer tidak
saling terkoneksi ke jaringan memberikan nama komputer yang sama tidak masalah.
b. Gateway
Gateway (Gerbang Jaringan) adalah suatu perangat yang menghubungkan jaringan komputer
yang satu atau lebih jaringan komputer dengan media komunikasi yang berbeda sehinga
informasi pada saat jaringan komputer di alihkan akan berbeda dengan media jaringan yang
berbeda. Gateway juga berarti sebagai komputer yang daapat menghubungkan 2 buah jaringan
atau lebih karena memiliki minimal 2 buah network interface.
c. IP dinamis
IP dinamis yaitu IP yang didapatkan oleh computer/router lain dari sistem Dynamic Host
Configuration Protocol (DHCP) nya, IP yang didapatkan oleh PC ini bisa berubah-ubah dalam
waktu tertentu. Untuk konfigurasi ini membutuhkan DHCP server sebagai pemberi ip kepada
setiap mesin computer. IP dinamis juga merupakan IP yang didapatkan oleh ISP dengan
diberikan secara acak.
d. LAN
LAN (Local Area Network) adalah suatu jaringan komputer yang hanya mencakup wilayah
lokal, dalam artian, jaringan ini hanya bisa digunakan oleh orang-orang yang berada di area
LAN saja seperti jaringan komputer kampus, gedung, kantor, dalam rumah, sekolah atau yang
lebih kecil. LAN dapat menghubungkan sebuah perangkat ke internet dengan menggunakan
berbagai perangkat jaringan yang cukup sederhana. Seperti hanya dengan menggunakan kabel
UTP (Unshielded Twisted-Pair), Hub, Switch, Router, dan lain sebagainya.
b. Pull down :
Pull Down adalah penambahan resistor ke sinyal “low” untuk mengatasi kondisi “floating”
yang terjadi pada suatu rangkaian agar menjadi terdefinisi ke sinyal “low”.
Pull-Up dan Pull-Down resistor adalah penambahan resistor pada I/O MCU (Microcontroller unit),
yang membedakan antara Pull-up dan Pull-down adalah penempatan resistor pada kutup arus listrik, juga
pada input.
Untuk Pull-up resistor, salah satu kaki resistor dihubungkan ke kutub Vcc (5v/3.3v pada RasPi),
sedangkan kaki resistor yang lain dicabangkan, satu ke pin input MCU, dan yang lain ke switch on/off
untuk disambungkan ke ground (0V).
Sedangkan Pull-down resistor, salah satu kaki resistor dihubungkan ke kutub ground (0v), sedangkan
kaki resistor yang lain dicabangkan, satu ke pin input MCU, dan yang lain ke switch on/off untuk
disambungkan ke Vcc (5v/3.3v).
5. Berapa tegangan dan arus charger yang dibolehkan untuk meng-ON-kan modul Raspi?
Semakin baru versi Raspberry Pi, pada umumnya semakin besar pula daya yang diperlukan. Mulai
dari versi pertama Raspberry Pi A dan B, hingga sekarang Raspberry Pi 3, masing-masing
memerlukan kenaikan daya yang cukup signifikan. Raspi versi 1 hanya memerlukan daya minimal
700mA, namun versi 3 kini dikatakan minimal harus 1A atau untuk kestabilan bila menggunakan
banyak perangkat khususnya USB itu harus 2A. Arus charger minimumnya adalah 700 mA dan
maximum 1000 mA.
Tegangan yang dibolehkan untuk menyalakan modul Raspi adalah maksimal 5 Volt (dengan
toleransi +/- 1%).
F. Referensi
1. https://www.electronicwings.com/raspberry-pi/how-to-use-wiringpi-library-on-raspberry-pi
2. https://www.raspberrypi.org/documentation/configuration/use-a-proxy.md
3. https://embeddednesia.com/v1/memulai-pemrograman-c-c-pada-raspberry-pi-bagian-1/