Categories
App Code

Komputer Kecil Edukasi micro:bit

Didesain untuk tujuan edukasi, micro:bit adalah komputer kecil yang dapat diprogram, membuat kamu dapat berkreasi dengan teknologi digital. Perangkat ini dikembangkan dengan tujuan untuk belajar dan mengajarkan kode komputer menjadi lebih mudah dan menyenangkan. Mendorong anak-anak untuk terlibat dalam memprogram komputer, elektronik dan pembuatan perangkat secara umum.

Di negara asalnya, BBC memberikan sampai dengan 10 juta perangkat micro:bit secara cuma-cuma kepada anak-anak usia 11 dan 12 tahun di Inggris. Bagian dari program “BBC Make It Digital” sebagai upaya untuk mengantisipasi “kesenjangan keterampilan” dalam pertumbuhan ekonomi digital negara itu. Untuk adopsi ke suluruh dunia, BBC menyerahkan micro:bit ke tangan Microbit Education Foundation, dan kini micro:bit sudah tersedia secara komersial, termasuk sudah dijual di marketplace Indonesia.

Bentuk Fisik micro:bit

Dengan ukuran fisik berukuran setengah kartu kredit, tampilan depan micro:bit dilengkapi dengan display berupa 25 LED beserta 2 tombol kiri dan kanan yang dapat dikonfigurasi.

tampilan depan micro:bit (sumber: microbit:org)

Di dalamnya terdapat akselerometer untuk deteksi gerakan dan mengetahui kapan melakukan gerak. Tertanam kompas untuk mengetahui ke arah mana yang dituju. Terdapat pula bluetooth dan berbagai koneksi untuk menghubungkannya ke lebih banyak sensor.

tampilan belakang micro:bit (sumber: microbit.org)

Memprogram micro:bit

Ada dua editor yang digunakan untuk mengkode micro:bit, yaitu MakeCode Editor dan Python Editor. MakeCode Editor memprogram secara visual dalam bentuk blok-blok (drag-and-drop blocks) dan kode ditulis dalam bahasa pemprograman JavaScript. Sedangkan dengan Python Editor dapat menulis kode menggunakan bahasa pemprograman populer Python.

MakeCode Editor dapat digunakan dengan mengunjungi alamat https://makecode.microbit.org, lalu buat project baru dengan mengklik “+ new project”. Pilih “Basic”, kemudian “Show string” untuk menampilkan kata / kalimat yang akan muncul di layar LED. Seret dan jatuhkan di blok “Forever” agar kata / kalimat tersebut muncul terus menerus, dan masukkan kalimat “HALO, TEMAN!”. Tambahkan “Show Icon” untuk menampilkan gambar-gambar seperti icon hati, tempatkan di bagian bawah “Show String”.

Klik icon “Play” untuk menjalankan kode langsung di editor, dan klik “Download” untuk memasukkan program ke dalam micro:bit. File yang didownload mempunyai ekstensi .hex (misalkan microbit.hex), file yang berisikan program ini nantinya akan berjalan di atas micro:bit.

Hubungkan micro:bit ke komputer dengan menggunakan kabel USB. Di komputer, micro:bit akan dikenali sebagai USB Drive dengan label “MICROBIT”. Salin file .hex tersebut ke USB Drive MICROBIT, di Windows bisa dilakukan juga dengan cara “Send To→MICROBIT”

Untuk memprogram menggunakan Python Editor dapat dilakukan dengan mengunjungi alamat https://python.microbit.org. Tuliskan kode-kode Python di dalam editor, dan klik tombol “Download” untuk memasukkan ke dalam micro:bit.

mikro:bit akan berhenti sebentar dan LED kuning di belakang akan berkedip saat kode diprogram. Setelah selesai kode akan berjalan secara otomatis!

Hal keren apa yang akan kamu buat? micro:bit dapat merespons tombol, cahaya, gerakan, dan suhu. Perangkat ini bahkan dapat mengirim pesan secara nirkabel ke mikro:bit lain menggunakan fitur ‘Radio’ loh!

Untuk pengajar, kamu bisa menggunakan micro:bit untuk mengajar di sekolah dengan sumber daya yang bisa diperoleh di https://microbit.org/teach/

Categories
App Tech

Membuat Server Aplikasi dengan ARM Linux

Salah satu keunggulan komputer dengan prosesor ARM, seperti Raspberry Pi, adalah desain yang sederhana membuat prosesor ARM cocok untuk aplikasi berdaya rendah. Kemampuan ini bisa dimanfaatkan sebagai server aplikasi yang dijalankan 24 jam dengan daya listrik yang rendah namun handal menjalankan aplikasi-aplikasi server.

Kini beredar ratusan seri komputer singleboard ditenagai prosesor ARM dengan berbagai variasi dan harga yang terjangkau. Sebuah komputer singleboard merupakan perangkat komputer yang dibangun pada board / papan sirkuit tunggal lengkap dengan mikroprosesor, memori, input/output (I/O) dan fitur-fitur lainnya yang dibutuhkan untuk komputer dapat berfungsi.

