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 Anda untuk AWS IoT, Anda dapat mencoba salah satu opsi perangkat lain sebagai alternatif, seperti Buat perangkat virtual dengan Amazon EC2 atauGunakan PC Windows atau Linux Anda atau Mac sebagai AWS IoT pesawat.

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:

  • Sesi 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 SSH terminal.

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 perpustakaan yang diperlukan untuk AWS IoT Perangkat SDK

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

  1. Perbarui sistem operasi dan instal perpustakaan yang diperlukan

    Sebelum Anda menginstal AWS IoT PerangkatSDK, jalankan perintah ini di jendela terminal pada perangkat Anda untuk memperbarui sistem operasi dan menginstal perpustakaan 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 Perangkat SDK untuk 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 Perangkat SDK untuk JavaScript.

Menginstal AWS IoT Perangkat SDK

Instal AWS IoT PerangkatSDK.

Python

Di bagian ini, Anda akan menginstal Python, alat pengembangannya, dan AWS IoT Perangkat 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

    Bagian AWS IoT Perangkat SDK untuk Python membutuhkan 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 saat ini AWS IoT Perangkat SDK untuk Python

    Instal AWS IoT Perangkat 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 Perangkat 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 Node.js

    Bagian 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 AWS IoT Perangkat SDK untuk JavaScript

    Instal AWS IoT Perangkat SDK untuk JavaScript Raspberry Pi Anda.

    1. Kloning AWS IoT Perangkat SDK untuk JavaScript repositori ke aws-iot-device-sdk-js-v2 direktori home direktori. Di Raspberry Pi, home direktori adalah~/, yang digunakan sebagai home direktori dalam perintah berikut. Jika perangkat Anda menggunakan jalur yang berbeda untuk home direktori, 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 SDK kode 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 PerangkatSDK. Aplikasi ini menunjukkan bagaimana perangkat Anda menggunakan MQTT perpustakaan untuk mempublikasikan dan berlangganan MQTT pesan. 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 home direktori 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.

Bagian your-iot-endpoint nilai 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-endpoint seperti 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 SDK dibuat 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-endpoint seperti 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 contoh di AWS IoT konsol

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

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

  2. Buka klien MQTT uji di AWS IoT konsol.

  3. Berlangganan topik, topic_1.

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

    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