Kontrol GPIO Raspberry Pi dengan Android Native

Tutorial yang tepat untuk membuat kontrol Raspberry Pi dari Aplikasi Android buatan sendiri

Nabilla Mahmud
Mar 5 · 4 min read
Photo by Vishnu Mohanan on Unsplash

Di dalam tutorial ini, digunakan 3 buah LED agar tutorial terlihat sederhana tapi ‘konsep kontrol’-nya tetap dapat. Tak perlu berbasa-basi, langsung saja kita mulai dari prakteknya ya!

Persiapkan alat yang dibutuhkan, seperti:

  1. Raspberry Pi (saya menggunakan Raspi 3 B)
  2. Smartphone Android
  3. PC untuk memprogram Aplikasi Android
  4. 3 buah LED
  5. 4 pcs kabel jumper male-female
  6. 2 pcs kabel jumper male-male

Rangkaian Alat

Rangkaian LED pada Raspberry Pi
Rangkaian LED pada Raspberry Pi
Source: www.instructables.com oleh Laurens-Wuyts

> Pin 9 (GND) terhubung ke semua led (Pin ke 5 dari kanan)

> Pin 11 terhubung ke LED1 (Pin ke 6dari kanan)

> Pin 13 terhubung ke LED2 (Pin ke 7dari kanan)

> Pin 15 terhubung ke LED3 (Pin ke 8dari kanan)

Yang dibutuhkan untuk Raspberry Pi

Di dalam Raspberry Pi, pastikan kamu sudah menginstall Wiring Pi dan apache2 beserta PHP5

Wiring Pi digunakan untuk mengontrol Pin dari halaman PHP.

Untuk cek apakah sudah ada Wiring Pi atau belum kamu bisa lakukan perintah di Terminal Raspberry Pi:

gpio -v

Jika belum, lakukan penginstalan dengan perintah:

sudo apt-get install wiringpi

Tutorial lengkap untuk instalasi Wiring Pi bisa kamu dapatkan disini.

Lalu pastikan juga kamu memiliki apache2 dan PHP. Untuk menginstall apache2 bisa dengan melakukan perintah:

sudo apt install apache2 -y

Sedangkan untuk menginstall PHP:

sudo apt install php libapache2-mod-php -y

Membuat File index.php di Web Page Filesystem Raspberry Pi

Setelah Wiring Pi, Apache2 dan PHP5 sudah terdownload, hal yang perlu dilakukan adalah mengubah default web page filesystem Raspberry Pi di direktori /var/www/html. Secara default di dalam direktori /var/www/html terdapat file bernama index.html. Hapus file tersebut, dan buat file baru bernama index.php.

Di dalam file index.php, tambahkan kode berikut:

<?php 
exec("gpio mode 0 out");
exec("gpio mode 2 out");
exec("gpio mode 3 out");
if (isset($_GET['led1'])) {
if($_GET['led1'] == 1) {
exec("gpio write 0 1");
} else {
exec("gpio write 0 0");
}
}
if(isset($_GET['led2'])) {
if($_GET['led2'] == 1) {
exec("gpio write 2 1");
} else {
exec("gpio write 2 0");
}
}
if(isset($_GET['led3'])) {
if($_GET['led3'] == 1) {
exec("gpio write 3 1");
} else {
exec("gpio write 3 0");
}
}
?>

Membuat Aplikasi Android Sendiri Sebagai Kontrol Raspberry Pi

Untuk membuat aplikasi Android Native kamu bisa menggunakan Android Studio atau Intellij IDEA. Link download Android Studio ada disini dan Intellij IDEA ada disini. Tapi di tutorial ini saya hanya akan menggunakan Android Studio.

Buka Android Studio, pilih + Create New Project

Android Studio 4.1 Welcome Screen

Klik Empty Activity, lalu Next.

Create New Project Screen

Beri nama aplikasi, boleh bebas. Disini saya beri nama Raspi Kontroler. Untuk Package Name, tidak harus com.nmauludinam.raspikontroler ya! Secara default Package Name itu com.example.<nama aplikasi>. Untuk bagian example juga bebas diberi nama apa, tidak diubah juga tidak apa apa.

Location saya biarkan default dan untuk Language saya pilih Java.

Kosongkan saja centang untuk Use Legacy android.support libraries, lalu klik Finish.

Untuk membuat User Interface, lakukan perubahan pada file layout activity_main.xml file ini terletak di app/res/layout. Berikut isi dari file activity_main.xml:

Source Code activity_main.xml

Membuat Program Aplikasi

Setelah itu, ubah kode di dalam file MainActivity.java di app/java/<nama package>. Berikut isi program di dalam MainActivity.java:

Source Code MainActivity.java

Agar aplikasimu bisa mengakses jaringan lain, kamu perlu menambahkan Internet Permission ke dalam file AndroidManifest.xml. Kode nya simple:

<uses-permission android:name=”android.permission.INTERNET” />

Taruh kode tersebut di dalam Tag <manifest>, tepat di atas Tag <application>. Sehingga AndroidManifest.xml akan terlihat sebagai berikut:

Source Code AndroidManifest.xml

Setelah itu sambungkan perangkat Android ke PC, sehingga Aplikasi bisa di install dan di running.

Running Aplikasi ke Perangkat Android

Hasil Aplikasi dan Percobaan Kontrol LED

Tampilan UI Apliaksi

Tampilan terlihat sederhana karena ini hanya untuk percobaan pemahaman komunikasi Android Native-Raspberry Pi. Jika background aplikasi kamu terlihat berbeda (berwarna putih), itu karena perangkat saya menggunakan Night Mode (background menjadi warna hitam).

Hasil Percobaan Kontrol LED

Pada gambar LED3 terlihat mati. Hal itu terjadi karena untuk menghidupkannya tombol LED3 harus di sentuh. Saya tidak bisa menyentuh tombol LED3 ketika saya harus memfoto percobaan ini.

Kesimpulan

Sekian tutorial yang bisa saya tulis, saya harap tutorial ini telah menjelaskan sejelas-jelasnya. Tutorial ini hanya menyuguhkan praktek saja, untuk teori mengapa harus menggunakan kode ini atau kode itu, akan saya buat di story yang lain. Semoga tutorial ini bermanfaat :)

Jika kamu pikir story ini bermanfaat, ada baiknya untuk mengklik tombol claps. Claps yang kamu berikan membuat saya semakin bersemangat untuk terus menebarkan manfaat melalui story Medium. Terima kasih :)

Easyread

Easy read, easy understanding.

Nabilla Mahmud

Written by

IT Student whom going to be programmer. Seorang pemikir yang akan senang menyalurkan pikirannya melalui Medium. Happy reading :)

Easyread

Easyread

Easy read, easy understanding. A good writing is a writing that can be understood in easy ways

Nabilla Mahmud

Written by

IT Student whom going to be programmer. Seorang pemikir yang akan senang menyalurkan pikirannya melalui Medium. Happy reading :)

Easyread

Easyread

Easy read, easy understanding. A good writing is a writing that can be understood in easy ways

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store