Perbandingan berbagai seri komputer singleboard dapat ditemukan: https://en.wikipedia.org/wiki/Comparison_of_single-board_computers

Tujuan Membuat Server Aplikasi

Tujuan server aplikasi yang kita buat bisa beragam, tergantung dari kebutuhan. Kamu bisa menjalankan aplikasi web, baik aplikasi kustom maupun yang sudah tersedia seperti WordPress. Bisa juga membuat server database yang dapat diakses di jaringan lokal, REST API yang dipakai di berbagai aplikasi dan berbagai tujuan lainnya, kamu yang menentukan!

Pada tulisan ini kita akan membuat server aplikasi web yang dijalankan di Linux, lengkap web server dengan NGINX, server database dengan MySQL dan pemprograman aplikasi dengan PHP, atau lebih dikenal dengan LEMP.

Pilih Sistem Operasi

Setiap vendor / maker menyertakan sistem operasi yang dapat berjalan pada SBC tersebut. Sistem operasi tersebut kebanyakan Linux dan Android. Sistem operasi Linux untuk ARM yang akan digunakan sebagai komputer server, kamu bisa menggunakan Armbian yang mendukung banyak perangkat, panduannya dapat dilihat tulisan sebelumnya: Armbian Untuk Komputer Single-Board / Development Board.

Pastikan sistem selalu diperbaharui agar selalu mendapatkan berbagai software terbaru dan tambalan keamanan sistem. Update sistem operasi berbasis Ubuntu / Debian, dapat dilakukan dengan perintah:

sudo apt update && sudo apt upgrade

Konfigurasi Jaringan

Karena komputer singleboard kali ini diperuntukkan sebagai server aplikasi, akses ke dalamnya pun dilakukan sepenuhnya remote melalui jaringan. Pastikan perangkat secara fisik telah terhubung ke jaringan dan lakukan konfigurasi IP.

Sistem operasi berbasis Ubuntu / Debian menggunakan file /etc/network/interfaces untuk konfigurasi jaringan. Berikan IP statis pada perangkat agar dapat diakses permanen menggunakan IP yang sama. Secara default, IP perangkat diatur dinamis dengan konfigurasi berikut:

auto eth0
iface eth0 inet dhcp

Berikan IP statis sesuai dengan setingan jaringan masing-masing. Berikut contoh menggunakan IP statis 192.168.1.2:

auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1

Nyalakan ulang perangkat atau lakukan restart service networking dengan perintah berikut:

sudo systemctl restart networking

Menggunakan Aplikasi Server Terbaru

Selain sistem yang selalu update, kita juga perlu menggunakan rilis aplikasi server terbaru yang tidak didukung oleh repositori sistem.

Sebagai contoh repositori Ubuntu 16.04 hanya mendukung PHP 5.6, sedangkan aplikasi membutuhkan PHP 7.3 terbaru. Kamu dapat mengintal paket PHP terbaru dengan menambahkan repositori independen ke sistem.

Instal paket berikut untuk menggunakan sumber repositori independen:

sudo apt install python-software-properties

Pada tulisan ini, kita akan menggunakan NGINX dan PHP terbaru dengan menggunakan perintah berikut:

sudo add-apt-repository ppa:ondrej/nginx-mainline
sudo add-apt-repository ppa:ondrej/php

Terakhir, lakukan update repositori sistem dengan perintah berikut:

sudo apt update

Kamu dapat menambahkan repositori aplikasi secara mandiri lain dengan mengikuti langkah di atas. Pastikan repositori tersebut mendukung arsitektur ARM yang dipakai oleh sistem operasi.

Server Web dengan NGINX

Aplikasi remote sekarang ini banyak diakses melalui HTTP (Hypertext Transfer Protocol) atau yang kita kenal dengan Web. Untuk dapat mengakses aplikasi berbasis web, kita butuh memasang aplikasi server web. Apache adalah aplikasi server web yang populer, tapi kita akan menggunakan NGINX karena lebih ringan dalam penggunaan resource dan tak kalah handal dibandingkan Apache.

Berikut perintah untuk menginstal NGINX:

sudo apt install nginx

Setelah selesai instalasi, cek NGINX dengan perintah berikut:

$ nginx -v
nginx version: nginx/1.17.0

Buka browser dan arahkan ke perangkat untuk memastikan web server sudah berjalan.

Server Database MySQL

Server aplikasi lain yang butuh dipasang adalah server aplikasi database. Ada beberapa pilihan aplikasi server database yang dapat kamu gunakan, yang paling popular di antaranya MySQL dan PostgreSQL. Di sini kita akan menggunakan MySQL.

Instal MySQL dengan perintah sebagai berikut:

