Connect Raspberry Pi atau perangkat lain - AWS IoT Core

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Connect Raspberry Pi atau perangkat lain

Di bagian ini, kita akan mengkonfigurasi Raspberry Pi untuk digunakan dengan AWS IoT. Jika Anda memiliki perangkat lain yang ingin Anda sambungkan, petunjuk untuk Raspberry Pi menyertakan referensi yang dapat membantu Anda menyesuaikan instruksi ini ke perangkat Anda.

Ini biasanya memakan waktu sekitar 20 menit, tetapi bisa memakan waktu lebih lama jika Anda memiliki banyak peningkatan perangkat lunak sistem untuk diinstal.

penting

Menyesuaikan instruksi ini ke perangkat dan sistem operasi lain dapat menjadi tantangan. Anda harus memahami perangkat Anda dengan cukup baik untuk dapat menafsirkan instruksi ini dan menerapkannya ke perangkat Anda.

Jika Anda mengalami kesulitan saat mengonfigurasi perangkat AWS IoT, Anda dapat mencoba salah satu opsi perangkat lain sebagai alternatif, seperti Buat perangkat virtual dengan Amazon EC2 atauGunakan Windows atau Linux PC atau Mac sebagai AWS IoT perangkat.

Siapkan perangkat Anda

Tujuan dari langkah ini adalah untuk mengumpulkan apa yang Anda perlukan untuk mengkonfigurasi perangkat Anda sehingga dapat memulai sistem operasi (OS), terhubung ke internet, dan memungkinkan Anda untuk berinteraksi dengannya di antarmuka baris perintah.

Untuk menyelesaikan tutorial ini, Anda memerlukan hal berikut:

  • Sebuah Akun AWS. Jika Anda tidak memilikinya, selesaikan langkah-langkah yang dijelaskan Siapkan Anda Akun AWS sebelum Anda melanjutkan.

  • Raspberry Pi 3 Model B atau model yang lebih baru. Ini mungkin bekerja pada versi sebelumnya dari Raspberry Pi, tetapi mereka belum diuji.

  • Raspberry Pi OS (32-bit) atau yang lebih baru. Kami merekomendasikan menggunakan versi terbaru dari Raspberry Pi OS. Versi OS sebelumnya mungkin berfungsi, tetapi belum diuji.

    Untuk menjalankan contoh ini, Anda tidak perlu menginstal desktop dengan antarmuka pengguna grafis (GUI); Namun, jika Anda baru mengenal Raspberry Pi dan perangkat keras Raspberry Pi Anda mendukungnya, menggunakan desktop dengan GUI mungkin lebih mudah.

  • Ethernet atau WiFi koneksi.

  • Keyboard, mouse, monitor, kabel, catu daya, dan perangkat keras lain yang diperlukan oleh perangkat Anda.

penting

Sebelum Anda melanjutkan ke langkah berikutnya, perangkat Anda harus menginstal, mengkonfigurasi, dan menjalankan sistem operasinya. Perangkat harus terhubung ke internet dan Anda harus dapat mengakses perangkat dengan menggunakan antarmuka baris perintahnya. Akses baris perintah dapat melalui keyboard, mouse, dan monitor yang terhubung langsung, atau dengan menggunakan antarmuka jarak jauh terminal SSH.

Jika Anda menjalankan sistem operasi pada Raspberry Pi Anda yang memiliki antarmuka pengguna grafis (GUI), buka jendela terminal pada perangkat dan lakukan instruksi berikut di jendela itu. Jika tidak, jika Anda terhubung ke perangkat Anda dengan menggunakan terminal jarak jauh, seperti PuTTY, buka terminal jarak jauh ke perangkat Anda dan gunakan itu.

Instal alat dan pustaka yang diperlukan untuk AWS IoT Device SDK

Sebelum Anda menginstal SDK AWS IoT Perangkat dan kode sampel, pastikan sistem Anda mutakhir dan memiliki alat dan pustaka yang diperlukan untuk menginstal SDK.

  1. Perbarui sistem operasi dan instal perpustakaan yang diperlukan

    Sebelum Anda menginstal AWS IoT Device SDK, jalankan perintah ini di jendela terminal pada perangkat Anda untuk memperbarui sistem operasi dan menginstal pustaka yang diperlukan.

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install cmake
    sudo apt-get install libssl-dev
  2. Instal Git

    Jika sistem operasi perangkat Anda tidak disertakan dengan Git yang diinstal, Anda harus menginstalnya untuk menginstal AWS IoT Device SDK. JavaScript

    1. Uji untuk melihat apakah Git sudah diinstal dengan menjalankan perintah ini.

      git --version
    2. Jika perintah sebelumnya mengembalikan versi Git, Git sudah diinstal dan Anda dapat melompat ke Langkah 3.

    3. Jika kesalahan ditampilkan saat Anda menjalankan git perintah, instal Git dengan menjalankan perintah ini.

      sudo apt-get install git
    4. Uji lagi untuk melihat apakah Git diinstal dengan menjalankan perintah ini.

      git --version
    5. Jika Git diinstal, lanjutkan ke bagian berikutnya. Jika tidak, pecahkan masalah dan perbaiki kesalahan sebelum melanjutkan. Anda memerlukan Git untuk menginstal AWS IoT Device SDK untuk JavaScript.

