Membuat API Suhu & Sensor Kuat di Raspberry Pi dengan Modul GY-91
Pelajari cara membuat API Flask yang dapat diandalkan di Raspberry Pi yang membaca suhu, tekanan, kelembaban, dan lebih banyak dari modul multi-sensor GY‑91. Panduan ini memandu Anda melalui penangkalan, pengaturan perangkat lunak, dan kode contoh yang dapat Anda sesuaikan untuk proyek Anda sendiri.
Sambungkan Sensor melalui GPIO
Papan GY‑91 menggunakan antarmuka I²C 4-pin. Sambungkan pin sebagai berikut:
- 3,3 V → Pin 1 (3V3POWER)
- GND → Pin 6 (GROUND)
- SCL → Pin 5 (I²C Clock)
- SDA → Pin 3 (I²C Data)
Lihat skematis GY‑91 untuk warna dan tata letak pin yang tepat.
Siapkan Dependensi Python
Instal Python 3 di Raspberry Pi Anda. Perintah berikut menginstal rilis 3.6.x terbaru dari sumber, memastikan Anda memiliki semua library yang diperlukan untuk library sensor yang akan diikuti.
$ sudo apt-get update
$ sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev
$ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
$ tar xf Python-3.6.5.tar.xz
$ cd Python-3.6.5
$ ./configure
$ make
$ sudo make altinstall
Selanjutnya, instal tumpukan web ringan yang akan Anda gunakan untuk mengekspos data sensor:
$ pip3 install flask flask-cors flask-restful
Kode Contoh
Clone repositori siap pakai yang berisi kerangka API Flask minimal dan pembungkus sensor.
$ git clone https://gist.github.com/wdelenclos/4f0c4b8d564aa5c58f47653fd184eaa7
Inti program menarik data dari driver bme280, yang berkomunikasi dengan chip MPU9250 dan BMP280 pada papan GY‑91. Satu baris mengambil semua pembacaan yang relevan:
temperature, pressure, humidity = bme280.readBME280All()
Semua rute lainnya adalah handler Flask standar yang mengembalikan nilai sensor terbaru sebagai JSON.
Jalankan API
Mulai server secara lokal:
$ python3 app.py
Untuk menjaga layanan tetap berjalan di latar belakang, Anda dapat menggunakan:
$ sudo nohup python3 app.py &
Demo
Setelah meluncurkan, kunjungi https://your‑pi‑ip:5000/status untuk melihat payload JSON langsung dari pembacaan sensor. Contoh di halaman asli menunjukkan cara mengambil endpoint ini dengan Ajax dan menampilkannya pada dasbor web.
Jangan ragu untuk meminta penjelasan atau kustomisasi tambahan di komentar.
Sumber: Environmental sensor API with a RPi