Delapan tahun memakai Raspberry Pi

Raspberry Pi adalah komputer mini, atau istilah resminya: Single Board Computer (SBC). Raspberry Pi ukurannya kecil, bisa dihubungkan dengan keyboard dan monitor untuk menggantikan PC, atau bisa juga digunakan untuk mengendalikan robot serta otomasi lain. Harganya relatif murah, mulai dari 5 USD untuk Raspberry Pi Zero, 35 USD untuk Raspberry Pi standard terbaru, dan 70 USD untuk Raspberry Pi 4 versi 8 GB.

Beberapa hari lalu Raspberry Pi 4 dengan RAM 8GB dirilis, saya jadi ingat bahwa saya sudah memakai Raspberry Pi sejak sekitar 8 tahun yang lalu. Di posting ini saya ingin menuliskan berbagai oprekan yang pernah saya lakukan dengan Raspberry Pi dari dulu sampai sekarang.

Pertengahan tahun 2015 saya pernah menuliskan berbagai hal yang saya lakukan dengan Raspberry Pi saya. Posting ini adalah rangkuman pemakaian sejak Raspberry Pi pertama, dan sekaligus update untuk posting lama tersebut (dulu hanya sampai Raspberry Pi 2).

Raspberry Pi 1 (2012)

Saya membeli Raspbery Pi pertama saya Desember 2012, waktu itu modelnya Raspberry Pi 1B. Raspberry Pi ini sangat menarik karena saya bisa dengan mudah bereksperimen, baik itu software (Linux dan berbagai OS lain) dan juga hardware (dengan General Purpose Input Output/GPIO). Karena sangat puas, pada April 2013 saya membeli dua lagi Raspberry Pi 1B. Inilah awal saya memiliki banyak Raspberry Pi.

Raspberry Pi pertama yang saya terima

Banyak OS alternatif tidak punya sumberdaya orang yang banyak seperti Linux untuk membuat driver, sehingga jumlah driver yang ada untuk OS tersebut terbatas. Hasilnya: berbagai OS alternatif ini jadi sulit dijalankan di berbagai PC karena hardware PC sangat beraneka ragam, jadinya kebanyakan OS alternatif hanya jalan di emulator. Karena Raspberry Pi ini cukup populer dan hardwarenya sudah pasti sama, jadi banyak OS alternatif yang diport ke Raspberry Pi dan bisa dinikmati di hardware beneran, bukan hanya sekedar di emulator.

Continue reading “Delapan tahun memakai Raspberry Pi”

Serba-serbi editor teks

Pekerjaan saya adalah programmer, dan kira-kira 90% waktu saya habiskan untuk mengedit teks, jadi wajar kalau saya ingin memakai editor terbaik. Sekitar 10 tahun yang lalu saya menulis bahwa saya hampir 100% memakai Emacs, tapi setelah itu saya mulai berganti-ganti editor walau editor utama saya tetap Emacs.

Sampai sekarang tidak ada satu editor yang cocok untuk semua hal, jadi akhirnya saya memakai dan menginstall banyak editor teks dan IDE (integrated development environment) untuk berbagai tujuan. Seringkali bermain-main dengan editor dan IDE ini saya jadikan pengisi waktu luang kalau sedang ingin membuang waktu.

Sekarang ini kombinasi Editor teks dan IDE yang saya pakai:

  • Emacs sebagai editor utama
  • Vim untuk editing cepat di sistem remote
  • Ultraedit untuk membuka file teks yang sangat besar
  • Intellij untuk refactoring Python
  • VSCode untuk platformio dan remote editing
  • Visual Studio untuk C# di Windows
  • Netbeans untuk membuat GUI Java dengan cepat

Saya tuliskan dulu apa sih fitur-fitur yang saya pakai, lalu saya sebutkan kapan saya memakai editor atau IDE di atas.

Continue reading “Serba-serbi editor teks”

Lampu Pohon Natal yang bisa diprogram

Ini sebenarnya proyek yang saya lakukan tahun 2016, tapi setelah saya posting foto pohon Natal tahun ini dan membaca komentar di Bu Inge, sepertinya proyek kecil ini menarik juga untuk dituliskan. Ini bisa digunakan untuk mengajar pemrograman dan hardware.

