Meningkatkan Kinerja Raspberry Pi dengan HAT


Salah satu hal yang begitu diandalkan dari Raspberry Pi ialah kemampuannya untuk terhubung dengan berbagai physical hardware melalui GPIO (General Purpose Input/Output) connector. Ada begitu banyak pengembang third party add-on board yang dapat dipasangkan pada Raspberry Pi guna menambah kinerja dan fungsinya, seperti motor controller, LED, button, sensor, microcontroller, LCD, ADC, dan juga DAC.
Pada Raspberry Pi model A dan B, terdapat 26 pin GPIO connector. User memasang add-board pada model A atau B yang biasanya harus menangani driver mana saja yang diperlukan oleh board tersebut, dan kemudian mengatur berkas Linux yang relevant agar dapat dimuat pada saat boot time sebelum board tersebut dapat digunakan, atau memuatnya secara manual memalui command line.
Pada awalnya Raspberry Pi tidak memiliki kemampuan untuk mengetahui apakah ada atau tidak board yang terpasang, dan berbagai driver yang ada, ketika memuat, secara langsung akan menganggap bahwa GPIO dapat digunakan oleh mereka sendiri. Dalam banyak peristiwa hal tersebut dapat bekerja dengan baik, namun hal ini dapat menjadi sedikit tricky bagi para user yang masih baru. Driver pada Linux secara buta menganggap bahwa pin GPIO selalu tersedia yang terkadang akan membuat beberapa kebingungan.

<img src="raspberry_hat.png" alt="raspberry_hat.png">


Raspberry Pi B+ telah dirancang secara specific untuk dapat terintegrasi dengan add-on boards yang disebut dengan HAT. Bayangkan Raspberry Pi menggunakan topi (HAT) yang membuat kinerjanya menjadi lebih baik. Hardware Attached on Top (HAT) merupakan sebuah add-on board untuk Raspberry Pi yang telah memenuhi beberapa syarat, yang akan meningkatkan kinerjanya. Satu feature yang begitu significant dari HAT adalah kemampuannya untuk membuat Raspberry Pi mengenali HAT yang terpasang dan dengan sendirinya mengatur konfigurasi GPIO dan driver pada board tersebut, sangat praktis dan memudahkan bagi para user baru.
Secara sederhana sebuah HAT merupakan sebuah board persegi berukuran 65x56mm, yang memiliki empat buah lubang yang memudahkannya untuk terpasang dengan Raspberry Pi. HAT akan mulai bekerja dengan sendirinya begitu terpasang, dalam hal ini Raspberry Pi dapat melakukannya dengan menggunakan dua buah pin GPIO yakni, ID_SD dan ID_SC, pin nomor 27 dan 28. Kedua pin tersebut telah diatur untuk terhubung dengan chip EEPROM (Electrically Erasable Programmable Read-Only Memory) yang ada pada HAT. Chip EEPROM memuat berkas .dtf, yang merupakan ‘device tree’, yang harus ada pada HAT. Pada saat sebuah HAT terpasang dengan dengan Raspberry Pi, maka Pi akan dapat langsung mengenalinya, dengan membaca berkas .dtf tersebut, dan selanjutnya mengenali fungsi hardware yang terpasang. Raspbian (operating system) selanjutnya akan memuat semua driver yang diperlukan oleh hardware dengan sendirinya, melakukan set up pada pin GPIO berdasarkan hal tersebut, hingga akhirnya HAT siap untuk digunakan.
Sebuah HAT harus memiliki EEPROM yang memuat rincian informasi hardware yang terpasang pada board tersebut. Hal ini memungkinkan Rapberry Pi untuk mengenali dan terhubung dengan HAT dan melakukan penyesuaian GPIO dan driver dengan sendirinya pada board. HAT pertama kali diperkenalkan pada saat peluncuran Raspberry Pi model B+ pada tahun 2014. Sejak saat itu, sudah berkembang berbagai macam HAT yang unik dan menarik, semisal saja theUnicorn HAT, Piano HAT, Sense HAT, dan juga Explorer HAT.