Instal SDK AWS IoT Perangkat

Instal SDK AWS IoT Perangkat.

Python

Di bagian ini, Anda akan menginstal Python, alat pengembangannya, dan AWS IoT Device SDK untuk Python di perangkat Anda. Instruksi ini untuk Raspberry Pi yang menjalankan OS Raspberry Pi terbaru. Jika Anda memiliki perangkat lain atau menggunakan sistem operasi lain, Anda mungkin perlu menyesuaikan petunjuk ini untuk perangkat Anda.

  1. Instal Python dan alat pengembangannya

    AWS IoT Perangkat SDK untuk Python memerlukan Python v3.5 atau yang lebih baru untuk diinstal pada Raspberry Pi Anda.

    Di jendela terminal ke perangkat Anda, jalankan perintah ini.

    1. Jalankan perintah ini untuk menentukan versi Python yang diinstal pada perangkat Anda.

      python3 --version

      Jika Python diinstal, itu akan menampilkan versinya.

    2. Jika versi yang ditampilkan Python 3.5 atau lebih besar, Anda dapat melompat ke Langkah 2.

    3. Jika versi yang ditampilkan kurang dariPython 3.5, Anda dapat menginstal versi yang benar dengan menjalankan perintah ini.

      sudo apt install python3
    4. Jalankan perintah ini untuk mengonfirmasi bahwa versi Python yang benar sekarang diinstal.

      python3 --version
  2. Uji untuk pip3

    Di jendela terminal ke perangkat Anda, jalankan perintah ini.

    1. Jalankan perintah ini untuk melihat pip3 apakah sudah diinstal.

      pip3 --version
    2. Jika perintah mengembalikan nomor versi, pip3 diinstal dan Anda dapat melompat ke Langkah 3.

    3. Jika perintah sebelumnya mengembalikan kesalahan, jalankan perintah ini untuk menginstalpip3.

      sudo apt install python3-pip
    4. Jalankan perintah ini untuk melihat pip3 apakah sudah diinstal.

      pip3 --version
  3. Instal SDK AWS IoT Perangkat saat ini untuk Python

    Instal AWS IoT Device SDK untuk Python dan unduh contoh aplikasi ke perangkat Anda.

    Di perangkat Anda, jalankan perintah ini.

    cd ~ python3 -m pip install awsiotsdk
    git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
JavaScript

Di bagian ini, Anda akan menginstal Node.js, manajer paket npm, dan AWS IoT Device SDK untuk JavaScript di perangkat Anda. Instruksi ini untuk Raspberry Pi yang menjalankan Raspberry Pi OS. Jika Anda memiliki perangkat lain atau menggunakan sistem operasi lain, Anda mungkin perlu menyesuaikan petunjuk ini untuk perangkat Anda.

  1. Instal versi terbaru dari Node.js

    AWS IoT Perangkat SDK untuk JavaScript membutuhkan Node.js dan manajer paket npm untuk diinstal pada Raspberry Pi Anda.

    1. Unduh versi terbaru dari repositori Node dengan memasukkan perintah ini.

      cd ~ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
    2. Instal Node dan npm.

      sudo apt-get install -y nodejs
    3. Verifikasi instalasi Node.

      node -v

      Konfirmasikan bahwa perintah menampilkan versi Node. Tutorial ini membutuhkan Node v10.0 atau yang lebih baru. Jika versi Node tidak ditampilkan, coba unduh repositori Node lagi.

    4. Verifikasi instalasi npm.

      npm -v

      Konfirmasikan bahwa perintah menampilkan versi npm. Jika versi npm tidak ditampilkan, coba instal Node dan npm lagi.

    5. Mulai ulang perangkat.

      sudo shutdown -r 0

      Lanjutkan setelah perangkat restart.

  2. Instal SDK AWS IoT Perangkat untuk JavaScript

    Instal AWS IoT Device SDK untuk JavaScript Raspberry Pi Anda.

    1. Kloning AWS IoT Device SDK untuk JavaScript repositori ke aws-iot-device-sdk-js-v2 direktori direktori home Anda. Pada Raspberry Pi, direktori home adalah~/, yang digunakan sebagai direktori home dalam perintah berikut. Jika perangkat Anda menggunakan jalur yang berbeda untuk direktori home, Anda harus mengganti ~/ dengan jalur yang benar untuk perangkat Anda dalam perintah berikut.

      Perintah ini membuat ~/aws-iot-device-sdk-js-v2 direktori dan menyalin kode SDK ke dalamnya.

      cd ~ git clone https://github.com/aws/aws-iot-device-sdk-js-v2.git
    2. Ubah ke aws-iot-device-sdk-js-v2 direktori yang Anda buat pada langkah sebelumnya dan jalankan npm install untuk menginstal SDK. Perintah npm install akan memanggil build aws-crt perpustakaan yang dapat memakan waktu beberapa menit untuk menyelesaikannya.

      cd ~/aws-iot-device-sdk-js-v2 npm install

