Skip to content

Menghubungkan Raspberry Pi ke Cloud AWS IoT Core dalam 30 Menit

Membawa Proyek IoT Anda ke Skala Enterprise

Menghubungkan Raspberry Pi ke cloud adalah langkah krusial untuk membuat sistem yang bisa diakses dari mana saja. AWS IoT Core adalah platform yang sangat aman dan andal untuk mengelola jutaan perangkat. Dalam 30 menit ke depan, kita akan mengatur agar Raspberry Pi Anda bisa mengirimkan data ke dashboard AWS.

Persiapan Awal

  1. Raspberry Pi dengan OS terpasang (Lite atau Desktop).
  2. Akun AWS (Free Tier cukup).
  3. Koneksi internet yang stabil.

Langkah 1: Registrasi Perangkat di AWS Console

Masuk ke konsol AWS dan cari layanan IoT Core. Di sana, kita perlu membuat ‘Thing’:

  • Pilih Manage > Things > Create things.
  • Beri nama perangkat Anda (misal: MyRaspberryPi).
  • Pada bagian sertifikat, pilih Auto-generate a new certificate.
  • Penting: Unduh semua file sertifikat yang diberikan (Device Certificate, Private Key, dan Root CA). Simpan di folder aman di Raspberry Pi Anda.

Langkah 2: Instalasi AWS IoT SDK di Raspberry Pi

Buka terminal di Raspberry Pi Anda dan jalankan perintah berikut untuk menginstal pustaka yang dibutuhkan:

pip install awsiotsdk

Langkah 3: Menjalankan Skrip Pengiriman Data (MQTT)

Berikut adalah contoh kode Python sederhana untuk mengirim data sensor (atau data testing) ke AWS IoT Core:

import time
from awscrt import mqtt
from awsiot import mqtt_connection_builder

# Masukkan endpoint AWS Anda di sini
ENDPOINT = "your-endpoint.iot.region.amazonaws.com"
CLIENT_ID = "MyRaspberryPi"
PATH_TO_CERT = "cert.pem.crt"
PATH_TO_KEY = "private.pem.key"
PATH_TO_ROOT = "root-CA.crt"

mqtt_connection = mqtt_connection_builder.mtls_from_path(
    endpoint=ENDPOINT,
    cert_filepath=PATH_TO_CERT,
    pri_key_filepath=PATH_TO_KEY,
    ca_filepath=PATH_TO_ROOT,
    client_id=CLIENT_ID,
    clean_session=False,
    keep_alive_secs=30)

print("Menghubungkan ke AWS...")
connect_future = mqtt_connection.connect()
connect_future.result()

while True:
    message = "{'suhu': 25, 'status': 'OK'}"
    mqtt_connection.publish(topic="sdk/test/python", payload=message, qos=mqtt.QoS.AT_LEAST_ONCE)
    print("Data terkirim!")
    time.sleep(5)

Kesimpulan

Setelah berhasil terhubung, Anda bisa melihat data yang masuk melalui MQTT Test Client di konsol AWS. Langkah selanjutnya adalah menghubungkan data ini ke layanan AWS lainnya seperti Lambda atau DynamoDB untuk pengolahan lebih lanjut.