Saya akan berusaha memberikan petunjuk generik, supaya bisa dipakai di aneka LED strip dengan aneka microcontroller, dan aneka bahasa pemrograman

Hardware yang dibutuhkan:

  • RGB LED Strip (individually addressable)
  • Power supply (opsional, tergantung seberapa banyak LED-nya)
  • Board microcontroller

LED Strip

Ada beberapa jenis LED Strip, yang kita cari adalah yang RGB (jangan yang satu warna) dan harus bisa dikontrol per LED-nya (individually addressable).

LED Strip ketika masih digulung

Jenis yang paling murah adalah WS2812/WS2812B. Versi yang B memiliki proteksi jika salah polaritas (terbalik positif dan negatif), jadi untuk belajar saya sarankan memakai versi B. Harganya mulai dari 1.3 USD untuk 30 LED dalam strip sepanjang 1 meter. Ada juga versi yang anti air (rating IP67 jika ingin dipasang di luar rumah). Versi lain adalah APA102/APA109B, harganya lebih mahal tapi warnanya lebih bagus. Berbagai jenis LED ini bisa dibaca di artikel Hackaday ini.

Continue reading “Lampu Pohon Natal yang bisa diprogram”

PocketChip, PocketGo, dan Pinebook Pro

Posting ini sekedar catatan beberapa benda yang baru saya dapatkan supaya tidak lupa di masa depan. Kebetulan semuanya berawalan huruf P. Hanya Pinebook Pro yang merupakan benda yang benar-benar baru karena hasil preorder, sedangkan yang lain sudah ada lama di pasaran.

PocketChip

PocketChip adalah komputer saku berbasis Single Board Computer CHIP (dulu pernah saya bahas tiga tahun yang lalu). Benda ini memiliki layar, keyboard dan batere, jadi bisa dibawa ke mana-mana. Keyboardnya fungsional tapi kurang nyaman untuk mengetik banyak teks.

PocketChip ini sudah tidak diproduksi lagi tapi baru saya beli baru-baru ini. Saya sudah ingin membeli waktu benda ini diproduksi, tapi masih ragu kegunaannya, tapi kemudian benda ini hanya bisa dipesan ke negara tertentu, dan setelah itu tiba-tiba perusahaan pembuatnya (NextThing Co) bubar. Setelah NextThing Co bubar, sisa benda ini jadi banyak dijual di ebay dan Aliexpress.

Continue reading “PocketChip, PocketGo, dan Pinebook Pro”

Merakit dan Mengupgrade PC

Kebanyakan teman seangkatan saya sudah jarang yang merakit PC. Bahkan kalau dipikir-pikir yang memakai PC (di rumah, bukan di kantor) juga semakin sedikit, kebanyakan hanya punya laptop saja. Saya sendiri sampai saat ini merasa lebih nyaman bekerja di PC yang cepat dengan layar besar dan keyboard mekanis.

Sekarang saya memesan berbagai komponen PC dari jib.co.th atau kadang beli offline jika kebetulan barang yang hendak dibeli tersedia di toko JIB di Airport Plaza. Jika membeli online prosesnya sangat mudah dan cepat. Setelah selesai membayar, barang akan segera dipack, dan saya akan dikirimi URL video pengepakannya. Sayangnya karena jauh dari Bangkok, jadi tetap butuh 2 hari sampai barangnya diterima di Chiang Mai.

Sebenarnya saya mulai malas membongkar PC, memasang komponen baru, mengetes, setting BIOS, memindahkan sistem operasi dsb, tapi saya lebih malas lagi dengan berbagai alternatifnya. Beberapa alternatifnya adalah:

  • membawa semua ke toko, memberi instruksi dan menunggu sampai semua selesai, pulang ke rumah (capek, tetap harus memasang ulang kabel), perlu memberi tahu password ke teknisi (atau membantu mengisi password setiap kali dibutuhkan)
  • membeli komputer baru yang lebih baik (tetap harus memindahkan data/program ke komputer baru)
  • mendatangkan teknisi: saya nggak akan sabar memberi tahu apa yang harus dilakukan, memberi tahu password, dsb
