Menyebarkan Hub SDK dengan systemd - Integrasi terkelola untuk AWS IoT Device Management

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

Menyebarkan Hub SDK dengan systemd

penting

Ikuti readme.md di hubSystemdSetup direktori file.tgz rilis.tgz untuk pembaruan terbaru.

Bagian ini menjelaskan skrip dan proses untuk menerapkan dan mengonfigurasi layanan pada perangkat hub berbasis Linux.

Gambaran Umum

Proses penyebaran terdiri dari dua skrip utama:

  • copy_to_hub.sh: Berjalan pada mesin host untuk menyalin file yang diperlukan ke hub

  • setup_hub.sh: Berjalan di hub untuk mengonfigurasi lingkungan dan menyebarkan layanan

Selain itu, systemd/deploy_iotshd_services_on_hub.sh menangani urutan bootstrap proses dan manajemen izin proses, dan secara otomatis dipicu olehsetup_hub.sh.

Prasyarat

Prasyarat yang terdaftar diperlukan untuk penerapan yang berhasil.

  • layanan systemd tersedia di hub

  • Akses SSH ke perangkat hub

  • Hak istimewa Sudo pada perangkat hub

  • scputilitas diinstal pada mesin host

  • sedutilitas diinstal pada mesin host

  • unzip utilitas diinstal pada mesin host

Struktur file

Struktur file dirancang untuk memfasilitasi organisasi dan manajemen berbagai komponennya, memungkinkan akses dan navigasi konten yang efisien.

hubSystemdSetup/ ├── README.md ├── copy_to_hub.sh ├── setup_hub.sh ├── iotshd_config.json # Sample configuration file ├── local_certs/ # Directory for DHA certificates └── systemd/ ├── *.service.template # Systemd service templates └── deploy_iotshd_services_on_hub.sh

Dalam file tgz rilis SDK, struktur file keseluruhan adalah:

IoT-managed-integrations-Hub-SDK-aarch64-v1.0.0.tgz ├──package/ ├──greengrass/ ├──artifacts/ ├──recipes/ ├──hubSystemdSetup/ ├── REAME.md ├── copy_to_hub.sh ├── setup_hub.sh ├── iotshd_config.json # Sample configuration file ├── local_certs/ # Directory for DHA certificates └── systemd/ ├── *.service.template # Systemd service templates └── deploy_iotshd_services_on_hub.sh

Pengaturan awal

Ekstrak paket SDK

tar -xzf managed-integrations-Hub-SDK-vVersion-linux-aarch64-timestamp.tgz

Arahkan ke direktori yang diekstrak dan siapkan paketnya:

# Create package.zip containing required artifacts
zip -r package.zip package/greengrass/artifacts
# Move package.zip to the hubSystemdSetup directory
mv package.zip ../hubSystemdSetup/

Tambahkan file konfigurasi perangkat

Ikuti dua langkah yang tercantum untuk membuat file konfigurasi perangkat, dan salin ke hub.

  1. Tambahkan file konfigurasi perangkat untuk membuat file konfigurasi perangkat yang diperlukan. SDK menggunakan file ini untuk fungsinya.

  2. Salin file konfigurasi untuk menyalin file konfigurasi yang dibuat ke hub.

Salin file ke hub

Jalankan skrip penerapan dari mesin host Anda:

chmod +x copy_to_hub.sh
./copy_to_hub.sh hub_ip_address package_file
contoh Contoh
./copy_to_hub.sh 192.168.50.223 ~/Downloads/EAR3-package.zip

Salinan ini:

  • File paket (berganti nama menjadi package.zip di hub)

  • File konfigurasi

  • Sertifikat

  • File layanan Systemd

Siapkan hub

Setelah file disalin, SSH ke hub dan jalankan skrip pengaturan:

ssh hub@hub_ip
chmod +x setup_hub.sh
sudo ./setup_hub.sh

Konfigurasi pengguna dan grup

Secara default, kami menggunakan hub pengguna dan hub grup untuk komponen SDK. Ada beberapa cara untuk mengkonfigurasinya:

  • Gunakan pengguna/grup khusus:

    sudo ./setup_hub.sh --user=USERNAME --group=GROUPNAME
  • Buat secara manual sebelum menjalankan skrip pengaturan:

    sudo groupadd -f GROUPNAME
    sudo useradd -r -g GROUPNAME USERNAME
  • Tambahkan perintah disetup_hub.sh.

Kelola layanan

Untuk memulai ulang semua layanan, jalankan skrip berikut dari hub:

sudo /usr/local/bin/deploy_iotshd_services_on_hub.sh

Skrip pengaturan akan membuat direktori yang diperlukan, mengatur izin yang sesuai, dan menyebarkan layanan secara otomatis. Jika Anda tidak menggunakan SSH/SCP, Anda harus memodifikasi copy_to_hub.sh untuk metode penerapan spesifik Anda. Pastikan semua file sertifikat dan konfigurasi diatur dengan benar sebelum penerapan.