Instal dan jalankan aplikasi sampel

Di bagian ini, Anda akan menginstal dan menjalankan aplikasi pubsub sampel yang ditemukan di AWS IoT Device SDK. Aplikasi ini menunjukkan bagaimana perangkat Anda menggunakan pustaka MQTT untuk mempublikasikan dan berlangganan pesan MQTT. Aplikasi sampel berlangganan topiktopic_1, menerbitkan 10 pesan ke topik itu, dan menampilkan pesan saat diterima dari broker pesan.

Instal file sertifikat

Aplikasi sampel memerlukan file sertifikat yang mengautentikasi perangkat yang akan diinstal pada perangkat.

Untuk menginstal file sertifikat perangkat untuk aplikasi sampel
  1. Buat certs subdirektori di direktori home Anda dengan menjalankan perintah ini.

    cd ~ mkdir certs
  2. Ke ~/certs direktori, salin kunci pribadi, sertifikat perangkat, dan sertifikat CA root yang Anda buat sebelumnyaBuat AWS IoT sumber daya.

    Cara Anda menyalin file sertifikat ke perangkat tergantung pada perangkat dan sistem operasi dan tidak dijelaskan di sini. Namun, jika perangkat Anda mendukung antarmuka pengguna grafis (GUI) dan memiliki browser web, Anda dapat melakukan prosedur yang dijelaskan Buat AWS IoT sumber daya dari browser web perangkat Anda untuk mengunduh file yang dihasilkan langsung ke perangkat Anda.

    Perintah di bagian berikutnya mengasumsikan bahwa file kunci dan sertifikat Anda disimpan di perangkat seperti yang ditunjukkan dalam tabel ini.

    Nama berkas sertifikat

    File

    Jalur file

    Sertifikat Root CA

    ~/certs/Amazon-root-CA-1.pem

    Sertifikat perangkat

    ~/certs/device.pem.crt

    Kunci privat

    ~/certs/private.pem.key

Untuk menjalankan aplikasi sampel, Anda memerlukan informasi berikut:

Nilai parameter aplikasi

Parameter

Di mana menemukan nilainya

your-iot-endpoint

Di AWS IoT konsol, pilih Semua perangkat, lalu pilih Things.

Pada halaman Pengaturan di AWS IoT menu. Titik akhir Anda ditampilkan di bagian titik akhir data Perangkat.

your-iot-endpointNilai memiliki format:endpoint_id-ats.iot.region.amazonaws.com, misalnya,a3qj468EXAMPLE-ats.iot.us-west-2.amazonaws.com.