Continue reading “Merakit dan Mengupgrade PC”

MAIX GO: AIOT Board

Di jaman Artificial Intelligence (AI) dan Internert of Things (IOT), ada beberapa perusahaan yang berusaha menggabungkan keduanya menjadi AIOT (Artificial Intelligence of Things). Salah satunya adalah Sipeed dari China. Perusahaan ini mengembangkan teknologinya berdasarkan instruction set RISC-V (baca: Risk Five) yang sifatnya terbuka. Jika saat ini Intel dan ARM masih menguasai dunia, di masa depan ada kemungkinan RISC-V yang akan jaya.

Sipeed sudah membuat cukup banyak produk, baik chip SOC dengan neural accelerator maupun board-board pendukungnya. Salah satu produk mereka adalah MAIX GO. MAIX GO ini memakai SOC Kendryte K210 dengan instruction set RISC-V 64 Bit dan memiliki accelerator untuk Fast Fourier Transform dan CNN (Convolutional Neural Network). Dengan adanya accelerator tersebut, SOC ini sangat cocok untuk memproses gambar dan suara. Menurut dokumentasinya, jika ukuran model kita kecil (<5.9 Mb fixed point 8-16 bit) maka pemrosesan image real time bisa dilakukan (~30 fps).

Continue reading “MAIX GO: AIOT Board”

ESP32

Beberapa tahun lalu saya menulis mengenai ESP8266, sebuah microchip Wifi yang sangat populer dari China. Karena ESP8266 yang sangat terkenal, mereka mengundang hacker-hacker dari berbagai negara untuk bekerja di perusahaan mereka untuk produk berikutnya: ESP32.

ESP32 merupakan versi lebih baik dari ESP8266, hampir dari semua segi:

  • CPU lebih cepat, dual core
  • Selain mendukung WIFI juga mendukung Bluetooth Low Energy (BLE)
  • RAM lebih besar
  • I/O lebih banyak, mendukung CAN bus
  • Memiliki sensor temperatur dan Hal effect sensor internal

Sebenarnya ESP32 ini sudah diluncurkan agak lama, tapi dulu masih banyak masalah sehingga masih kurang cocok buat pemula. Ketika dilaunch:

  • Bug silikon yang baru diperbaiki di hardware versi berikutnya
  • Arduino IDE belum mendukung ESP32
  • Porting Python dan Lua belum sempurna

Tapi sekarang statusnya sudah berubah:

  • Hardware yang baru jumlah bugnya sudah sedikit
  • Arduino sudah mendukung ESp32
  • MicroPython dan Lua sudah disupport dengan baik

Sebagai informasi: ESP32 memiliki interpreter BASIC built ini di dalam silikonnya, jadi andaikan belum menginstall compiler atau interpreter apapun, kita sudah bisa mengetes beberapa hal dengan menggunakan BASIC. Seperti BASIC di BIOS jaman IBM PC XT dulu, programnya tidak bisa disimpan.

Dari segi harga, saat ini sebagian board ESP32 sudah di bawah 5 USD (harga sudah termasuk ongkos kirim). Sementara harga ESP8266 paling murah saat ini bisa kurang dari 2 USD. Dari segi harga, untuk proyek yang tidak butuh fitur ESP32, memakai ESP8266 masih lebih baik.

Saya sendiri masih lebih suka langsung memakai esp-idf (ESP IOT Development Framework) dibanding memakai teknologi lain. Saya juga belum banyak membuat program dengan ESP32. Saat ini program besar yang saya publish hanya emulator Pokemon Go Plus yang memakai fitur BLE.

Ketika harganya masih mahal (awalnya sampai 20an USD), memakai ESP32 masih terasa kurang pas karena harganya lebih mahal dibandingkan solusi lain misalnya Orang Pi Zero hanya sekitar 10 USD (dan bisa beli banyak), Raspberry Pi Zero lebih murah lagi tapi hanya boleh satu item setiap kali membeli. Setelah harganya cukup rendah (bahkan sudah bersaing dengan ESP8266) sepertinya sudah saatnya memakai ESP32 di lebih banyak project.