sudo apt install mysql-server

Atur password root saat proses instalasi berlangsung. Akses server MySQL dengan aplikasi klien berikut:

$ mysql -u root -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Server version: 5.7.27-0ubuntu0.16.04.1 (Ubuntu)

mysql> 

Atur konfigurasi MySQL agar dapat diakses remote dengan menambahkan baris berikut di file /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 0.0.0.0

Lakukan restart service mysql dengan perintah berikut:

sudo systemctl restart mysql

Akses klien dari komputer berbeda dengan perintah berikut:

mysql -h 192.168.1.2 -u root -p

Gunakan MySQL Workbench untuk memudahkan mengatur database.

Aplikasi klien MySQL berbasis grafis, dapat diunduh dari https://www.mysql.com/products/workbench/

Pemprograman Aplikasi dengan PHP

Terakhir adalah menginstal PHP untuk pemprograman aplikasi. Aplikasi tersebut diakses melalui web dan juga berfungsi sebagai interface / antar-muka untuk mengakses server database. Selain PHP, kamu juga dapat memilih pemprograman lain seperti Python.

Agar PHP dapat dipasangkan ke NGINX, kita akan menggunakan PHP FPM (Fast Process Manager). Berikut instalasi paket php-fpm:

sudo apt install php7.3-fpm

Lakukan modifikasi di file /etc/nginx/sites-available/default agar aplikasi PHP dapat dijalankan melalui NGINX:

server {
  # ...
  index index.php index.html;

  location / {
    try_files $uri $uri/ =404;
  }

  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.3-fpm.sock;
  }
  # ...
}

Lakukan restart service NGINX sebagai berikut:

sudo systemctl restart nginx

Buat file /var/www/html/index.php, tuliskan skrip singkat di bawah, kemudian jalankan melalui web browser untuk mengetahui semua telah berjalan.

<?php
echo "<h1><center>PHP App!</center></h1>";

PHP menyediakan banyak ekstensi yang dapat diaktifkan sesuai dengan kebutuhan. Ekstensi esensial seperti php-mysql untuk berinteraksi dengan MySQL, php-gd untuk manipulasi grafis dinamis, php-curl untuk mengaktifkan cURL dan banyak lagi.

sudo apt install php7.3-mysql php7.3-gd php7.3-curl php7.3-mbstring php7.3-json php7.3-intl php7.3-sqlite3
Categories
App

Armbian untuk Komputer Single-Board / Development Board

Dapat dijalankan di 70+ board dari berbagai merek, Armbian berpengalaman 5 tahun sebagai Sistem Operasi Linux untuk ARM yang dijalankan di Komputer Single-Board (Single-Board Computer / SBC). Jika kamu sedang mengerjakan proyek IoT, pengembangan perangkat embedded, mobile atau single-board, Armbian bisa menjadi pilihan yang tepat.

Berbasiskan Debian membuat Armbian cocok digunakan untuk kebutuhan server. Selain itu, dengan mengusung dekstop XFCE yang ringan, Armbian bisa dijadikan sistem operasi untuk desktop. Pasang minimal Debian / Ubuntu dan biarkan bekerja sebagai server, atau sambungkan board ke monitor atau modul lcd display, dengan tampilan ringan tapi elegan desktop XFCE cocok untuk kebutuhan komputer desktop.

Unduh Armbian

Kunjungi https://www.armbian.com/download/, pilih board yang akan menjalankan Armbian dan tentukan image Linux yang diinginkan, Debian atau Ubuntu dan CLI atau desktop.

Siapkan SD Card

Pastikan kamu memilih SD Card yang bagus, handal dan cepat. Sistem operasi Armbian akan berjalan stabil ketika performa tulis dan baca (write and read) dari SD Card tersebut bagus. Berikut adalah beberapa rekomendasi SD Card:

  • Samsung 16 GB up to 48MB/s EVO Class 10 Micro SDHC
  • Transcend 16 GB MicroSDHC Class 10 UHS-I Memory card
  • SanDisk Extreme PRO 16GB UHS-I/U3 Micro SDHC

Lakukan flash image OS yang telah diunduh sebelumnya menggunakan Etcher, aplikasi bisa diunduh melalui link https://etcher.io/.

Jalankan Board

Masukkan SD card ke dalam slot dan nyalakan board. Boot pertama memakan waktu sampai dengan 30 detik tergantung dari SD card dan kecepatan board.

Sambungkan tampilan melalui HDMI, serial console atau SSH, masukkan password root 1234. Ganti password bawaan tersebut dan buat pengguna biasa dengan akses sudo.

Siap!

Tergantung dari image yang diunduh, kamu akan masuk ke desktop XFCE atau CLI. Update paket-paket Debian dengan perintah:

sudo apt-get update
sudo apt-get upgrade

Untuk konfigurasi board, gunakan utilitas armbian-config:

sudo armbian-config