Python
Untuk menginstal dan menjalankan aplikasi sampel
  1. Arahkan ke direktori aplikasi contoh.

    cd ~/aws-iot-device-sdk-python-v2/samples
  2. Di jendela baris perintah, ganti your-iot-endpointseperti yang ditunjukkan dan jalankan perintah ini.

    python3 pubsub.py --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
  3. Perhatikan bahwa aplikasi sampel:

    1. Terhubung ke AWS IoT layanan untuk akun Anda.

    2. Berlangganan topik pesan, topic_1, dan menampilkan pesan yang diterimanya pada topik itu.

    3. Menerbitkan 10 pesan ke topik, topic_1.

    4. Menampilkan output yang mirip dengan berikut ini:

    Connecting to a3qEXAMPLEffp-ats.iot.us-west-2.amazonaws.com with client ID 'test-0c8ae2ff-cc87-49d2-a82a-ae7ba1d0ca5a'... Connected! Subscribing to topic 'topic_1'... Subscribed with QoS.AT_LEAST_ONCE Sending 10 message(s) Publishing message to topic 'topic_1': Hello World! [1] Received message from topic 'topic_1': b'Hello World! [1]' Publishing message to topic 'topic_1': Hello World! [2] Received message from topic 'topic_1': b'Hello World! [2]' Publishing message to topic 'topic_1': Hello World! [3] Received message from topic 'topic_1': b'Hello World! [3]' Publishing message to topic 'topic_1': Hello World! [4] Received message from topic 'topic_1': b'Hello World! [4]' Publishing message to topic 'topic_1': Hello World! [5] Received message from topic 'topic_1': b'Hello World! [5]' Publishing message to topic 'topic_1': Hello World! [6] Received message from topic 'topic_1': b'Hello World! [6]' Publishing message to topic 'topic_1': Hello World! [7] Received message from topic 'topic_1': b'Hello World! [7]' Publishing message to topic 'topic_1': Hello World! [8] Received message from topic 'topic_1': b'Hello World! [8]' Publishing message to topic 'topic_1': Hello World! [9] Received message from topic 'topic_1': b'Hello World! [9]' Publishing message to topic 'topic_1': Hello World! [10] Received message from topic 'topic_1': b'Hello World! [10]' 10 message(s) received. Disconnecting... Disconnected!

    Jika Anda mengalami masalah dalam menjalankan aplikasi sampel, tinjauMemecahkan masalah dengan aplikasi sampel.

    Anda juga dapat menambahkan --verbosity Debug parameter ke baris perintah sehingga aplikasi sampel menampilkan pesan terperinci tentang apa yang dilakukannya. Informasi itu mungkin memberi Anda bantuan yang Anda butuhkan untuk memperbaiki masalah.

JavaScript
Untuk menginstal dan menjalankan aplikasi sampel
  1. Di jendela baris perintah Anda, navigasikan ke ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub direktori yang dibuat SDK dan instal aplikasi sampel dengan menggunakan perintah ini. Perintah npm install akan memanggil build aws-crt perpustakaan yang dapat memakan waktu beberapa menit untuk menyelesaikannya.

    cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub npm install
  2. Di jendela baris perintah, ganti your-iot-endpointseperti yang ditunjukkan dan jalankan perintah ini.

    node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
  3. Perhatikan bahwa aplikasi sampel:

    1. Terhubung ke AWS IoT layanan untuk akun Anda.

    2. Berlangganan topik pesan, topic_1, dan menampilkan pesan yang diterimanya pada topik itu.

    3. Menerbitkan 10 pesan ke topik, topic_1.

    4. Menampilkan output yang mirip dengan berikut ini:

    Publish received on topic topic_1 {"message":"Hello world!","sequence":1} Publish received on topic topic_1 {"message":"Hello world!","sequence":2} Publish received on topic topic_1 {"message":"Hello world!","sequence":3} Publish received on topic topic_1 {"message":"Hello world!","sequence":4} Publish received on topic topic_1 {"message":"Hello world!","sequence":5} Publish received on topic topic_1 {"message":"Hello world!","sequence":6} Publish received on topic topic_1 {"message":"Hello world!","sequence":7} Publish received on topic topic_1 {"message":"Hello world!","sequence":8} Publish received on topic topic_1 {"message":"Hello world!","sequence":9} Publish received on topic topic_1 {"message":"Hello world!","sequence":10}

    Jika Anda mengalami masalah dalam menjalankan aplikasi sampel, tinjauMemecahkan masalah dengan aplikasi sampel.

    Anda juga dapat menambahkan --verbosity Debug parameter ke baris perintah sehingga aplikasi sampel menampilkan pesan terperinci tentang apa yang dilakukannya. Informasi itu mungkin memberi Anda bantuan yang Anda butuhkan untuk memperbaiki masalah.

Melihat pesan dari aplikasi sampel di AWS IoT konsol

Anda dapat melihat pesan aplikasi sampel saat mereka melewati broker pesan dengan menggunakan klien pengujian MQTT di konsol.AWS IoT

Untuk melihat pesan MQTT yang diterbitkan oleh aplikasi sampel
  1. UlasanLihat pesan MQTT dengan klien MQTT AWS IoT. Ini membantu Anda mempelajari cara menggunakan klien pengujian MQTT di AWS IoT konsol untuk melihat pesan MQTT saat mereka melewati broker pesan.

  2. Buka klien pengujian MQTT di konsol.AWS IoT

  3. Berlangganan topik, topic_1.

  4. Di jendela baris perintah Anda, jalankan aplikasi sampel lagi dan tonton pesan di klien MQTT di konsol.AWS IoT

    Python
    cd ~/aws-iot-device-sdk-python-v2/samples python3 pubsub.py --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
    JavaScript
    cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint